#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 完了
Raspberry Pi Picoで2個のLEDを交互に点滅(GP14+GP13)
踏切の警報灯のように、2個のLEDが交互に点滅し、一方が点灯するともう一方が消灯します。Raspberry Pi Picoで、赤と緑のLEDの点灯状態を0.5秒ごとに切り替えます。複数のライトを同時に制御する第一歩で、パトカーの点滅灯や信号機などのプロジェクトの基礎になります。

動画

回路図

Raspberry Pi Picoで2個のLEDを交互に点滅(GP14+GP13) - Circuit

ソースコード

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に対応しています。部品を追加して同じピンに接続すれば、実機がなくてもコードをテストできます。