// SEMAFORO 1
int verde=0, amarelo=1, vermelho=2;
// BOTAO 1
int botao1=3;
// PASSAGEM 1
int led_verde=5, led_vermelho=6;
// ------------------------
// SEMAFORO 2
int verde2=11, amarelo2=13, vermelho2=12;
// BOTAO 2
int botao2=4;
// PASSAGEM 2
int led_verde2=7, led_vermelho2=8;
int liga=0;
void setup() {
// SEMAFORO 1
pinMode(verde, OUTPUT);
pinMode(amarelo, OUTPUT);
pinMode(vermelho, OUTPUT);
// SEMAFORO 2
pinMode(verde2, OUTPUT);
pinMode(amarelo2, OUTPUT);
pinMode(vermelho2, OUTPUT);
// BOTÃO PASSAGEM
pinMode(botao1, INPUT_PULLUP);
pinMode(botao2, INPUT_PULLUP);
pinMode(led_verde, OUTPUT);
pinMode(led_verde2, OUTPUT);
pinMode(led_vermelho, OUTPUT);
pinMode(led_vermelho2, OUTPUT);
}
void loop() {
if(digitalRead(botao1) == LOW && liga==0) {
// se o botão pressionado e led desligado
liga=1; // liga
digitalWrite(led_verde, HIGH);
delay(500);
}
else
if(digitalRead(botao1)== LOW && liga==1) {
// se o botão pressionado e led ligado
liga=0; // desliga
digitalWrite(led_verde, LOW);
delay(500);
}
}
void loop() {
digitalWrite(verde, HIGH); // LIGA
digitalWrite(vermelho2, HIGH); // LIGA
delay(3000);
digitalWrite(verde, LOW); // DESLIGA
delay(1000);
digitalWrite(amarelo, HIGH); // LIGA
delay(3000);
digitalWrite(vermelho2, LOW); // DESLIGA
digitalWrite(verde2, HIGH); // LIGA
digitalWrite(vermelho, HIGH); // LIGA
digitalWrite(amarelo, LOW); // DESLIGA
delay(3000);
digitalWrite(verde2, LOW); // DESLIGA
delay(1000);
digitalWrite(amarelo2, HIGH); // LIGA
delay(3000);
digitalWrite(vermelho, LOW); // DESLIGA
digitalWrite(amarelo2, LOW); // DESLIGA
delay(1000);
}