Raspberry Pi Pico Efecto Luces Policía (Rojo + Azul Estroboscopio, GP11 + GP12)
¡Simulamos la barra de luces de un coche de policía con una Raspberry Pi Pico en su forma más sencilla! 🚨 Los LED rojo y azul se turnan (flip-flop): mientras el rojo está encendido el azul está apagado, y cada 0,3 segundos se intercambian, sin fin. El código escribe los dos pasos directamente en un único bucle `while True`; la velocidad se ajusta con la constante `WAIT_MS`.

Diagrama del circuito

Código fuente
1# ─────────────────────────────────────────
2# BlueGrays · bluegrays.com
3# Raspberry Pi Pico Efecto Luces Policía (Rojo + Azul Estroboscopio, GP11 + GP12)
4# ─────────────────────────────────────────
5# Dos LED alternan (flip-flop): el rojo está encendido mientras el azul
6# está apagado, y se intercambian cada 0.3 s. La velocidad se ajusta con
7# WAIT_MS.
8#
9# Pines:
10# GP11 -> LED rojo (con una resistencia de 220 ohmios)
11# GP12 -> LED azul (con una resistencia de 220 ohmios)
12# LED katotlari -> Cátodos de los LED -> GND
13
14from machine import Pin
15from time import sleep_ms
16
17# ============ PIN / PIN ============
18red_led = Pin(11, Pin.OUT) # LED rojo
19blue_led = Pin(12, Pin.OUT) # LED azul
20
21WAIT_MS = 300 # Retardo de cambio (ms)
22
23print("== BlueGrays · bluegrays.com ==")
24print("Polis Cakar Basit / Simple Police Alternating")
25print("Kirmizi: GP11 | Mavi: GP12")
26
27# ============ BUCLE PRINCIPAL ============
28while True:
29 # Rojo encendido, azul apagado
30 red_led.value(1)
31 blue_led.value(0)
32 print("[FLIP] KIRMIZI / RED")
33 sleep_ms(WAIT_MS)
34
35 # Azul encendido, rojo apagado
36 red_led.value(0)
37 blue_led.value(1)
38 print("[FLIP] MAVI / BLUE")
39 sleep_ms(WAIT_MS)
40Preguntas frecuentes
¿Para qué sirve WAIT_MS?▾
Es la espera entre los dos colores, en milisegundos. El valor por defecto es 300 ms; 100 ms da una luz más rápida y frenética y 600 ms una más tranquila. Basta con cambiar el valor y volver a ejecutar el código.
¿Cuál es la diferencia entre sleep_ms() y sleep()?▾
sleep() recibe la duración en segundos, mientras que sleep_ms() recibe un número entero de milisegundos. En este proyecto, sleep_ms(300) expresa la duración claramente; sleep(0.3) solicita la misma espera nominal.
El LED azul parece más tenue que el rojo, ¿por qué?▾
La tensión directa del LED azul (aproximadamente 3 V) es muy similar a la salida de 3,3 V del Pico; con la misma resistencia, pasa menos corriente. Para el azul, puedes utilizar una resistencia más pequeña, como una de 100 Ω.
¿Puedo simular el sonido de una ambulancia o de un camión de bomberos?▾
Sí, puedes crear los patrones de luz de diferentes vehículos de emergencia cambiando el número de destellos, la duración y los colores.
