Logo SatellaSoft



Sinal de trânsito com Arduino

Nesta matéria será criado um simples sistema de semáforo, utilizando em grandes cidades.


Ícone homem Gunnar Correa
Ícone data de publicação 21/03/2015
Ícone quantidade de visualização 3,403
Ícone bandeira do Brasil Português

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.

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.




Sobre o autor


Gunnar Correa

Nome: Gunnar Correa

Site: http://www.gunnarcorrea.com


Autodidata, graduado em Desenvolvimento Web e aluno de pós-graduação em Tecnologias na Educação em uma universidade no interior de São Paulo. Comecei meus estudos na área de programação quando ainda era criança, e atualmente estou estudando desenvolvimento de jogos.

Sou fundador do portal SatellaSoft dentre outros projetos. Nas minhas horas livres quando não estou com meus amigos, estou fazendo alguns cursos.


Comentários



É necessário estar autenticado para comentar, clique aqui para se registrar ou aqui para acessar a sua conta!