Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Público-Alvo: Iniciantes em Arduino interessados em aprender sobre automação e controle de semáforos. Os semáforos são dispositivos essenciais para controlar o fluxo de tráfego em vias urbanas. Neste artigo, vamos explorar como criar um semáforo automático utilizando o Arduino, uma plataforma de prototipagem eletrônica muito popular. Com esse projeto, você poderá aprender sobre programação, controle de componentes eletrônicos e automação residencial.
Projeto: O objetivo deste projeto é criar um semáforo automático que simule o funcionamento de um semáforo real, alternando entre as cores verde, amarelo e vermelho em intervalos de tempo pré-determinados. Além disso, vamos adicionar um botão para permitir que os pedestres solicitem a mudança de sinal.
Lista de componentes:
Exemplos: Aqui está um exemplo de código para implementar o semáforo automático:
// Definição dos pinos dos LEDs
const int pinoLedVermelho = 2;
const int pinoLedAmarelo = 3;
const int pinoLedVerde = 4;
// Definição do pino do botão
const int pinoBotao = 5;
// Tempo em milissegundos para cada estado do semáforo
const int tempoVerde = 5000;
const int tempoAmarelo = 2000;
const int tempoVermelho = 5000;
void setup() {
// Configuração dos pinos como saída ou entrada
pinMode(pinoLedVermelho, OUTPUT);
pinMode(pinoLedAmarelo, OUTPUT);
pinMode(pinoLedVerde, OUTPUT);
pinMode(pinoBotao, INPUT_PULLUP);
}
void loop() {
// Semáforo verde
digitalWrite(pinoLedVerde, HIGH);
delay(tempoVerde);
// Semáforo amarelo
digitalWrite(pinoLedVerde, LOW);
digitalWrite(pinoLedAmarelo, HIGH);
delay(tempoAmarelo);
// Semáforo vermelho
digitalWrite(pinoLedAmarelo, LOW);
digitalWrite(pinoLedVermelho, HIGH);
delay(tempoVermelho);
// Verifica se o botão foi pressionado
if (digitalRead(pinoBotao) == LOW) {
// Botão pressionado, aciona o sinal para pedestres
digitalWrite(pinoLedVermelho, LOW);
digitalWrite(pinoLedAmarelo, HIGH);
delay(tempoAmarelo);
digitalWrite(pinoLedAmarelo, LOW);
digitalWrite(pinoLedVerde, HIGH);
delay(tempoVerde);
}
}
Gostou deste projeto? Compartilhe com seus amigos que também estão interessados em aprender sobre Arduino e automação residencial!