前回は様々なセンサー入力を行い、いろんなゲームやアプリを作ってみました。
本日は安価で入手できるmicro:bit対応のロボットを使っていよいよロボットプログラミングに挑戦です。
micro: Maqueen Lite
micro: Maqueen LiteはDFRobot製の安価な2輪ロボットです。
前回から使用してきたMake Code上での開発はもちろん、
Mind+というプラットフォーム(英語と中国語のみ対応です)で、Python言語など本格的なプログラムの学習にも使えます。
搭載されているセンサー、機能の説明をします。まずは表面です。
①赤外線の受光センサです。
このセンサを使うと赤外線のリモコン等を使って、ロボットを操縦することが出来ます。
②赤色LED
ロボットの正面に左右に2つLEDが付いています。
ロボットが右折する際や左折する際に光らせると、車のウィンカーとしての役割を果たすことが出来ます。
③超音波距離センサ
超音波を使って物体との距離を計測することが出来ます。
④ラインセンサ用キャリブレーションスイッチ
裏面にある、ラインセンサの調整をする際に使用します。
⑤ブザースイッチ
micro: Maqueenにはブザーが内蔵しており、ブザーのON、OFFを設定できます。
⑥電源コネクタ
電池以外に外部から電源を供給したり、外部の回路を動かすための電源出力です。
⑦PWMコネクタ
PWMに対応したモータ、サーボモータを接続し、制御することが出来ます。
⑧電源スイッチ
この電源をONにするとmicro:Maqueenの回路の電源が入り、micro:bitにも電源が供給されます。
⑨ブザー
音を鳴らすことが出来ます。
⑩micro:bitソケット
こちらにmicro:bitを挿すことで、ロボットを制御できます。向きがあるので注意が必要です。
続いて裏面です。
①ラインセンサ
裏面には黒色の線と白色の線を検出するためのセンサが2つついており、ライントレースを行うことが出来ます。
②フルカラーLED
赤、緑、青のLEDが1セットになっており、様々な色に光らせることが出来ます。このセンサが4つ内蔵されています。
動作テスト
micro:Maqueen用のプログラムを書き込み、ロボットが動くか確かめてみましょう。
Make Codeには初めはMaqueen用のブロックが配置されていません。読み込む必要があります。
拡張機能をクリック
Maqueenで検索します。
Maqueenが出てきますので、クリックして選択します。
ブロックが追加されます
1秒直進して停止するプログラムを書いてみましょう。
すべての中身を変えると左右のモータを個別に制御できます。
前への中身を変えると回る方向を制御できます。
数字の中身を変えると0~255の間でタイヤの速度を制御できます。
一連の操作のアニメーションです。
ロボットに書き込んだら電源スイッチを押します。
1秒前進し、停止すれば成功です。
もう一度プログラムをはじめから動かしたい場合はリセットボタンを押します。
超音波(ちょうおんぱ)センサ
超音波センサは、物体までの距離を測定するために使われるセンサです。このセンサは、「超音波」と呼ばれる人間の耳には聞こえない非常に高い周波数の音波を使います。
センサから超音波が発信されると、それが前方の物体に当たり、反射してセンサに戻ってきます。センサはこの反射した超音波を受け取り、音波が発信されてから戻ってくるまでの時間を測定します。音波が移動する速度は一定なので、この時間を使って物体までの距離を計算することができます。
例えば、超音波センサを使って壁までの距離を測定したり、ロボットが障害物にぶつからないようにするためのセンサとして使ったりすることができます。また、駐車補助システムやロボット掃除機など、現実世界でもさまざまな場所で利用されています。
距離をLEDに表示するプログラムは以下の通りです。
2cm以下の距離は計測できない点に注意してください。
練習問題1
ロボットの10cm以内に障害物がある場合は停止し、ない場合は前進し続けるプログラムを作ってください。
車の自動ブレーキシステムと同じです。
こたえはこちらをクリック
練習問題2
直進中に障害物を発見すると旋回して再び直進動作に戻るプログラムを作成してください。
お掃除ロボットと同じ動きです。
こたえはこちらをクリック
練習問題3
障害物との距離をだいたい10cmに保つプログラムを作成してください。
・10cmより近ければ離れる
・10cmより遠ければ近づく
高速道路で前の車についていく自動運転、オートパイロットシステムと同じです。