micro:bitもモジュールを追加することでロボットカーにすることができます。2018年末以降はセットが販売されるようになりましたが、それ以前はこのこのバギーカーぐらいしかありませんでした。
micro:bit本体のセンサー以外は追加されていないので、障害物回避やライントレースはできません。動くこと以外はペンをセットしてドローイングできる、という機能だけのようです。
部品数も少ないので簡単に組み立てられそうですが、説明書が英文だったり、ネジをとめるのコツがあったりと結構苦労するかもしれません。でも、一番の落とし穴は・・・マイクロUSBの端子がさせないことでした!
写真のようにmicro:bit本体のマイクロUSB差込口とServo:LiteボードのLEDの間が狭いので、USBケーブルの根元のプラスチックシースがぶつかってしまい差し込めません。仕方ないのでカッターで削って差し込めるようにしました。^^;後で販売元のHPを見たら、「6mm以下じゃないとだめだよ!」と注意書きがありました。探せばプラスチックシースの厚さが6mm以下のケーブルも結構売られていますので、カッターで削るよりはちゃんと差し込めるケーブルを探すことをお勧めします。^^;
さてプログラミングですが、ただ動きをプログラミングして動かすだけではつまらないので、micro:bitの無線機能を利用して別のmicro:bitからリモートコントロールできるようにしてみました。
まずはServo:Liteボードの拡張機能をインストールします。インストールされたブロックは英語表記ですが、カーソルをあてると日本語で説明が出ますので問題ないでしょう。
送信側のプログラム、受信側のプログラムとも「最初だけ」で無線のグループを同じグループに設定しておきます。送信側のプログラムでは、ボタンAを押したら前進、ボタンBを押したら後退、micro:bitを左に傾けたら左折、右に傾けたら右折、ボタンA+B(同時押し)で停止するように、それぞれ送信する数字を0~4まで割り当てました。
受信側のプログラムでは「もし~でなければ」のブロックで使って、受信した数字と動作を割り当てました。注意するのは「turn left」のブロックだと左折ではなくずっと左にグルグル回ってしまうので、「turn left 〇〇degrees」のブロックを使うことです。右折も同様です。
両方のプログラムを同じファイルに書いておくと、画面上でのシミュレーションもできます。
後はバギーカーのmicro:bitに受信用、もう一つのmicro:bitに送信用の.hexファイルを書き込めばリモコン操作で動かすことができます。