micro:Maqueen V3.0【無線操縦編】
micro:bitの無線通信を使って「micro:Maqueen V3.0」を無線操縦するプログラムを紹介します。
この記事は、DFROBOTの「micro:Maqueen V3.0」を使ったプログラミングです。micro:Maqueenは「付録3-12.micro:Maqueen V3.0」で詳しく紹介しています。また、組み立て方法は「5-2.micro:Maqueen V3.0【組み立て編】」で解説しています。
5-3-1.内容
micro:bitの無線通信を使って「micro:Maqueen V3.0」を無線操縦します。コントローラー用にもう一つmicro:bitが必要です。
加速度センサーで走行
コントローラーとして使用するmicro:bitに搭載されている加速度センサーを使い、その傾きによって、micro:Maqueen V3.0が前進・後進・旋回(右方向・左方向)・回転(右方向・左方向)します。「旋回」は、前進(または後進)しながら右方向(または左方向)へ曲がります。「回転」は、その場で右方向(または左方向)へ回ります。また、傾きの大きさによってスピードと旋回半径を調節することができます。
ボタンAで走行と停止
ボタンAで走行と停止を選択することができます。
ボタンBでLED点灯
ボタンBで赤色LEDの点灯と消灯を選択することができます。
ボタンA+Bで音楽演奏
ボタンA+Bでmicro:Maqueen V3.0のブザーから音楽が鳴ります。
5-3-2.デモ
micro:Maqueen V3.0の赤色LEDが点灯→消灯→点灯した後、音楽が鳴ります。その後、緩やかに左旋回しながら、三角コーンを回って元の場所へかえってきます。赤色LEDが消灯し、もう一度音楽が鳴って終了です。
なお、このデモでは、micro:Maqueen V3.0に同梱されている超音波センサー(HC-SR04)は使わないため外しています。
5-3-3.このプログラムの動作に必要なもの
このプログラムの動作には次のものが必要です。
- micro:bit本体×2台(micro:Maqueen V3.0用・コントローラー用)
- micro:Maqueen V3.0(別途、単四型乾電池×3本を用意する)
- 電池ボックスと電池(コントローラー用)
- パソコン(*1)
- USBケーブル(*1)
(*1):パソコン・USBケーブルは、プログラミングに必要なものです。
5-3-4.コントローラー側のサンプルプログラム(ブロック)
コントローラー側のサンプルプログラム(ブロック)です。
最初だけ実行されるプログラム
無線のグループ設定と変数の初期化を行っています。グループの番号は、コントローラーとmicro:Maqueen V3.0で一致していれば36以外でもかまいません。
ずっと実行されるプログラム
micro:bitに搭載されている加速度センサーで、前後(加速度Y)と左右(加速度X)の傾きを測定しています。前後の傾きに応じて、モーターの速度が変化するように、-255(後進の最大速度)~255(前進の最大速度)の範囲でマッピングしています。さらに、左右の傾きに応じて、旋回(または回転)するように、旋回(または回転)の内側にあるモーターの速度を-100%(逆回転の最大速度)~100%(順回転の最大速度)の範囲で変化するようにマッピングと計算しています。最後に求めたモーターの速度を無線で送信します。
ボタンAが押されたときに実行されるプログラム
変数「動作中」の真偽を入れ替えます。
ボタンBが押されたときに実行されるプログラム
変数「LED点灯中」の真偽を入れ替えます。真の場合、無線で「LED=1」を送信します。
ボタンA+Bが押されたときに実行されるプログラム
無線で「MUSIC=1」を送信します。
5-3-5.コントローラー側のサンプルプログラム(JavaScript)
コントローラー側のサンプルプログラム(JavaScript)です。
5-3-6.micro:Maqueen V3.0側のサンプルプログラム(ブロック)
micro:Maqueen V3.0側のサンプルプログラム(ブロック)です。拡張機能「maqueen」の追加が必要です。
最初だけ実行されるプログラム
無線のグループ設定を行っています。グループの番号は、コントローラーとmicro:Maqueenで一致していれば36以外でもかまいません。
無線で受信したときに実行されるプログラム
無線で受信したモーターの速度に応じて、モーターの回転方向と回転速度を設定します。また、LEDの点灯・音楽の再生を行います。
5-3-7.micro:Maqueen V3.0側のサンプルプログラム(JavaScript)
micro:Maqueen V3.0側のサンプルプログラム(JavaScript)です。拡張機能「maqueen」の追加が必要です。