以前、マイクロビットに「超音波距離センサ」をつなぎ、障害物が近づいたことを検知するプログラムをつくったことがあります。
その時つかった超音波距離センサは、Adafruitの「HC-SR04互換超音波距離センサ(ID-4007)」という製品でした(記事は こちら)。
ところで、今、手元には「GROVE超音波距離センサモジュール」という製品があります。
これは「micro:bit用 GROVE Inventor Kit」や「マイクロビット アドバンスセット」などのセットにも入っている距離センサで、このセンサ専用の拡張機能ブロックも用意されています。
今回は、この「GROVE超音波距離センサモジュール」をマイクロビットにつないで使ってみたいと思います。
プログラムは以下のとおりです。
普段はマイクロビットのLED画面に「えがお」アイコンが表示されていますが、センサの前面10センチ未満に障害物が近づくと「おどろいたかお」アイコンに変わります。
MakeCodeエディタの「拡張機能」で「grove」というキーワードで検索すると、 「grove」拡張機能が見つかるので、それを使用しています。
マイクロビットと「GROVE超音波距離センサモジュール」をつなぎます。
このように、「micro:bit用GROVEシールド」を使って両者をつなぐのが最も一般的な方法だと思いますが、GROVEケーブルを加工すれば、他のマイクロビット用ブレイクアウトボードを使ったり、マイクロビットのエッジコネクタに直接つなぐこともできます。
GROVEケーブルの「黒」「赤」「黄」を、それぞれマイクロビットの「GND」「3V」「0」につなぎます。
電池ボックスのスイッチをONにすると、「えがお」アイコンが表示され、センサの前に手をかざすと「おどろいたかお」に変わります。
なお、この「GROVE超音波距離センサモジュール」は、低電圧では動作しないようです。
Seeed社の「micro:bit用 GROVE Inventor Kit」販売ページ(こちら)にも、「電源に単三電池などを使うと、高い入力電圧と駆動電流が必要なモジュール(GROVE超音波距離センサモジュールなど)は誤動作する可能性がある」と記載されており、「micro:bit用GROVEシールド」の左横にあるUSBポートから電源供給することが推奨されています。
今回は、電池ボックスに単四型アルカリ乾電池2本(1.5V × 2)を入れると正常動作しましたが、単四型Ni-MH電池2本(1.2V × 2)では正常動作しませんでした。
なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。
初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。