Sie sind auf Seite 1von 4

Experimento: Semáforo de Pedestre

Objetivo
Simular o funcionamento de um semáforo, utilizando LED’s e um botão para
ativar o semáforo de pedestres.

Material utilizado
1 - Arduino Uno R3

2 - Cabo USB

3 - Protoboard

4 – Resistores de 330Ω (5 uni.)

5 – Chave Táctil (1 uni.)

6 – LED’ s Vermelho (2 uni.), Verde (2 uni.) e Amarelo (1 uni.)

7 - Alguns jumpers

Ligações
1 – Ligar porta digital 2 do arduino no resistor 330 homs que, por sua vez, será
ligado à perna positiva do LED verde para carros;

2 – Ligar porta digital 3 do arduino no resistor 330 homs que, por sua vez, será
ligado à perna positiva do LED amarelo para carros;

3 – Ligar porta digital 4 do arduino no resistor 330 homs que, por sua vez, será
ligado à perna positiva do LED vermelho para carros;

4 – Ligar porta digital 11 do arduino no resistor 330 homs que, por sua vez,
será ligado à perna positiva do LED verde para pedestre;

5 – Ligar porta digital 12 do arduino no resistor 330 homs que, por sua vez,
será ligado à perna positiva do LED vermelho para pedestre;

6 – Ligar porta digital 8 do arduino à uma das pernas do botão;

7 – Ligar o GND do arduino ligado ao barramento negativo da protoboard;

8 – Ligar a outra perna do botão e dos LED’s ao barramento negativo da


protoboard;
Montagem

Código
#define carroVERDE 2 //Define carroVERDE como 2

#define carroAMARELO 3 //Define carroAMARELO como 3

#define carroVERMELHO 4 //Define carroVERMELHO como 4

#define pedestreVERDE 11 //Define pedestreVERDE como 11

#define pedestreVERMELHO 12 //Define pedestreVERMELHO como 12

#define botao 8 //Define botao como 8

void setup()

//Configura os pinos como saída


pinMode(carroVERDE, OUTPUT); //Configura pino 2 como saída

pinMode(carroAMARELO, OUTPUT); //Configura pino 3 como saída

pinMode(carroVERMELHO, OUTPUT); //Configura pino 4 como saída

pinMode(pedestreVERDE, OUTPUT); //Configura pino 10 como saída

pinMode(pedestreVERMELHO, OUTPUT); //Configura pino 12 como

//INPUT_PULLUP = inverte o estado da porta


pinMode(botao, INPUT_PULLUP); //Configura o pino 8 como entrada
//Desliga todos os LEDs do sistema
digitalWrite(carroVERDE, LOW); //Desliga o LED Verde dos carro

digitalWrite(carroAMARELO, LOW); //Desliga o LED Amarelo dos carro

digitalWrite(carroVERMELHO, LOW); //Desliga o LED Vermelho dos carro

digitalWrite(pedestreVERDE, LOW); //Desliga o LED Verde dos pedestre

digitalWrite(pedestreVERMELHO, LOW); //Desliga o LED Verde dos carro

void loop()

//Enquanto o botao do pedestre não for pressionado


while((digitalRead(botao)))

//Liga o LED Verde do carro


digitalWrite(carroVERDE, HIGH);

//Liga o LED Vermelho do pedestre


digitalWrite(pedestreVERMELHO, HIGH);

digitalWrite(carroVERDE, LOW); //Apaga o LED Verde do carro

digitalWrite(carroAMARELO,HIGH); //Liga o LED Amarelo do carro

delay(3000); //Aguarda 3 segundos

digitalWrite(carroAMARELO, LOW); //Apaga o LED Amarelo do carro

digitalWrite(carroVERMELHO,HIGH); //Liga o LED Vermelho do carro

delay(1000); //Aguarda 1 segundo

digitalWrite(pedestreVERMELHO, LOW); //Apaga o LED Vermelho do Pedestre

digitalWrite(pedestreVERDE,HIGH); //Liga o LED Verde do pedestre

delay(10000); //Aguarda 10 segundos

digitalWrite(pedestreVERDE,LOW); //Apaga LED Verde do pedestre

//Pisca LED Vermelho do pedestre


for(int i=0 ; i<5 ; i++) //Repete 5 vezes

//Inverte estado do LED Vermelho do pedestre


digitalWrite(pedestreVERMELHO, !(digitalRead(pedestreVERMELHO)));

delay(500); //Aguarda 500 milissegundos

}
delay(1000); //Aguarda 1 segundo

digitalWrite(pedestreVERDE,LOW); //Apaga LED Verde do pedestre

digitalWrite(carroVERMELHO,LOW); //Apaga LED Vermelho do pedestre