Arduino:
Projeto Semáforo com Botão
Projeto Semáforo com Botão
Para fazer o projeto Semáforo com Botão mostrado no vídeo, você precisará ter:
- 1 Arduino UNO ou Duemilanove (2009);
- 1 Protoboard;
- 2 LEDs vermelhos;
- 2 LEDs verdes;
- 1 LED amarelos;
- 1 Botão;
- Fios para protoboards.
Você colocará os LEDs na protoboard e ligará os LEDs no Arduino dessa forma:
LED vermelho do transito na porta 2 (digital) do Arduino;
LED verde do transito na porta 3 (digital) do Arduino;
LED amarelo do transito da na porta 4 (digital) do Arduino;
LED vermelho do pedestre da na porta 5 (digital) do Arduino;
LED verde do pedestre da na porta 6 (digital) do Arduino;
Uma das pontas do botão na porta 7 (digital) do Arduino e a outra ponta do botão no GND do Arduino;
Não esquecendo de ligar os Catodos dos LEDs (negativo do LED; menor terminal do LED) no GND do Arduino.
O código é:
int vermtran =2;
int verdtran =3;
int amartran =4;
int vermped =5;
int verdped =6;
int botao=7;
void setup(){
pinMode(vermtran,OUTPUT);
pinMode(verdtran,OUTPUT);
pinMode(amartran,OUTPUT);
pinMode(vermped,OUTPUT);
pinMode(verdped,OUTPUT);
pinMode(botao,INPUT);
digitalWrite(botao,1);}
void loop(){
/* Se o botão não for pressionado, ele fecha
para o pedestre e abre para o transito.*/
int leitura=digitalRead(botao);
if(leitura==1){
digitalWrite(vermtran,0);
digitalWrite(verdtran,1);
digitalWrite(amartran,0);
digitalWrite(vermped,1);
digitalWrite(verdped,0);}
/* Se o botão for pressionado, ele deixa aberto
para o transito e fechado para o pedestre durante
5 segundos (o tempo, você que decide), depois, acende
o amarelo, depois, fecha para o transito e abre para o
pedestre, depois ele liga a mãozinha e depois, volta ao
estágio inicial.*/
else{
digitalWrite(vermtran,0);
digitalWrite(verdtran,1);
digitalWrite(amartran,0);
digitalWrite(vermped,1);
digitalWrite(verdped,0);
delay(5000);
digitalWrite(vermtran,0);
digitalWrite(verdtran,0);
digitalWrite(amartran,1);
digitalWrite(vermped,1);
digitalWrite(verdped,0);
delay(3000);
digitalWrite(vermtran,1);
digitalWrite(verdtran,0);
digitalWrite(amartran,0);
digitalWrite(vermped,0);
digitalWrite(verdped,1);
delay(8000);
digitalWrite(vermtran,1);
digitalWrite(verdtran,0);
digitalWrite(amartran,0);
digitalWrite(verdped,0);
digitalWrite(vermped,1);
delay(1000);
digitalWrite(vermped,0);
delay(1000);
digitalWrite(vermped,1);
delay(1000);
digitalWrite(vermped,0);
delay(1000);
digitalWrite(vermped,1);
delay(1000);
digitalWrite(vermped,0);
delay(1000);
digitalWrite(vermped,1);
delay(1000);
digitalWrite(vermped,0);
delay(1000);}}
Não se assustem com o tamanho do código!
OBS.: Vocês podem mudar o tempo dos semáforos mudando os “delay’’ .
Boa sorte!
Não deixem de visitar o blog do Renato Aloi, lá você aprenderá mexer no Arduino, e terá as explicações de cada função e cada detalhe dos códigos.
O blog é: renatoaloi.blogspot.com/
Qualquer dúvida, me passe um e-mail, meus e-mails são:
robertoerayllonn@hotmail.com
rayllonn_9@hotmail.com
robertoflamengao@hotmail.com
Um Abraço!
Ass.: Rayllonn Nagime.
- 1 Arduino UNO ou Duemilanove (2009);
- 1 Protoboard;
- 2 LEDs vermelhos;
- 2 LEDs verdes;
- 1 LED amarelos;
- 1 Botão;
- Fios para protoboards.
Você colocará os LEDs na protoboard e ligará os LEDs no Arduino dessa forma:
LED vermelho do transito na porta 2 (digital) do Arduino;
LED verde do transito na porta 3 (digital) do Arduino;
LED amarelo do transito da na porta 4 (digital) do Arduino;
LED vermelho do pedestre da na porta 5 (digital) do Arduino;
LED verde do pedestre da na porta 6 (digital) do Arduino;
Uma das pontas do botão na porta 7 (digital) do Arduino e a outra ponta do botão no GND do Arduino;
Não esquecendo de ligar os Catodos dos LEDs (negativo do LED; menor terminal do LED) no GND do Arduino.
O código é:
int vermtran =2;
int verdtran =3;
int amartran =4;
int vermped =5;
int verdped =6;
int botao=7;
void setup(){
pinMode(vermtran,OUTPUT);
pinMode(verdtran,OUTPUT);
pinMode(amartran,OUTPUT);
pinMode(vermped,OUTPUT);
pinMode(verdped,OUTPUT);
pinMode(botao,INPUT);
digitalWrite(botao,1);}
void loop(){
/* Se o botão não for pressionado, ele fecha
para o pedestre e abre para o transito.*/
int leitura=digitalRead(botao);
if(leitura==1){
digitalWrite(vermtran,0);
digitalWrite(verdtran,1);
digitalWrite(amartran,0);
digitalWrite(vermped,1);
digitalWrite(verdped,0);}
/* Se o botão for pressionado, ele deixa aberto
para o transito e fechado para o pedestre durante
5 segundos (o tempo, você que decide), depois, acende
o amarelo, depois, fecha para o transito e abre para o
pedestre, depois ele liga a mãozinha e depois, volta ao
estágio inicial.*/
else{
digitalWrite(vermtran,0);
digitalWrite(verdtran,1);
digitalWrite(amartran,0);
digitalWrite(vermped,1);
digitalWrite(verdped,0);
delay(5000);
digitalWrite(vermtran,0);
digitalWrite(verdtran,0);
digitalWrite(amartran,1);
digitalWrite(vermped,1);
digitalWrite(verdped,0);
delay(3000);
digitalWrite(vermtran,1);
digitalWrite(verdtran,0);
digitalWrite(amartran,0);
digitalWrite(vermped,0);
digitalWrite(verdped,1);
delay(8000);
digitalWrite(vermtran,1);
digitalWrite(verdtran,0);
digitalWrite(amartran,0);
digitalWrite(verdped,0);
digitalWrite(vermped,1);
delay(1000);
digitalWrite(vermped,0);
delay(1000);
digitalWrite(vermped,1);
delay(1000);
digitalWrite(vermped,0);
delay(1000);
digitalWrite(vermped,1);
delay(1000);
digitalWrite(vermped,0);
delay(1000);
digitalWrite(vermped,1);
delay(1000);
digitalWrite(vermped,0);
delay(1000);}}
Não se assustem com o tamanho do código!
OBS.: Vocês podem mudar o tempo dos semáforos mudando os “delay’’ .
Boa sorte!
Não deixem de visitar o blog do Renato Aloi, lá você aprenderá mexer no Arduino, e terá as explicações de cada função e cada detalhe dos códigos.
O blog é: renatoaloi.blogspot.com/
Qualquer dúvida, me passe um e-mail, meus e-mails são:
robertoerayllonn@hotmail.com
rayllonn_9@hotmail.com
robertoflamengao@hotmail.com
Um Abraço!
Ass.: Rayllonn Nagime.
Nenhum comentário:
Postar um comentário