0% acharam este documento útil (0 voto)
6 visualizações5 páginas

Semáforo com Arduino e Display 7 Segmentos

Jogo

Enviado por

Thiago Paulo
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações5 páginas

Semáforo com Arduino e Display 7 Segmentos

Jogo

Enviado por

Thiago Paulo
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

TUTORIAL:

SEMÁFORO COM
DISPLAY DE 7
SEGMENTOS

@rodrigowsanches rodrigowsanches@[Link]
INTRODUÇÃO:
Este projeto simula um semáforo com um
display de 7 segmentos para exibir a contagem
regressiva antes da troca de sinais. Utiliza três
LEDs representando as cores do semáforo
(vermelho, amarelo e verde) e um Arduino para
controlar a sequência.

Lista de materiais :

1 Arduino Uno
1 Display de 7 Segmentos (Catodo Comum)
8 Resistores de 220Ω (para os segmentos do display)
3 LEDs (vermelho, amarelo e verde)
3 Resistores de 220Ω (para os LEDs)
Jumpers e Protoboard

@rodrigowsanches rodrigowsanches@[Link]
Esquema de ligação:
Conexão dos LEDs (Semáforo)

LED vermelho Pino 10 do Arduino

LED amarelo Pino 11 do Arduino

LED verde Pino 12 do Arduino
Cada LED deve ter um resistor de 220Ω ligado ao GND.

Conexão do Display de 7 Segmentos


a → Pino 2 do Arduino
b → Pino 3 do Arduino
c → Pino 4 do Arduino
d → Pino 5 do Arduino
e → Pino 6 do Arduino
f → Pino 7 do Arduino
g → Pino 8 do Arduino
DP (ponto decimal, não utilizado)
Cátodo Comum → GND do Arduino

@rodrigowsanches rodrigowsanches@[Link]
Código do Projeto:
#include <SevSeg.h>

SevSeg sevseg;
const int redLED = 10;
const int yellowLED = 11;
const int greenLED = 12;

void setup() {
byte numDigits = 1;
byte digitPins[] = {};
byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9};

[Link](COMMON_CATHODE, numDigits, digitPins, segmentPins);


[Link](90);

pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(greenLED, OUTPUT);

digitalWrite(redLED, HIGH);
}

void loop() {
contar(8, redLED, greenLED); // Contagem para o vermelho desligar e verde acender
contar(8, greenLED, yellowLED); // Contagem para o verde desligar e amarelo acender
delay(1000); // Amarelo fica aceso por 1 segundo
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, HIGH); // Retorna ao vermelho
}

void contar(int inicio, int ledAtual, int proximoLED) {


digitalWrite(proximoLED, LOW);
digitalWrite(ledAtual, HIGH);

for (int i = inicio; i >= 0; i--) {


[Link](i);
[Link]();
delay(1000);
}

digitalWrite(ledAtual, LOW);
digitalWrite(proximoLED, HIGH);
}

@rodrigowsanches rodrigowsanches@[Link]
Como Funciona o Código:
O LED vermelho acende e o display conta de 8 até 0.

O LED verde acende, o vermelho apaga, e o display conta de 8 até 0.

O LED amarelo acende por 1 segundo.

O LED vermelho acende novamente e o ciclo reinicia.

Conclusão:

Este projeto é uma excelente introdução ao uso de displays


de 7 segmentos com Arduino, além de ensinar sobre controle
de LEDs e temporização. Pode ser expandido para incluir
sensores de trânsito ou botões para pedestres.

@rodrigowsanches rodrigowsanches@[Link]

Você também pode gostar