PR.FT5_15·Kit RPi›Semáforo InteligentePróximo →
Multi-componente · LEDs + Buzzer

🚦 Semáforo Inteligente

Sistema de semáforo com LEDs vermelho, amarelo e verde. Buzzer para alerta sonoro na fase de transição. Ciclo completo configurável.

Circuito

LED Vermelho → Res. 220Ω → GPIO 18
LED Amarelo → Res. 220Ω → GPIO 23
LED Verde → Res. 220Ω → GPIO 24
Buzzer + → GPIO 25
Todos GND → GND

Código completo

Python · semaforo.py
import RPi.GPIO as GPIO
import time

R, Y, G, BZ = 18, 23, 24, 25

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
for p in [R, Y, G, BZ]:
    GPIO.setup(p, GPIO.OUT)
    GPIO.output(p, GPIO.LOW)

def fase(cor, duracao, beep=False):
    # Apagar todos
    for p in [R, Y, G]: GPIO.output(p, GPIO.LOW)
    GPIO.output(cor, GPIO.HIGH)
    if beep:
        for _ in range(3):
            GPIO.output(BZ, GPIO.HIGH)
            time.sleep(0.1)
            GPIO.output(BZ, GPIO.LOW)
            time.sleep(0.1)
    time.sleep(duracao)

print("Semáforo iniciado — Ctrl+C para parar")
try:
    while True:
        fase(G, 5)           # verde 5s
        fase(Y, 2, beep=True) # amarelo 2s + beep
        fase(R, 5)           # vermelho 5s
except KeyboardInterrupt:
    for p in [R, Y, G, BZ]: GPIO.output(p, GPIO.LOW)
    GPIO.cleanup()