先日、「マイクロビットロボカー(改良版)」をつくりました(記事は こちら)。
「KEYESTUDIOモータードライバー拡張ボード(KS4033)」というモータードライバ搭載のマイクロビット用拡張ボードをつかうことで、マイクロビットのプログラムによって自在に動かすことのできる「ロボカー」を、とても簡単につくることができました。
今回はこのロボカーを応用して、壁にぶつからない車をつくりたいと思います。
ロボカーの前面に「超音波センサ(前にある障害物との距離をはかる部品)」を取り付けます。
常に超音波センサで前面にある障害物との距離を測定し、障害物に近づくとロボカーの向きをかえることで、障害物にぶつからずに動きつづけることができます。
ちょうどお掃除ロボットのような動きです。
今回は「GROVE超音波距離センサモジュール」という超音波センサを使います。
このセンサはGROVEポートから信号を取り出すようになっています。取り出した信号は「モータードライバー拡張ボード(KS4033)」につなぐので、別途このような「GROVEコネクタ〜ジャンパーメスピンケーブル」も準備します。
ケーブルを超音波センサに取り付け、「GND(黒)」「VCC(赤)」「SIG(黄)」を、拡張ボードの「G」「3V」「14」につなぎます。
両面テープなどをつかって、超音波センサをロボカーの前面にはりつけます。
プログラムは以下のとおりです。MakeCodeエディタの「拡張機能」で「grove」というキーワードで検索すると「grove」拡張機能が見つかるので、それを使用します。
このプログラムをマイクロビットにかきこみ、スイッチをオンにすると、ロボカーがお掃除ロボットのように動きつづけます。
なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。
初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。