jueves, 23 de noviembre de 2017

Ayudaaaaa

Me han encargado un proyecto. Debo de conseguir coordinar dos semáforos para controlar el tráfico en las obras de carretera. Es lo típico, mientras unos pasan, otros se esperan, y viceversa.
El caso es que soy tan torpe, que no consigo que me funcione el programa, así que he pensado, que me podríais ayudar, puesto que me han comentado que estáis aprendiendo a programar.
¿Alguien lo puede hacer funcionar?


/********************************************************************************************************************
 *        SEMÁFOROS EN LAS OBRAS
 *******************************************************************************************************************/

# define S1_ROJO 4;       // Luz Roja del semáforo 1
# define S1_NARANJA 5;    // Luz Naranja del semáforo 1
# define S1_VERDE 6;      // Luz Verde del semáforo 1
# define S2_ROJO 7;       // Luz Roja del semáforo 2
# define S2_NARANJA 8;    // Luz Naranja del semáforo 2
# define S2_VERDE 9;      // Luz Verde del semáforo 2
# define Tiempo 5000;     // Tiempo que pasan los coches en los dos sentidos
# define PAUSA_NARANGA 2000;   

void setup() {
  for (int i = 4; i < 7; i+){
  pinMode(i, OUTPUT);  // Inicializamos los pines como salidas
    }
  for (bool i = 4; i < 7; i+){
  digitalWrite(i, LOW);  // Empezamos el programa con todas las luces apagadas
   
    inicio();
}

void loop() {
delay (TIEMPO);
cambio1()
delay (TIEMPO);
cambio2()
}

void cambio1() {
  digitalWrite (S1_ROJO, LOW);
  digitalWrite (S1_VERDE, HIGH);
  digitalWrite (S2_VERDE, LOW);
  digitalWrite (S2_NARANJA, HIGH);
  delayMicroseconds (PAUSA_NARANJA);
  digitalWrite (S2_NARANJA, LOW);
  digitalWrite (S2_ROJO, HIGH);
}

void cambio2() {
  digitalWrite (S2_ROJO, LOW);
  digitalWrite (S2_VERDE, HIGH);
  digitalWrite (S1_VERDE, LOW);
  digitalWrite (S1_NARANJA, HIGH);
  delayMicroseconds (PAUSA_NARANJA);
  digitalWrite (S1_NARANJA, LOW);
  digitalWrite (S1_ROJO, HIGH);
}



inicio() {
  digitalWrite (S1_ROJO, HIGH);
  digitalWrite (S3_VERDE, HIGH);
}
}


Parece que alguien lo ha solucionado, pero me han llamado para decirme que están chocando continuamente. Ayudaaaaaaaa, no quiero siniestros en mi currículum.

No hay comentarios:

Publicar un comentario