AnglerFish(アンコウ)の組み立てとプログラミング ~レゴマインドストームEV3~
Contents
AnglerFish(チョウチンアンコウ)とは
教育用レゴマインドストームEV3の基本セットでAnglerFish(チョウチンアンコウ)を組み立ててみた。
Anglerは魚釣りという意味なのでAnglerFishは魚釣りをする魚。
チョウチンアンコウは頭の上の突起物を揺らして小魚をおびき寄せるのでこんな名前がついているのだと思う。
レゴではチョウチンの部分はカラーセンサー、大きな目はタイヤのホイールを使って表現している。
組み立て動画
AnglerFishの組み立て動画はこちら
駆動部、センサー類の説明
Mモーター | 胴体部分のMモータで口の開閉を行う 時計回り(プラス)で閉める、反時計回り(マイナス)で開ける動作を行う 下記は時計回りで口を閉じる時の動作 Mモーターの動作は上顎についている超音波センサーで制御することにした | ||||||
超音波センサー | 上顎に超音波センサーがついている 超音波センサーは超音波を使って物体との距離を測定することができる 超音波センサーの4cm以内に物体が近づいたらMモーターを制御して口を閉じるプログラミングをしてみる | ||||||
ジャイロセンサー | 胴体下部、中央についているジャイロセンサー ジャイロセンサーについての記事はこちら ジャイロセンサーは動いた角度や角速度(単位時間あたりの角度)を測定する事ができる ジャイロセンサーを中心にチョウチンアンコウが回転したときにカラーセンサーのライトの色を変えるプログラミングをしてみる | ||||||
カラーセンサー | チョウチン部分はカラーセンサーを使用している カラーセンサーには3種類のモードがありそれぞれ異なる色のライトが光る この機能を利用してジャイロセンサーの角度によりライトの色を変えるプログラミングをしてみる つまりチョウチンアンコウが体の向きを変えるとチョウチンの光る色を変えるプログラムにする カラーセンサーのモード
| ||||||
しっぽ(手動) | しっぽは手動だが左右に動く |
プログラム概要
まずはプログラムの全体図、それぞれのブロックの詳細は後述する
1.と2.それれぞれ並列で動作する
上のロジック部は口の開閉のコントロール、下はカラーセンサーの光のコントロールを行っている。
尚、記事の最後にプログラミングと実際に動かした時の動画を載せているので確認してみて欲しい。
プログラム全体
1 | プログラム開始 2~7までと8~15までを並行して動作させる |
2 | 口を閉じて初期状態にする |
3 | 4~7をプログラム終了まで繰り返す |
4 | 口を開ける |
5 | 超音波センサーの測定値が4cm以下になるまで待機する |
6 | 口を閉じる |
7 | 5秒間待機する |
8 | 9~15をプログラム終了まで繰り返す |
9 | ジャイロセンサーでプログラム開始からの回転角度を測定して10に引き渡す |
10 | 回転角度が-10~10度の範囲内かどうかを判定(真 or 偽)する |
11 | 10の結果が真なら12、偽なら13の処理を実行する |
12 | カラーセンサーを色の判定モードにする(白色) |
13 | ジャイロセンサーの角度が10度より大きいかどうかを判定して大きければ14、そうでなければ15を実行する |
14 | カラーセンサーを反射光の強さの判定モードにする(赤色) |
15 | カラーセンサーを周辺の光の強さ判定モードにする(青色) |
使用したブロック
今回使用したブロックは以下の7種類。
ループブロック
ループ内に配置されたブロックを右側の条件に一致するまで繰り返す。
プログラムを終了させるまでループする
口の開閉、カラーセンサーの光のコントロール等、プログラムが終了するまでループさせる為のブロック |
Mモーターブロック
軽いものを素早く動かすのが得意なモーター
今回はチョウチンアンコウの口の開閉に使用する
待機ブロック
指定した条件になるまで待機する。
超音波センサーの測定距離が4cm未満になるまで待機する 口の付近に餌があるかどうかを超音波センサーで判断する
| |
5秒間待機する 口を閉じてから次に口を開けるまでの待機時間
|
ジャイロセンサーブロック
動いた角度や角速度を測定するブロック
プログラム開始時からチョウチンアンコウが左右に回転した角度を測定する 時計回りはプラス、反時計回りはマイナスで測定結果が出力されるが今回は下向きにジャイロセンサーを取り付けたのでプラス、マイナスが逆に測定されるので注意
|
範囲ブロック
値が範囲内(範囲外)かを判別するためのブロック。
試験値が上限と下限の範囲内(外)かを判断して結果に出力する。
プログラム開始時からチョウチンアンコウが左右に回転した角度が-10~10度の範囲内かどうかを判定する
|
スイッチブロック
条件によって処理を分岐することができるブロック。
センサーの測定値やロジック(”真” or ”偽”)など様々な条件を指定する事ができる。
範囲ブロックの測定結果(真 or 偽)を元に分岐を行う ✓は範囲内(-10度~10度)、×は範囲外の時に実行される
| |
上記の分岐で範囲外の時に更に分岐する ジャイロセンサーの測定値を元に-10度より小さい時と10度より大きい時とで処理を分岐する
|
カラーセンサーブロック
カラーセンサーには3種類のモードがありそれぞれ光の色が異なる。
モードを切り替えることによりチョウチンアンコウのチョウチン部分の光の色を変える
プログラミングと実際に動かしてみた時の動画
AnglerFish(チョウチンアンコウ)のプログラミングと実際に動かしてみた時の動画
チョウチンアンコウを左右に回転させると光の色が変わるのが分かるので動画で確認してみて欲しい
最近のコメント