■LEDをON / OFF
リモコンのプログラムに少し追加してLEDをON / OFFしてみます。「A」ボタンでLEDをON、「B」ボタンでLEDをOFFです。
whileループの中で「data_code」をシリアル出力していた部分をif文に書き換えて、「data_code」が22ならLEDをON、13ならLEDをOFFします。
リスト18に変更箇所のみを示します。
List18 remote_led
# ***** LED *****
led = Pin(25, Pin.OUT)
led.value(0)
# 中略
while True:
if rm_received == True: #リモコン受信した
rm_received = False #初期化
rm_state = 0 #初期化
#図とは左右が逆であることに注意
custom_code = rm_code & 0xffff #下16bitがcustomCode
data_code = (rm_code & 0xff0000) >> 16 #下16bitを捨てたあとの下8bitがdataCode
inv_data_code = (rm_code & 0xff000000) >> 24 #下24bitを捨てたあとの下8bitがinvDataCode
if (data_code + inv_data_code) == 0xff: #反転確認
print(“data_code=” + str(data_code))
if data_code == 22:
led.value(1)
elif data_code == 13:
led.value(0)
コメント