「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

micro:bit Lab.【マイクロビット】

micro:bit Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。

無線操縦で走る!光る!音が鳴る!
5-3

micro:Maqueen V3.0【無線操縦編】

2019-05-242019-05-28

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以外でもかまいません。

図5-3-4-1.最初だけ実行されるプログラム
図5-3-4-1.最初だけ実行されるプログラム

ずっと実行されるプログラム

micro:bitに搭載されている加速度センサーで、前後(加速度Y)と左右(加速度X)の傾きを測定しています。前後の傾きに応じて、モーターの速度が変化するように、-255(後進の最大速度)~255(前進の最大速度)の範囲でマッピングしています。さらに、左右の傾きに応じて、旋回(または回転)するように、旋回(または回転)の内側にあるモーターの速度を-100%(逆回転の最大速度)~100%(順回転の最大速度)の範囲で変化するようにマッピングと計算しています。最後に求めたモーターの速度を無線で送信します。

図5-3-4-2.ずっと実行されるプログラム
図5-3-4-2.ずっと実行されるプログラム

ボタンAが押されたときに実行されるプログラム

変数「動作中」の真偽を入れ替えます。

図5-3-4-3.ボタンAが押されたときに実行されるプログラム
図5-3-4-3.ボタンAが押されたときに実行されるプログラム

ボタンBが押されたときに実行されるプログラム

変数「LED点灯中」の真偽を入れ替えます。真の場合、無線で「LED=1」を送信します。

図5-3-4-4.ボタンBが押されたときに実行されるプログラム
図5-3-4-4.ボタンBが押されたときに実行されるプログラム

ボタンA+Bが押されたときに実行されるプログラム

無線で「MUSIC=1」を送信します。

図5-3-4-5.ボタンA+Bが押されたときに実行されるプログラム
図5-3-4-5.ボタンA+Bが押されたときに実行されるプログラム

5-3-5.コントローラー側のサンプルプログラム(JavaScript)

コントローラー側のサンプルプログラム(JavaScript)です。

5-3-6.micro:Maqueen V3.0側のサンプルプログラム(ブロック)

micro:Maqueen V3.0側のサンプルプログラム(ブロック)です。拡張機能「https://github.com/jhlucky/maqueen」の追加が必要です。

最初だけ実行されるプログラム

無線のグループ設定を行っています。グループの番号は、コントローラーとmicro:Maqueenで一致していれば36以外でもかまいません。

図5-3-6-1.最初だけ実行されるプログラム
図5-3-6-1.最初だけ実行されるプログラム

無線で受信したときに実行されるプログラム

無線で受信したモーターの速度に応じて、モーターの回転方向と回転速度を設定します。また、LEDの点灯・音楽の再生を行います。

図5-3-6-2.無線で受信したときに実行されるプログラム
図5-3-6-2.無線で受信したときに実行されるプログラム

5-3-7.micro:Maqueen V3.0側のサンプルプログラム(JavaScript)

micro:Maqueen V3.0側のサンプルプログラム(JavaScript)です。拡張機能「https://github.com/jhlucky/maqueen」の追加が必要です。

おすすめ品

micro:Maqueen

独立した二つの駆動輪を持つSTEM教育用のグラフィカルプログラミングロボットです。

電源管理モジュール(リチウムイオン電池ホルダー)

micro:Maqueenに取り付けることでリチウム電池や充電式リチウムイオン電池が使えます。

充電式リチウムイオン電池(3.7V 750mAh)

充電式リチウムイオン電池(3.7V 750mAh)です。

この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動