#151初級

Raspberry Pi Picoでパトカーの点滅灯(赤+青、GP11+GP12)

Raspberry Pi Picoで、パトカーの屋根にある点滅灯を最も簡単な形で再現します!赤と青のLEDが交互に点灯するフリップフロップ方式です。赤が点灯している間は青が消灯し、0.3秒ごとに状態を入れ替え、繰り返します。コードは1つの`while True`ループに2つの動作を直接記述し、速度は`WAIT_MS`定数で設定します。

4.7(3)
10 完了
Raspberry Pi Picoでパトカーの点滅灯(赤+青、GP11+GP12)
パトカーの屋根にある点滅灯を最も簡単な形で再現します。赤のLEDが点灯している間は青が消灯し、1秒間に約3回状態を入れ替え、繰り返します。Raspberry Pi Picoに2個のLEDと2個の抵抗を接続するだけです。数分で組み立てられる光の演出で、初めてのプロジェクトにぴったりです。

回路図

Raspberry Pi Picoでパトカーの点滅灯(赤+青、GP11+GP12) - Circuit

ソースコード

MicroPython
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

よくある質問

WAIT_MSは何に使いますか?▾

2つの色を切り替えるまでの待ち時間を、ミリ秒単位で指定します。初期値は300 msです。100 msにすると速くせわしない点滅に、600 msにするとゆったりした点滅になります。値を変更してコードを再実行するだけです。

`sleep_ms()`と`sleep()`の違いは何ですか?▾

sleep()は時間を秒単位で受け取り、sleep_ms()は整数のミリ秒単位で受け取ります。このプロジェクトでは、sleep_ms(300)で待ち時間をわかりやすく表しています。sleep(0.3)も指定する待ち時間は同じです。

青のLEDが赤より暗く見えるのはなぜですか?▾

青のLEDの順方向電圧(約3 V)はPicoの出力電圧3.3 Vにとても近いため、同じ抵抗では流れる電流が少なくなります。青のLEDには、100 Ωなどの抵抗値が小さい抵抗を使えます。

救急車や消防車の点滅も再現できますか?▾

はい。点滅回数、時間、色を変えることで、さまざまな緊急車両の点滅パターンを再現できます。