quinta-feira, 15 de dezembro de 2011

Arduino: Projeto Traseira de Carro

Arduino:
Projeto Traseira de Carro



Para fazer o projeto Traseira de Carro mostrado no vídeo, você precisará ter:
- 1 Arduino UNO ou Duemilanove (2009);
- 1 Protoboard;
- 4 LEDs vermelhos;
- 2 LEDs amarelos;
- 1 LED branco (auto-brilho);
- 6 Botões;
- Fios para protoboards.

Você colocará os LEDs  e os botões na protoboard e ligará os mesmos no Arduino dessa forma:
Um dos terminais do Botão do LED amarelo (seta para direita) liga na porta 2 (digital) do Arduino e o outro terminal liga no GND do Arduino;
LED amarelo (seta para direita) liga na porta 3 (digital) do Arduino;
Um dos terminais do Botão do LED amarelo (seta para esquerda) liga na porta 4 (digital) do Arduino e o outro terminal liga no GND do Arduino;
LED amarelo (seta para esquerda) liga na porta 5 (digital) do Arduino;
Um dos terminais do Botão dos 2 LEDs vermelhos (lanterna) liga na porta 6 (digital) do Arduino e o outro terminal liga no GND do Arduino;
2 LEDs vermelhos (lanterna) ligados em paralelo na porta 7 (digital) do Arduino;
Um dos terminais do Botão dos 2 LEDs vermelhos (freio) liga na porta 8 (digital) do Arduino e o outro terminal liga no GND do Arduino;
2 LEDs vermelhos (freio) ligados em paralelo na porta 9 (digital) do Arduino;
Um dos terminais do Botão do LED branco (ré) liga na porta 10 (digital) do Arduino e o outro terminal liga no GND do Arduino;
LED branco (ré) ligado na porta 11 (digital) do Arduino;
Um dos terminais do Botão do alerta liga na porta 12 (digital) do Arduino e o outro terminal liga 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 SETADL=0;
int SETAEL=0;
int LANTL=0;
int REL=0;
int setadb=2;
int setadl=3;
int setaeb=4;
int setael=5;
int lantb=6;
int lantl=7;
int freiob=8;
int freiol=9;
int reb=10;
int rel=11;
int alertb=12;

void setup(){
  pinMode(setadb,INPUT);
  pinMode(setadl,OUTPUT);
  pinMode(setaeb,INPUT);
  pinMode(setael,OUTPUT);
  pinMode(lantb,INPUT);
  pinMode(lantl,OUTPUT);
  pinMode(freiob,INPUT);
  pinMode(freiol,OUTPUT);
  pinMode(reb,INPUT);
  pinMode(rel,OUTPUT);
  pinMode(alertb,INPUT);
  digitalWrite(setadb,1);
  digitalWrite(setaeb,1);
  digitalWrite(lantb,1);
  digitalWrite(freiob,1);
  digitalWrite(reb,1);
  digitalWrite(alertb,1);}
 
  void loop(){
    int leitsetadb=digitalRead(setadb);
    int leitsetaeb=digitalRead(setaeb);
    int leitlantb=digitalRead(lantb);
    int leitfreiob=digitalRead(freiob);
    int leitreb=digitalRead(reb);
    int leitalertb=digitalRead(alertb);
   
    // Se pressionar o botão, liga a seta para direita.
   
    if(leitsetadb==0){
     SETADL=!SETADL;
     digitalWrite(setadl,1);
     delay(1000);
     digitalWrite(setadl,0);
     delay(1000);}
    
     // Se não pressionar o botão, desliga a seta para direita.
    
    else{
     SETADL=!SETADL;
     digitalWrite(setadl,0);}
    
     // Se pressionar o botão, liga a seta para esquerda.
    
    if(leitsetaeb==0){
     SETAEL=!SETAEL;
     digitalWrite(setael,1);
     delay(1000);
     digitalWrite(setael,0);
     delay(1000);}
    
     // Se não pressionar o botão, desliga a seta para esquerda.
    
    else{
     SETAEL=!SETAEL;
     digitalWrite(setael,0);}
    
     // Se pressionar o botão, liga a lanterna.
    
    if(leitlantb==0){
     LANTL=!LANTL;
     digitalWrite(lantl,1);}
   
    // Se não pressionar o botão, desliga a lanterna.
   
    else{
     LANTL=!LANTL;
     digitalWrite(lantl,0);}
    
     // Se pressionar o botão, liga a luz de freio.
      
    if(leitfreiob==0){
     digitalWrite(freiol,1);}
   
    // Se não pressionar o botão, desliga a luz de freio.
   
    else{
     digitalWrite(freiol,0);}
    
     // Se pressionar o botão, liga a ré.
    
    if(leitreb==0){
     REL=!REL;
     digitalWrite(rel,1);}
    
     // Se não pressionar o botão, desliga a ré.
    
    else{
     REL=!REL;
     digitalWrite(rel,0);}
    
     // Se pressionar o botão, liga o alerta.
    
     if(leitalertb==0){
     digitalWrite(setael,1);
     digitalWrite(setadl,1);
     delay(1000);
     digitalWrite(setael,0);
     digitalWrite(setadl,0);
     delay(1000);}}

Não se assustem com o tamanho do código!
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. 
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.

Um comentário:

  1. Olá.
    Na realidade o brilho da lanterna traseira aumenta porque existem duas lâmpadas uma 5W e uma 21W, ou uma lâmpada dupla de 5/21W.
    Como pode ver a lâmpada de freio é 4x maior que a da lanterna, você pode colocar 4 leds em paralelo para a luz de freio.

    Potência das lâmpadas de um carro cada lâmpada:
    Seta/alerta 21W
    Freio 21W
    Lanterna 5W
    Luz de ré 21W
    Espero ter ajudado
    Abraços e parabéns

    Regis Melick

    ResponderExcluir