2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Microbit:DC motor制御その3(無線送受信プログラムの変更)

Posted at

これまでDFRobotのDFR0548(4chDCモータドライバー)を使ったロボットの無線制御について紹介しました。
Microbit:DC motor制御(DFROBOTボード)
Microbit:DC motor制御(DFROBOT DFR0548ボード)その2

送信側のコントロールプログラムの変更に伴い、受信側のプログラムも変更しました。
また今回、受信側はオリジナルの基板のものを用いています。(制御用の関数の中身も変わっています。)

送信側の変更点は、
これまで送信側のマイクロビットを傾けると一回だけ送信命令が送られていました。
例えば、ロゴが上になったのイベントが発生すると、一回無線で送信が送られます。
傾けた状態で連続で無線で送信が送られるように変更しました。

送信側

KRCboard_control_v6.png

送信側コード解説

最初だけのブロック中に無線グループの設定を行います。
ずっとブロックでは、マイクロビットの傾きをモニターしていて、その値を右左(X軸)、上下(Y軸)を変数に入れています。その際、-1023から1023を-40から40の値にリスケールしています。
無線で送信するときには”名前”と”値”のペアーにして送信します。
上下は、前後に動かす命令なので”go"とし、左右は、左右に曲がるので"turn"、ボタンは、腕を動かすので"arm"という名前にしています。
上下・左右は、入力内にあるブロックを用いてイベントを検知し、その中にもし・・ならのWhileループを入れて、傾きの値で判断して、無線で送るを使って名前と値を送りつづけます。
ボタンイベントは、これまで通りの1回の無線を送信します。
右側にある無線で受信した時は、送信側のマイクロビットの動作テストもかねてのコードです。(受信側では、このコードに命令に対応した関数を入れることになります。)
もし・・ならの条件分岐を行います。まず、送信されてきたものの”名前”が異なるので、”名前”で条件分岐します。その後さらに、値で条件分岐をします。

受信側

KRCboard_MDF.png

受信側コード解説

最初だけのブロック中に無線グループの設定を行います。
動作に対応した関数を作成します。例えば、前進ならば、右モーター、左モーターの回転方向と回転のパワーなどをそれぞれのロボットに合わせて、それぞれのIOポートに出力していきます。
前進、行進、右回り、左回り、停止などの関数を作っていきます。
送信側で作成した無線で受信した時と同じものを作成します。その中にそれぞれの命令に対して、動作する関数を配置していきます。

右側にあるボタンイベントは、動作確認用のものです。無線が通信の問題か、それとも動作する関数の問題かを切り分けるためのものです。ご自身のロボットに対応したテストを記述してください。

※なお、今回は、これまで使っていたDFROBOTの基板ではなく、我々の仲間が製作したオリジナルの基板を用いているので、関数の中身が異なっています。(久喜ロボットクラブ
オリジナルの基板の特徴は、マイクロビットを取り付ける方向が、DC基板に対して水平にさせること、モータへの出力電圧を可変抵抗で制限できることです。DFROBOTの基板は、入力電圧を制限かけずに出力しているので、モータの定格よりも高い電圧がかかる可能性があります。連続でかけ続けるとモータが焼けてしまいます。制限をかけるには前回の記事(Microbit:DC motor制御(DFROBOT DFR0548ボード)その2 にあるように、Speedを落として使うことが必要になります。

今回作成したコードは
https://github.com/SGyutan/krc_microbit
に上げています。

完成して搭載したロボット

P_20191005_161544-3.jpg
P_20191005_161606-3.jpg

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?