Boa tarde,
Estou necessitando fazer a programação de um Arduíno para controlar 2 semáforos. Pórem o semaforo possui condicionais relacionador a botões, ex: se 2 botões do semaforo 1 estiverem acionados, libera verde para semaforo 1, se os dois botões do semaforo 2 estiverem apertados aciona o semaforo 2. Se todos os 4 botões estiverem acionados ou então o mesmo numero de botões acionados ou nenhum acionado. A sinaleira 1 fica como preferencial. Alguem pode me ajudar?
Código :
void setup() {
//definindo os pinos digitais 2,3,4 5, 6, 7, 8, 9 ,10 e 11
//como pinos de saída.
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}
//o método loop é executado repetidamente enquanto o
//arduino estiver ligado.
void loop() {
if (digitalRead(2) == HIGH) {&& (digitalRead(3) == LOW);
digitalWrite(5,LOW); //apaga o led vermelho (sinal 1)
digitalWrite(7,HIGH); //acende o led verde (sinal 1)
digitalWrite(8,HIGH); //acende o led vermelho (sinal 2)
} else { (digitalRead(2) == LOW) {&& (digitalRead(3) == HIGH);
digitalWrite(7,LOW); //apaga o led verde (sinal 1)
digitalWrite(6,HIGH); //acende o led amarelo (sinal 1)
delay(2000); //espera 2 segundos
digitalWrite(6,LOW); //apaga o led amarelo (sinal 1)
digitalWrite(5,HIGH); //acende o led vermelho (sinal 1)
digitalWrite(8,LOW); //apaga o led vermelho (sinal 2)
digitalWrite(10,HIGH); //acende o led verde (sinal 2)
} else { (digitalRead(2) == LOW) {&& (digitalRead(3) == LOW);
digitalWrite(5,LOW); //apaga o led vermelho (sinal 1)
digitalWrite(7,HIGH); //acende o led verde (sinal 1)
digitalWrite(8,HIGH); //acende o led vermelho (sinal 2)
} else { (digitalRead(4) == HIGH) {&& (digitalRead(11) == LOW);
digitalWrite(5,LOW); //apaga o led vermelho (sinal 1)
digitalWrite(7,HIGH); //acende o led verde (sinal 1)
digitalWrite(8,HIGH); //acende o led vermelho (sinal 2)
} else { (digitalRead(11) == HIGH) {&& (digitalRead(4) == LOW);
}digitalWrite(7,LOW); //apaga o led verde (sinal 1)
digitalWrite(6,HIGH); //acende o led amarelo (sinal 1)
delay(2000); //espera 2 segundos
digitalWrite(6,LOW); //apaga o led amarelo (sinal 1)
digitalWrite(5,HIGH); //acende o led vermelho (sinal 1)
digitalWrite(8,LOW); //apaga o led vermelho (sinal 2)
digitalWrite(10,HIGH); //acende o led verde (sinal 2)
} else { (digitalRead(11) == LOW) {&& (digitalRead(4) == LOW);
digitalWrite(5,LOW); //apaga o led vermelho (sinal 1)
digitalWrite(7,HIGH); //acende o led verde (sinal 1)
digitalWrite(8,HIGH); //acende o led vermelho (sinal 2)