quarta-feira, 14 de dezembro de 2011

Arduino: Semáforo com Botão

Arduino:
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.

Nenhum comentário:

Postar um comentário