内容
- トグル動作とは?
押すたびに状態が変わる(ON → OFF → ON → …)動作。 - ボタンの状態変化を検出(「押された瞬間」だけ処理)。
- 前回の「押されている間だけON」との違いを理解。
サンプルコード
from machine import Pin
import utime
button = Pin(16, Pin.IN, Pin.PULL_DOWN) # ボタン入力
led = Pin(17, Pin.OUT) # LED出力
led_state = 0 # 現在のLED状態(0=OFF, 1=ON)
prev_button = 0 # 前回のボタン状態
while True:
current = button.value() # 今のボタン状態を取得
# ボタンが「押されていない→押された」に変化した瞬間を検出
if current == 1 and prev_button == 0:
led_state = not led_state # 状態を反転
led.value(led_state) # LEDに反映
prev_button = current # 状態を保存
utime.sleep(0.02) # チャタリング防止のため待機
ポイント
- 状態変化を検出:押しっぱなしではなく、「押された瞬間」だけ反応させる。
- チャタリング防止:機械的なスイッチは数msガタつくため、
sleep(0.02)
で安定化。 - トグルの考え方:
led_state = not led_state
で簡単に反転できる。
次回予告
「第5回:MicroPythonでWi-Fi接続」に進みます。
コメント