Arduino com um semáforo carro e pedestre (5 LEDs) e um botão do pedestre
Aparência
Sistemas e Aplicações Digitais (Lógica e Programação) Robótica
Montar 5 LEDs em um protoboard, cada um com o seu próprio resistor. Colocar um botão para simular o botão do pedestre. Colocar cada LED sendo comandado por uma porta do Arduino. Piscar cada LED usando uma porta do Arduino. Um botão precisa ser acionado e enviar para uma porta do Arduino um sinal com o comando digitalRead.
Veja a montagem na figura do Protoboard com 1 LED e 1 botao. Lembre-se que precisa colocar um resistor para cada LED, senão queima.
Código fonte do Semaforo Completo para o Arduino na lnguagem C++
void setup() {
// Luzes do Semaforo ligadas aos pinos 13, 12, 11
pinMode(13, OUTPUT); // Vermelho
pinMode(12, OUTPUT); // Amarelo
pinMode(11, OUTPUT); // Verde
// Luzes do Semaforo do Pedestre ligadas aos pinos 10, 9
pinMode(10, OUTPUT); // Vermelho do Pedestre
pinMode( 9, OUTPUT); // Verde do Pedestre
// Botao do Pedestre
pinMode( 3, INPUT); // Botão do Pedestre para acionar a travessia
}
void loop() {
// Verde para os automoveis
digitalWrite(13, 0); // Verm
digitalWrite(12, 0); // Amar
digitalWrite(11, 1); // Verd
digitalWrite(10, 1); // Vermelho para o Pedestre
digitalWrite( 9, 0); // Verde do Pedestre apagado
// Verificar se apertou o botao
if ( digitalRead(3) == 1 )
{
// Amarelo para os automoveis
digitalWrite(13, 0);
digitalWrite(12, 1);
digitalWrite(11, 0);
delay(1000);
// Vermelho para os automoveis
digitalWrite(13, 1);
digitalWrite(12, 0);
digitalWrite(11, 0);
// Verde para os pedestres
digitalWrite(10, 0);
digitalWrite( 9, 1);
delay(150000); // Aguardar o Pedestre atravessar
// Piscar o Vermelho do Pedestre 10 vezes
digitalWrite( 9, 0);
for (int i=1; i<=10; i++ )
{
// Piscando Vermelho para o pedestre
digitalWrite(10, 1);
delay(100);
digitalWrite(10, 0);
delay(100);
}
}
}
O mesmo código fonte pode ser alterado, pois não precisa apagar o que já estava apagado ou acender o que já estava aceso.