マイクロビットを使ってみる 〜無線でモーターを操作する 2

スポンサーリンク
電子工作の作例

以前、マイクロビットをふたつ使い、無線で操作するロボットを作りました。
受信側マイクロビットを「タミヤ 楽しい工作シリーズ組み立てキット リモコンロボット」に搭載、ふたつのモーターに接続し、送信側マイクロビットのA,Bボタンでモーターの正転、停止をコントロールするものです。


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

機能

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

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

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

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

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


プログラム

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

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

つなぎかた

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


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

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

結果

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

 

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


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