M5Stack×Moddable入門その3~人感センサーユニットを動かす
今回はPIRセンサーユニットで人感を試してみました。 買ったのは以下のM5stack用のやつ。
ユニットを接続する
当然Modabbleにドライバがなかったので、製品ページを見ているとI2Cインターフェースではなく、GroveをポートBに刺してGPIOから値が取得できる、と書いてあるが、手元のM5stackGrayにはGroveポートがI2C用の1つしかない。
どうもFIREやGOには3つのGroveポート(Aポート:I2C、Bポート:I/O、Cポート:UART)がついているようだ。こういう配線したくなくてM5stackを選んだにミスったなと感じつつ、自分でジャンパワイヤーを刺して接続します。
PIR(人感)センサーユニットは汎用ポート接続のため、grove portBを使用するのだが、grayにはついておらず、こんな感じで36番にぶっ刺した pic.twitter.com/Wc742fWGtA
— STC (@stc1988) 2020年7月26日
Modabbleで実装
GPIOから人感のオン・オフのデジタル入力を読み取るだけなので、確かにドライバはいらなさそう。
デジタル入出力に関してはbuiltin/digital
があるので、使えそーじゃんと思って使ったら、まだ標準仕様を策定中でESPでしか使えないExperimentalの状態でした。
今回はデジタル入力なので、これってボタン入力と同じじゃね?ってことに気づきM5stackのsetupスクリプトにあるButtonクラスと同じ感じつくればよさそう。
moddable/setup-target.js at public · Moddable-OpenSource/moddable · GitHub
ってことで動きました。
んで、無事に動作が確認できた。
— STC (@stc1988) 2020年7月26日
setupスクリプトにあるMonitorクラスを拡張したButtonクラスと同じノリで、ポート指定してonChangeコールバック生やしたら完成。 pic.twitter.com/eVyu1OYX11
あと、人感を試すためにM5stackを設置する上でスマホ用の撮影スタンドが便利でした。
スマホ用の撮影スタンドがいい感じにM5STACKにフィットすることがわかった pic.twitter.com/ndKYsVrjpn
— STC (@stc1988) 2020年7月26日