以前、マイクロビットをふたつ使い、無線で操作するロボットを作りました。
受信側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:電源ボード」を使います。
受信機側の回路図は以下のようになります。
ロボットを組み立てると以下のようになります。
結果
送信機を傾けると、ロボットに矢印が表示され、その方向に向かって動きます。