#149初級
Raspberry Pi Picoで2個のLEDを交互に点滅(GP14+GP13)
PicoでLEDを1個点滅させた次は、2個のLEDを交互に点滅させる定番のフリップフロップパターンです。一方が消えるともう一方が点灯する、複数のGPIOを連動させる最も基本的な例です。このプロジェクトでは、色の異なる2個のLED(GP14に赤、GP13に緑)が500msごとに点灯状態を入れ替えます。MicroPythonの`Pin.toggle()`メソッドを使うと、コードを短く読みやすくできます。同じ基本的な仕組みが、信号機、パトカーの点滅灯、流れるLEDなど、複数のLEDを使ったアニメーションの基礎になります。回路はとても簡単で、各LEDに220Ωの抵抗を使います。
5.0(2)
19 完了
踏切の警報灯のように、2個のLEDが交互に点滅し、一方が点灯するともう一方が消灯します。Raspberry Pi Picoで、赤と緑のLEDの点灯状態を0.5秒ごとに切り替えます。複数のライトを同時に制御する第一歩で、パトカーの点滅灯や信号機などのプロジェクトの基礎になります。
動画
回路図

ソースコード
MicroPython
1# ─────────────────────────────────────────
2# BlueGrays · bluegrays.com
3# Raspberry Pi Pico Alternating Two LEDs (Blink-Flip Pattern, GP14 + GP13)
4# ─────────────────────────────────────────
5# Two LEDs blink alternately every 0.5 s (flip-flop): one is on while the
6# other is off. Pin.toggle() keeps the code short.
7#
8# Pins:
9# GP14 -> Red LED (with a 220 ohm resistor)
10# GP13 -> Green LED (with a 220 ohm resistor)
11# LED katotlari -> LED cathodes -> GND
12
13from machine import Pin
14from time import sleep
15
16# ============ PIN / PIN ============
17led1 = Pin(14, Pin.OUT) # Red LED
18led2 = Pin(13, Pin.OUT) # Green LED
19
20# ============ INIT ============
21# Start with opposite states
22led1.value(1)
23led2.value(0)
24
25print("== BlueGrays: 2 LED Alternatif ==")
26print("LED1 (Kirmizi): GP14 | LED2 (Yesil): GP13")
27
28# ============ MAIN LOOP ============
29while True:
30 # Toggle both LEDs
31 led1.toggle()
32 led2.toggle()
33 sleep(0.5) # 500 ms delay
34
よくある質問
`toggle()`メソッドは何をしますか?▾
ピンの現在の状態を反転します。点灯していれば消灯し、消灯していれば点灯します。最初に一方を点灯、もう一方を消灯に設定すると、切り替えるたびに2個のLEDの点灯状態が入れ替わります。
点滅速度を変えるにはどうすればよいですか?▾
コードの最後にある`sleep(0.5)`の値を変更してください。`sleep(0.2)`にすると速く、`sleep(1)`にすると遅く切り替わります。`sleep_ms()`を使う場合は、`from time import sleep_ms`も追加してください。
開始時に2個のLEDが同時に点灯する場合はどうすればよいですか?▾
ループの前に、一方のLEDを`on()`、もう一方を`off()`で初期化してください。そうしないと、両方が同じ状態で始まり、`toggle`を使ったときに同時に点滅します。
このプロジェクトをWokwiで試せますか?▾
はい。WokwiはRaspberry Pi PicoとMicroPythonに対応しています。部品を追加して同じピンに接続すれば、実機がなくてもコードをテストできます。
