Lチカしてみる
前回記事では XBee 3 ZB の MicroPython を有効にするところまでやりましたが、今回は Lチカまでやってみましょう。
せっかく grove 対応のシリアル/ピッチ変換ボードを購入したので、Grove の赤LEDを繋いでみることにしました。
このボードのコネクタではLEDへの出力に D6 ピンを使えばよういようです。
ということで Pin クラスを探したのですが、、、
>> import machine
>>> machine.
__class__ __name__ BROWNOUT_RESET HARD_RESET
LOCKUP_RESET PWRON_RESET SOFT_RESET WDT_RESET
reset reset_cause rng soft_reset
unique_id
>>> machine.
ありません orz
ここにある XBee 3 用 MicroPython ドキュメントを調べてみましたが、どうやら ZigBee 版では I/O ピンに対応していないようです。
でも、I/O ピンにアクセスできないなんてありえないと思い、さらに調べてみました。xbee モジュールに atcmd() 関数があり、これで AT コマンドを実行できるようです。
>>> import xbee
>>> xbee.
__class__ __name__ ADDR_BROADCAST ADDR_COORDINATOR
XBee atcmd discover receive
relay transmit
>>> xbee.
ATコマンド一覧はユーザガイドにあり、 "D6" というそのまんまなコマンドがあります。
これによれば、D6 コマンドに 4 を指定すればロー、5を指定すればハイの出力になるようです。ということで、REPLで確認してみます。
import xbee
import utime
while True:
xbee.atcmd('D6', 4)
utime.sleep_ms(500)
xbee.atcmd('D6', 5)
utime.sleep_ms(500)
見事に成功です。中断するには Ctrl-C を入力します。