【EV3 Classroom入門】7-1 カラーセンサー(反射光)
みなさん、こんにちは。さいたま市のプログラミング教室「ツクリウム」です。
こちらはEV3 Classroomの入門記事になります(後継のSPIKEプライムやスクラッチにも役立つかと思いますので参考にしてみてください)。さて、今回のプログラムはカラーセンサーの反射光モードに関するブロックの解説です。
7-1 条件(指定ポート)のカラーセンサーの反射光の強さは指定する値(数値)と条件(<、>、=)かどうか?
解説:カラーセンサーの反射光モードの値が指定した条件かどうかを調べます。結果は真偽のどちらかです。指定できる条件は、~より小さい、~より大きい、等しい、のどれかです。なお反射光の強さは0%~100%までで0%に近いほど暗く(黒)、100%に近いほど明るい(白)という意味です。色モードとは違い0~100まで連続的に把握できるため、P制御やPID制御などのより複雑なライントレースの処理に使われることが多いです。P制御やPID制御についてはアルゴリズム演習のほうで扱いたいと思います。
例:反射光モードを用いたライントレース(動作未確認)
プログラムがスタートすると、
無限ループを繰り返す。
内容は、
もし、反射光モードが50%未満(黒とみなす)であれば、
右方向(60)へ移動し続ける。
違えば、
左方向(-60)へ移動し続ける。
です。
例:やや複雑なライントレース。
黒のラインに近い場合は、ゆるめに曲がり、大きく外れている場合は大きく曲がることでスピードアップを狙ったもの。基本はオン・オフ制御で反射光の中間値より大きいか小さいかで処理を分けるが、この例ではさらにそれぞれの中間値の25%、75%で処理をわけて合計4つの範囲で処理を分けている(動作未確認)。なお、こうした処理をより滑らかにしたものがP制御によるライントレースになります。
7-2 (指定ポート)の反射光の強さを取得
解説:カラーセンサーの反射光の強さの値を取得します。値は楕円の空欄がある部分に入れることができます。
例:
プログラムがスタートすると、
タイマーの値が10秒になるまで繰り返します。
内容は、
反射光モードの値を表示します。(処理が行われるたびにそのつど、更新し続けます)
です。
注意:ちなみにLabView版では可能だった待機命令との組み合わせではプログラムスタート直後の反射光の値を表示し続けてしまいます。
その他の反射光モードに関する命令
7-3 カラーセンサーの反射光の強さの(最小値/最大値)を(X)に調整する
解説:カラーセンサーの反射光の最小値や最大値を設定します。通常は最低値が0、最高値が100ですが、実際にロボットを動かす環境では照明などで相当にバラツキがあります。そのためこの命令をうまく使えば、あらかじめ調整することでよりライントレースなどカラーセンサーを使った処理の精度を高めることができます。
7-4 カラーセンサーの反射光の強さを調整前にリセットする。
解説:7-3の命令で調整したカラーセンサーの反射光の設定をリセットします。
入会、または、体験会のお申込み
プログラミング教室「ツクリウム」ではスクラッチやPythonなどを学ぶ、小学生、中学生、高校生、主婦層やシニアなどの初心者向けの講座を通学形式やオンライン形式で開講しています。
お問いあわせ・ご入会・体験会のお申込みは下記のリンクからお願いいたします。
画像をクリックするとお問い合わせページにジャンプします。