範囲内に障害物がある時に前進する教育用レゴマインドストームで超音波センサーと範囲ブロックを使ったプログラムを作ってみる。超音波センサーは人間の耳には聞こえない超音波を出して物体との距離を測定する。範囲内:トレーニングロボットを前進させる範囲外:トレーニングロボットを停止させるにより物体が一定の範囲内にあるときのみ前進するプログラムを作成する。範囲ブロックとは値が範囲内(範囲外)かを判別するためのブロック。試験値が上限と下限の範囲内(外)かを判断して結果に出力する。範囲ブロックの詳細についてはこちらの記事を参照。超音波センサーで物体との距離を測定して距離が10cm~20cmの時だけ前進するプログラム。記事の最後にプログラミングと実際に動かした時の動画を載せているので確認してみて欲しい。1プログラム開始23~9をプログラム終了まで繰り返す3超音波センサーで物体との距離を測定する4測定値を5に引き渡す5測定値が10~20の範囲内かを判定する6判定結果を7に引き渡す7判定結果が”真”(範囲内)なら8、”偽”なら9を実行する8トレーニングロボットを前進させる9トレーニングロボットを停止させる使用したブロック今回使用したブロックは以下の5種類。ループブロックループ内に配置されたブロックを右側の条件に一致するまで繰り返す。ループを無限(プログラム終了まで)繰り返す。超音波センサーブロック超音波センサーの測定結果を出力、比較する為のブロック。今回は距離をcmで測定して結果を出力する為に使用する。超音波センサーで測定した距離を出力する。超音波センサー:測定、距離(cm)距離(cm):データワイヤーで範囲ブロックに出力する範囲ブロック値が範囲内(外)かを判断する。超音波センサーで測定された距離(cm)が10cm~20cmの範囲内かどうかを判定する。範囲:範囲内(範囲内の時に”真”)試験値:データワイヤーで超音波センサーブロックより測定値を受け取る下限:10(cm)上限:20(cm)結果:範囲内の時は”真”、範囲外の時は”偽”を出力する。スイッチブロック条件を判定して処理を分岐するブロック。範囲ブロックでの判定結果(範囲内/外)を元に範囲内なら”真”、範囲外なら”偽”の処理を実行する。スイッチ:ロジック(”真”か”偽”を判定する)ロジック:範囲ブロックの判定結果をデータワイヤーで受け取るタンクブロックLモーターを制御してトレーニングロボットを移動、回転させるブロック。今回はオン、オフの2パターンを使用した。実際に動かしてみた動画プログラミングと実際のトレーニングロボットの動きを動画にしている。同じような事をやりたい人の参考になればと思ってブログにしてます。Services)、WordPress、RaspberryPiに関するブログを書いています。GENERALに合格しています。分かりやすい様に書いているつもりですが質問があればメニューの「ご質問がある方」か記事一番下にあるコメントにお願いします。役に立ったのであればコメントもらえると嬉しいです。間違いがあればご指摘いただけるとありがたいです。コメントをキャンセルメールアドレスが公開されることはありません。