プログラミング教育用のロボットです。文字を使わず記号でプログラミングします。おもな構成要素は、Arduino Nano、OLEDディスプレイ、超音波距離センサ、赤外線受光素子、赤外線反射型センサー、スピーカー、モータードライバー、ギヤモーター、9V電池です。プログラムは最大31ステップまで入力でき、9つのプログラムをEEPROMに記憶させることができます。
プログラムは、下のような赤外線リモコンで入力します。加えて、テレビのリモコンも利用可能です。
簡単なプログラムの例です。前向きと回転の矢印はロボットの動きの命令、右端の大きな矢印は先頭に戻る命令です。 一つのロボットの動作命令は0.8秒続いたあと、次の命令に移ります。これをタクトタイムと呼びます。
このプログラムの入力と実行の様子です。前進、右45度回転、前進、左45度回転、を繰り返します。
次のプログラムはライントレースです。最初の三角はロボットの動作を連続にする命令です。0.8秒のタクトタイムが無くなり、モーターへスピードの指示を出すとすぐに次の命令に移ります。下線のある4つのブロックは、「もし」が1つ、「そうでなくてもし」が2つ、「そうでなければ」が1つです。やっていることは、
もしロボットが線の中央にいれば前進
そうでなくてもしロボットが線の左側なら右前へ
そうでなくてもしロボットが線の右側なら左前へ
そうでなければ前進
上のライントレースのプログラムの入力と実行の様子です。
このロボットにはプログラムの流れを可視化できるモードがあります。上のライントレースのプログラムで、ロボットが線の左側にいる場合の画面です。四角で囲まれている命令が実行された命令です。最初の「もし」で条件判断(ロボットが線の中央)が偽なので前進は実行せず、次の「そうでなくてもし」の条件判断(ロボットが線の左側)が真なので右前への動作を実行します。その後は「もしおわり」の命令までスキップし、最後の「くりかえす」命令で最初にもどります。表示のために若干の動作の遅れが生じますが、ロボットを動作させながらプログラムの流れをリアルタイムに見ることができます。
回路図やプログラムは後日公開予定です。



0 件のコメント:
コメントを投稿