Raspberry Pi Pico: efeito de luz policial (vermelho + azul, GP11 + GP12)
Simulamos a barra de luzes de uma viatura com um Raspberry Pi Pico da forma mais simples! Os LEDs vermelho e azul acendem alternadamente (flip-flop): enquanto o vermelho está aceso, o azul fica apagado, e eles trocam de estado a cada 0,3 segundo, para sempre. O código escreve as duas etapas diretamente em um único laço `while True`; a velocidade é definida pela constante `WAIT_MS`.

Esquema do circuito

Código-fonte
1# ─────────────────────────────────────────
2# BlueGrays · bluegrays.com
3# Raspberry Pi Pico Police Strobe Light Effect (Red + Blue, GP11 + GP12)
4# ─────────────────────────────────────────
5# Two LEDs alternate (flip-flop): red is on while blue is off, and they
6# swap every 0.3 s. The speed is set with WAIT_MS.
7#
8# Pins:
9# GP11 -> Red LED (with a 220 ohm resistor)
10# GP12 -> Blue LED (with a 220 ohm resistor)
11# LED katotlari -> LED cathodes -> GND
12
13from machine import Pin
14from time import sleep_ms
15
16# ============ PIN / PIN ============
17red_led = Pin(11, Pin.OUT) # Red LED
18blue_led = Pin(12, Pin.OUT) # Blue LED
19
20WAIT_MS = 300 # Switch delay (ms)
21
22print("== BlueGrays · bluegrays.com ==")
23print("Polis Cakar Basit / Simple Police Alternating")
24print("Kirmizi: GP11 | Mavi: GP12")
25
26# ============ MAIN LOOP ============
27while True:
28 # Red on, blue off
29 red_led.value(1)
30 blue_led.value(0)
31 print("[FLIP] KIRMIZI / RED")
32 sleep_ms(WAIT_MS)
33
34 # Blue on, red off
35 red_led.value(0)
36 blue_led.value(1)
37 print("[FLIP] MAVI / BLUE")
38 sleep_ms(WAIT_MS)
39
Perguntas frequentes
Para que serve WAIT_MS?▾
É o tempo de espera entre as duas cores, em milissegundos. O padrão é 300 ms; 100 ms produz uma luz mais rápida e agitada, e 600 ms, uma mais tranquila. Basta alterar o valor e executar o código novamente.
Qual é a diferença entre `sleep_ms()` e `sleep()`?▾
sleep() recebe a duração em segundos, enquanto sleep_ms() recebe um número inteiro de milissegundos. Neste projeto, sleep_ms(300) expressa a duração com clareza; sleep(0.3) solicita o mesmo tempo nominal de espera.
O LED azul parece mais fraco que o vermelho. Por quê?▾
A tensão direta do LED azul (aproximadamente 3 V) é muito próxima da saída de 3,3 V do Pico; com o mesmo resistor, passa menos corrente. Você pode usar um resistor menor, como 100 Ω, para o LED azul.
Posso criar um efeito de ambulância ou caminhão de bombeiros?▾
Sim, você pode criar os padrões de luz de diferentes veículos de emergência alterando o número de piscadas, a duração e as cores.
