Sinal de trânsito com Arduino

Gunnar CorreaGunnar Correa21/03/2015 às 06:03:41 - 13.011 acessos

Criamos um simples sistema de semáforo com Arduino, comum em grandes cidades.


Para esta matéria, é necessário que você tenha conhecimentos prévios com Arduino, ou então, acesse nossa matéria Acendendo LED com Arduino.

Para este projeto será utilizado um Arduino Uno, um Protoboard, alguns Jumpers, um LED Verde, Vermelho e Branco.

Primeiramente faça a ligação dos LEDs no Arduino e na Protoboard, Aqui será utilizado as portas 8, 9, 10 e claro, GND do Arduino, na Protoboard utilize os pinos que achar melhor para seu projeto.

Abaixo é notório como foi feita toda a ligação.

Porta 8: LED Verde.
Porta 9: LED Branco.
Porta 10: Led Vermelho.

Ligação dos LEDs no Arduino.

A programação consiste basicamente em seguir o fluxo lógico de um semáforo, que é:

 
1 – Acender LED Verde.
2 – Aguardar alguns segundos.
3 – Apagar LED Verde.
4 – Acender LED Branco.
5 – Aguardar alguns segundos.
6 – Apagar LED Branco.
7 – Acender LED Vermelho.
8 – Aguardar alguns segundos;
9 – Apagar LED Vermelho.
10 – Volta para o passo 1.

Veja toda a programação abaixo.

Código 01:

/*
  Declaramos três variáveis que devem armazenar o número das portas.
*/
int pin = 8; 
int pin2 = 9; 
int pin3 = 10; 

void setup() {
  /*
    Informamos que as portas 8, 9 e 10 serão saída.
  */
  pinMode(pin, OUTPUT);
  pinMode(pin2, OUTPUT);
  pinMode(pin3, OUTPUT);
}

void loop() {
  /*
    Aplicamos o fluxo de um semáforo.
    1 – Acender LED Verde.
    2 – Aguardar alguns segundos.
    3 – Apagar LED Verde.
    4 – Acender LED Branco.
    5 – Aguardar alguns segundos.
    6 – Apagar LED Branco.
    7 – Acender LED Vermelho.
    8 – Aguardar alguns segundos;
    9 – Apagar LED Vermelho.
    10 – Volta para o passo 1.
  */
 digitalWrite(pin, HIGH);
 delay(4000);//Aguarda quatro segundos.
  
  digitalWrite(pin, LOW);
  digitalWrite(pin2, HIGH);
 delay(2000);//Aguarda dois segundos.
  
  digitalWrite(pin2, LOW);
  digitalWrite(pin3, HIGH);
 delay(4000);//Aguarda quatro segundos.
  digitalWrite(pin3, LOW);
}

No vídeo abaixo, você pode conferir o resultado final do Projeto.

 


Arduino Arduino uno Trânsito LEDs Protoboard Aula Tutorial Matéria Programação projeto Esquema Jumpers

Compartilhe


Gunnar Correa

Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web (FIPP), Especialista em Tecnologias na Educação (Unoeste) e Pós-graduando em Segurança da Informação (Universidade Cruzeiro do Sul). Começou seus estudos na área de programação quando era criança, e atualmente está estudando desenvolvimento de jogos. É CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.



Site atualizado

Olá, nosso site recebeu uma nova atualização e por conta disso, alguns artigos ainda estão sendo atualizados. Dependendo do conteúdo que você procura, poderá encontrar imagens e trechos de códigos mal formatados.

Estamos trabalhando para normalizar todos os conteúdos, muito em breve, esse problema não mais existirá.


Comentários