micro:bitを使ってみる 36 〜無線でモーターを操作 2

以前、マイクロビットをふたつ使い、無線で操作するロボットを作りました


受信側micro:bitを「タミヤ 楽しい工作シリーズ組み立てキット リモコンロボット」に搭載、ふたつのモーターに接続し、送信側micro:bitのA,Bボタンでモーターの正転、停止をコントロールするものです。

今回は、これを少し改良してみようと思います。

機能

前回は、送信側micro:bitのAボタンを押している間、ロボットの左側のモーターが動き、Bボタンを押している間、右側のモーターが動くものでした。
つまり、ボタンによって、モーターが回るか停止するかだけを制御するもので、モーターの回転方向は変えられませんでした。

今回は、傾きセンサを使ってモーターを制御しようと思います。
前に傾けると前進、右に傾けると右折というように、送信側micro:bitの傾きで、ロボットの進行方向を制御します。

ふたつのモーターそれぞれについて、正転、停止、逆転の3とおりの状態が存在するので、合計で以下の9とおりの制御をすることになります。

前後 左右 左モーター 右モーター
ピッチ<-40 ロール<-40 停止 正転
ピッチ<-40 -40≦ロール≦40 正転 正転
ピッチ<-40 40<ロール 正転 停止
-40≦ピッチ≦40 ロール<-40 逆転 正転
-40≦ピッチ≦40 -40≦ロール≦40 停止 停止
-40≦ピッチ≦40 40<ロール 正転 逆転
40<ピッチ ロール<-40 停止 逆転
40<ピッチ -40≦ロール≦40 逆転 逆転
40<ピッチ 40<ロール 逆転 停止

また、受信側micro:bitは、ふたつのモーターの正転、逆転を制御するため、micro:bitとモータードライバの間は、4本の制御信号を繋がなければなりません。micro:bitの大きい信号端子は3つしかないので、今回は「micro:bit用エッジコネクタピッチ変換基板」を使うことにしました。これを使うと、micro:bitの小さな端子の信号も取り出すことができます。

プログラム

送信機側のプログラムは以下のとおりです。9とおりの条件ごとに、無線で異なる番号を送信します。あわせてディスプレイに矢印も表示します。

受信機側のプログラムは以下のとおりです。9とおりの条件ごとに、モータードライバに繋がる4つの出力端子の論理を切り替えます。こちらもディスプレイに矢印を表示します。

つなぎかた

送信機側は、以前と同じく「micro:bit用MI:電源ボード」を使います。

受信機側の回路図は以下のようになります。

ロボットを組み立てると以下のようになります。

結果

送信機を傾けると、ロボットに矢印が表示され、その方向に向かって動きます。

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。


このサイトで書いている、マイクロビットに関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のマイクロビット記事にも興味のある方は「さとやまノート」をご覧ください。