#151Principiante

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`.

4.7(3)
10 completado
Raspberry Pi Pico Efecto Luces Policía (Rojo + Azul Estroboscopio, GP11 + GP12)
La versión más sencilla de las luces del techo de un coche de policía: mientras el LED rojo está encendido el azul se apaga, cambian de lugar unas tres veces por segundo y no paran nunca. Solo necesitas dos LED y dos resistencias conectados a la Raspberry Pi Pico. Un juego de luces que montas en pocos minutos, ideal para tus primeros proyectos.

Diagrama del circuito

Raspberry Pi Pico Efecto Luces Policía (Rojo + Azul Estroboscopio, GP11 + GP12) - Circuit

Código fuente

MicroPython
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)
40

Preguntas 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.

Raspberry Pi Pico Luces Policía (MicroPython) | BlueGrays