Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Construindo um Semáforo Automático com Arduino

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:

  • 1 Arduino Uno (ou outra placa compatível)
  • 1 Protoboard
  • 3 LEDs (vermelho, amarelo e verde)
  • 3 Resistores de 220 Ohms
  • 1 Botão de pressão
  • 1 Resistor de 10k Ohms
  • Jumpers (cabos) para conexões

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!

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.