Semáforo (Sinal de trânsito) com arduino SR 4 – projeto fácil de robótica

Leonardo Campbell
Um semáforo ou sinal como você prefere que chame, feito com o arduino uno, muito fácil de fazer e de compreender o programa, veja o tutorial ensinando a fazer os 3 sinais, isso mesmo são 3 sinais ou seja 9 leds como sinal, não só um simples de mais, são três no vídeo eu explico o por que...

Compartilhe esse post

Esquema de ligações

Código fonte

/*
  -----------Semáforo (Sinal de Transito) SR 4------------------------------------------------
  Versão do Software: 1.0 SR 4 //não apague essa linha, para futuras consultas
  Software open source, favor citar o autor: Seu Robô https://SeuRobo.com.br/
  Criado por: Leonardo Campbell - Seu Robô  
*/

//Definindo os pinos dos LEDs como a porta para cada um
#define ledVerde1    13 //Av Arduino lado "direita"
#define ledAmarelo1  12 //Av Arduino lado "direita"
#define ledVermelho1 11 //Av Arduino lado "direita"
#define ledVerde2    10 //Av Arduino lado "esquerdo"
#define ledAmarelo2  9  //Av Arduino lado "esquerdo"
#define ledVermelho2 8  //Av Arduino lado "esquerdo"
#define ledVerde3    7  //Rua Italia
#define ledAmarelo3  6  //Rua Italia
#define ledVermelho3 5  //Rua Italia

//função para configurar os LEDs
void setup() {
  //colocando o semáforo da Avenida Arduino "direita" como saida
  pinMode(ledVerde1, OUTPUT);
  pinMode(ledAmarelo1, OUTPUT);
  pinMode(ledVermelho1, OUTPUT);
  //colocando o semáforo da Avenida Arduino "esquerdo" como saida
  pinMode(ledVerde2, OUTPUT);
  pinMode(ledAmarelo2, OUTPUT);
  pinMode(ledVermelho2, OUTPUT);
  //colocando o semáforo da Rua Italia como saida
  pinMode(ledVerde3, OUTPUT);
  pinMode(ledAmarelo3, OUTPUT);
  pinMode(ledVermelho3, OUTPUT);

}
void loop() {
  //Avenida Arduino com sinal verde e Rua Italia com sinal vermelho
  digitalWrite(ledVermelho1, LOW);
  digitalWrite(ledVermelho2, LOW);
  digitalWrite(ledVerde1, HIGH);
  digitalWrite(ledVerde2, HIGH);
  digitalWrite(ledVermelho3, HIGH);
  delay(5000); //aguarda 5 segundos

  
  //Avenida Arduino com sinal amerelo e depois vermelho e Rua Italia com sinal verde
  digitalWrite(ledVerde1, LOW);
  digitalWrite(ledVerde2, LOW);
  sinalAmeloAv(); //função para piscar a luz amarela da Avenida 
  digitalWrite(ledVermelho3, LOW);
  digitalWrite(ledVermelho1, HIGH);
  digitalWrite(ledVermelho2, HIGH); 
  digitalWrite(ledVerde3, HIGH);
  delay(5000); //aguarda 5 segundos
  //SeuRobo.com.br/sr4

  //desliga a luz verde da Rua Italia e pisca a luz amarela da rua e acende a vermelha
  digitalWrite(ledVerde3, LOW);
  delay(100);
  sinalAmeloRua ();
  digitalWrite(ledVermelho3, HIGH);   
  delay(100);
}

//função para piscar o led amarelo da Rua
void sinalAmeloRua (){
  digitalWrite(ledAmarelo3, HIGH);
  delay(700); 
  digitalWrite(ledAmarelo3, LOW);
  delay(100);
  digitalWrite(ledAmarelo3, HIGH);
  delay(700); 
  digitalWrite(ledAmarelo3, LOW);
  delay(100);
  digitalWrite(ledAmarelo3, HIGH);
  delay(700); 
  digitalWrite(ledAmarelo3, LOW);
  delay(100);
  digitalWrite(ledAmarelo3, HIGH);
  delay(700); 
  digitalWrite(ledAmarelo3, LOW);
  delay(100);  
}

//função para piscar o led amarelo da Avenida
void sinalAmeloAv (){
  digitalWrite(ledAmarelo1, HIGH);
  digitalWrite(ledAmarelo2, HIGH);
  delay(700); 
  digitalWrite(ledAmarelo1,LOW);
  digitalWrite(ledAmarelo2,LOW);
  delay(100);
  digitalWrite(ledAmarelo1, HIGH);
  digitalWrite(ledAmarelo2, HIGH);
  delay(700); 
  digitalWrite(ledAmarelo1, LOW);
  digitalWrite(ledAmarelo2, LOW);
  delay(100);
  digitalWrite(ledAmarelo1, HIGH);
  digitalWrite(ledAmarelo2, HIGH);
  delay(700); 
  digitalWrite(ledAmarelo1, LOW);
  digitalWrite(ledAmarelo2, LOW);
  delay(100);
  digitalWrite(ledAmarelo1, HIGH);
  digitalWrite(ledAmarelo2, HIGH);
  delay(700); 
  digitalWrite(ledAmarelo1, LOW);
  digitalWrite(ledAmarelo2, LOW);
  delay(100);
}

//Fim
//Versão do Software: 1.0 SR 4 SeuRobo.com.br //não apague essa linha, para futuras consultas

Deixe seu comentário no final da pagina!

Compartilhe esse post

Receba avisos de novos posts e novidades

Conteúdo extra e contato mas próximo com você

Outros Posts que talvez você goste

Que Saber Mais Sobre Robótica?

Venha Fazer Um Curso Online E Aprender Muito Mais

blank