• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / microbit / micro:bitでロボットカー(Ring:bit Car)を無線コントロールする

micro:bitでロボットカー(Ring:bit Car)を無線コントロールする

2020年5月31日 by STEMSHIP コメントを書く

microbitを2個使用して、無線でロボットカーをコントロールします。左右のサーボ回転方向・速度を無線で制御し、前進・後退・旋回・停止をするプログラムを組みます。今回はRing:bit Carというキットを使用しますが、プログラムの組み方は他のロボットカーに応用できると思います。

Ring:bit Carとは

「Ring:bit Car」は、micro:bitを使用した2輪走行ロボットカーを作成するキットです。このようなキットは多数販売されていますが、Ring:bit Carはお手頃価格(約3千円)で組み立てが簡単です。また、MakeCodeでプログラミングするための拡張機能が準備されており、直感的にわかりやすいプログラムを組みことができます。さらに、アクセサリーパーツ(超音波センサ、トラッキングモジュール、LEDライトバー)も販売されていますので、より高度なロボットカーを作成することもできます。購入はAmazonもしくは、製造元のElecfreaksのオンラインストアでできます。

ハードウェア構成

ロボットカーの駆動は、360°回転サーボ「EF90D」を2個使用します。タイヤは、このサーボに直接取り付けられるようになっています。2輪だけだと転倒するので、車体を支えるためのキャスターボールがあります。このサーボモータとmicro:bitを接続するために、拡張ボードを使用します。あとは、micro:bitに拡張ボードと電池ボックスを接続するためのRing:bitボードがあります。主なキットの構成はこれだけです。キットとは別に、ロボットカー用のmicro:bitと、コントローラ用のmicro:bitを用意してください。

プログラミング準備

Ring:bit Carをプログラミングするために、MakeCodeの拡張パックをダウンロードします。MakeCodeを起動して、「高度なブロック→拡張機能」をクリックします。すると、様々な拡張機能が表示されます。今回使用するのは、下記画像にある通り、「RingbitCar」です。

拡張機能をインストールすると、下記画像のようにRingbitCarのブロックが追加されます。

動作確認用プログラム

Ring:bit Carの組み立てが完了したら、下記のプログラムで動作確認してみましょう。

最初に、「左の車輪を設置するP1 右の車輪を設置するP2」を実行します。これで、microbitの出力端子P1,P2と左右のサーボを関連付けています。次に、ボタンAが押されたときに「急速な前進」、ボタンBが押されたときに「急速な後ろ向き」とします。

プログラムができたら、micro:bitにダウンロードして動かしてみてください。もし、動かなければ、タイヤやサーボの駆動部分が車体に接触していない確認してください。

無線コントロールプログラム(送信側)

まずはコントローラ側のプログラムを作成します。無線通信については、「micro:bitでSTEM教育:無線通信機能を使ってみよう」で基本的な使い方を説明していますので、ご参考にしていただければと思います。

最初に、無線のグループを設定します。これは受信側プログラムと同じ番号にしてください。そして、「ずっと」ループで、無線で加速度Xを送信します。これは、micro:bitを右に傾けたときに最大+1023の値となります。反対に、左に傾けると、最小-1023の値になります。

次に、ボタンを押したときに、前進・後退・停止の動作となるように、値を設定します。

  • ボタンAが押されたとき → 前進(move=1を送信)
  • ボタンBが押されたとき → 後退(move=-1を送信)
  • ボタンAとBが同時に押されたとき → 停止(move=0を送信)

無線コントロールプログラム(受信側)

ロボットカー側のプログラムを作成します。最初に、動作確認用プログラムと同様に、「左の車輪を設置するP1 右の車輪を設置するP2」を実行します。無線のグループは、送信側と同じ番号を設定します。変数「R_SPEED」「L_SPEED」「delta」は、このあとで使用しますが、送信側から値が送られてくるまでは、これらの変数値は不定となってしまいます。そのため、最初に0で初期化しています。

「ずっと」ループでは、左右のサーボ回転速度を「move × L_SPEED」のように設定します。この値がプラスだと前進方向にサーボが回転し、マイナスだと後退方向に回転します。変数moveとL_SPEEDは送信側の値を受信して決めます。

「無線で受信したとき」というブロックで、送信側の情報を条件分岐して、各変数に演算代入します。加速度Xは、送信側から”X”という名前で送信されますので、「もし~なら」で条件分岐します。加速度の値の範囲は-1023~+1023なのに対して、速度を設定するブロックの入力値範囲は-100~+100です。ここで、便利なのが数値をマップするブロックです。このブロックは、「高度なブロック→入出力端子」にあります。このブロックを使用して、現在の-1023~+1023を-50~+50の範囲に変換しして、変数deltaに代入します。そして、R_SPEEDを「50-delta」、L_SPEEDを「50+delta」とします。

次の条件分岐は”move”の場合で、受信側ブロックでも変数をmoveとして、値をそのまま代入します。

実演

それでは、実際に動かしてみます。

Filed Under: microbit 関連タグ:ラジコン

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2025年6月
月 火 水 木 金 土 日
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« 10月    

Copyright © 2025 · STEMSHIP.COM