Semáforo

Os semáforos são elementos essenciais para a organização do trânsito, garantindo a segurança de pedestres e motoristas. Neste projeto, desenvolveremos um modelo simplificado de semáforo utilizando LEDs e um microcontrolador, como o Arduino, para controlar a sequência de cores (vermelho, amarelo e verde).

O objetivo deste projeto é demonstrar o funcionamento básico de um semáforo, abordando conceitos fundamentais de eletrônica e programação. Além disso, ele pode servir como base para aplicações mais avançadas, como a integração com sensores para controle inteligente do tráfego.

Materiais Necessários

Para montar o projeto de semáforo com LEDs utilizando um Arduino, você precisará dos seguintes componentes:

Componentes Eletrônicos:

  • 1x Placa Arduino (Uno, Mega ou similar)

  • 1x Protoboard

  • 3x LEDs (Vermelho, Amarelo e Verde)

  • 3x Resistores de 220Ω (para limitar a corrente dos LEDs)

  • 1x Módulo ou Cabo USB (para programar e alimentar o Arduino)

  • Fios Jumper (masculino-masculino e masculino-feminino, conforme necessário)

Ferramentas e Acessórios:

  • Computador com a IDE do Arduino instalada

  • Fonte de alimentação (caso não use o cabo USB para alimentar o Arduino)

Código para o Semáforo com LEDs no Arduino

Abaixo está um código simples para um semáforo utilizando LEDs no Arduino:

// Definição dos pinos dos LEDs

const int ledVermelho = 8;

const int ledAmarelo = 7;

const int ledVerde = 6;

void setup() {

// Configura os pinos como saída

pinMode(ledVermelho, OUTPUT);

pinMode(ledAmarelo, OUTPUT);

pinMode(ledVerde, OUTPUT);

}

void loop() {

// Acende o LED verde e mantém por 5 segundos

digitalWrite(ledVerde, HIGH);

delay(5000);

digitalWrite(ledVerde, LOW);

// Acende o LED amarelo por 2 segundos

digitalWrite(ledAmarelo, HIGH);

delay(2000);

digitalWrite(ledAmarelo, LOW);

// Acende o LED vermelho por 5 segundos

digitalWrite(ledVermelho, HIGH);

delay(5000);

digitalWrite(ledVermelho, LOW);

}

Explicação do Código

  1. Definição dos Pinos:

    • São criadas constantes (ledVermelho, ledAmarelo, ledVerde) que armazenam os números dos pinos do Arduino aos quais os LEDs estão conectados.

  2. setup() – Configuração Inicial:

    • O comando pinMode(pino, OUTPUT) define os pinos dos LEDs como saídas, permitindo que o Arduino controle seu estado (ligado ou desligado).

  3. loop() – Funcionamento do Semáforo:

    • O LED verde acende (digitalWrite(ledVerde, HIGH)) por 5 segundos (delay(5000)).

    • O LED verde apaga (digitalWrite(ledVerde, LOW)).

    • O LED amarelo acende por 2 segundos e depois apaga.

    • O LED vermelho acende por 5 segundos e depois apaga.

    • O ciclo se repete indefinidamente.

Funcionamento na Prática

  • Esse código simula um semáforo comum, onde o verde indica passagem, o amarelo alerta para a mudança e o vermelho indica parada.

  • O tempo de cada LED pode ser ajustado alterando os valores do delay().