int Vv = 13; //Verde Vehiculo (Vv)
int Av = 12; //Amarillo Vehiculo (Av)
int Rv = 11; //Rojo Vehiculo (Rv)
int Vp = 10; //Verde Peaton (Vp)
int Rp = 9; //Rojo Peaton (Vp)
void setup(){
pinMode(Vv, OUTPUT);
pinMode(Av, OUTPUT);
pinMode(Rv, OUTPUT);
pinMode(Vp, OUTPUT);
pinMode(Rp, OUTPUT);
pinMode(8, INPUT);
}
void loop()
{
if(digitalRead(8)==LOW){
digitalWrite(Vv, HIGH); //esta prendido el verde de los carros
digitalWrite(Rp, HIGH); //esta prendido el rojo de los peatones
}
else if(digitalRead(8)==HIGH){
delay(2000); //espera de 2 segundos
digitalWrite(Vv, LOW); //Verde vehiculos se apaga
digitalWrite(Av, HIGH); //Amarillo vehiculos se prende
delay(2000); //espera de 2 segundos
digitalWrite(Av, LOW); //Amarillo vehiculos se apaga
digitalWrite(Rv, HIGH); //Rojo vehiculos se prende
delay(2000); //espera de 2 segundos
digitalWrite(Rp, LOW); //Rojo peatones se apaga
digitalWrite(Vp, HIGH); //Verde peatones se prende
delay(4000); //espera de 4 segundos
int Time = 0; //Tiempo de intermitencia
while(Time < 3000){ //mientras el tiempo es menor a 3 segundos
digitalWrite(Vp, LOW); //Verde peaton se apaga
delay(300); //espera de 0.3 segundos
digitalWrite(Vp, HIGH); //Verde peaton se prende
delay(300); //espera de 0.3 segundos
Time = Time + 600; // agrega 0.6 segundos al tiempo
}
digitalWrite(Vp, LOW); //Verde peatones se apaga
digitalWrite(Rp, HIGH); //Rojo peatones se prende
delay(1000); //espera de 1 segundo
digitalWrite(Av, HIGH); //Amarillo vehiculo se prende
delay(1500); //espera de 1,5 segundos
digitalWrite(Av, LOW); //Amarillo vehiculo se apaga
digitalWrite(Rv, LOW); //Rojo vehiculo se apaga
digitalWrite(Vv, HIGH); //Verde vehiculo se prende
}
}