🚦 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()