【EV3 Classroom入門】7-25 ジャイロセンサーの処理
みなさん、こんにちは。さいたま市のプログラミング教室「ツクリウム」です。
こちらはEV3 Classroomの入門記事になります(後継のSPIKEプライムやスクラッチにも役立つかと思いますので参考にしてみてください)。さて、今回のプログラムはジャイロセンサーに関するブロックの解説です。
なおEV3のジャイロセンサーはさほど精度は高くありません。また接続時に何らかのエラーがあるため調整(キャリブレーション)が必要なこともあります。と言っても方法は難しくなく、センサーとつないでいるコードを抜き差しする程度です。扱いを覚えてしまえば恐れる必要はありません。
7-25
(指定ポート)のジャイロセンサーの角度が(X)度(<、>、=、大きく変化)になるまで待つ
解説:ジャイロセンサーの角度が、指定条件になるまで待ちます。指定できる条件は、~より小さい、~より大きい、等しい、大きく変化した、です。このブロックも類似のブロックと同様にループ処理が可能です。
例:右45°ターンをし、1秒待った後で、左45°ターンを行う処理
プログラムがスタートすると、
ジャイロセンサーの角度をリセットします。
左30%、右-30%のスピードで回転を始める。
ジャイロセンサーの値が45°より大きくなるまで処理を続けます。
その後、移動をやめて、1秒待ちます。
ジャイロセンサーの角度をリセットします。
左-30%、右30%のスピードで回転を始める。
ジャイロセンサーの値が-45°より小さくなるまで処理を続けます。
その後、移動をやめて、プログラムを終了します。
補足
EV3Labではジャイロセンサーのモードを切り替えると、コードを抜き差しするのと同じような感じでリセット、調整できるようで、EV3Classroomでも同様なことができるかもしれません(未確認)。
7-26
(指定ポート)のジャイロセンサーの角度が(X)度(<、>、<=、>=)かどうか? 条件指定
解説:ジャイロセンサーの角度が指定した条件かどうかを真か偽で返します。
例:一定の回転を行い、その後、ジャイロセンサーで回転する角度を調節するプログラム。(※ただしEV3のジャイロセンサーそのものが精度が甘く、誤差が大きいため以下の例は競技などでは実用的かどうかは疑問符がつきます。これはあくまで命令の使用例とお考え下さい。)
プログラムがスタートすると、
ジャイロセンサーの値をリセットします。
左50%、右-50%のスピードで1回転します。
ジャイロセンサーの値が90°になるまで処理を続けます。
内容は、
もし、ジャイロセンサーの値が90°より大きいならば、
左-20%、右20%のスピードで移動を続けます(左回転)
もし、ジャイロセンサーの値が90°より小さいならば、
左20%、右-20%のスピードで移動を続けます(右回転)
です。
その後、移を止め、プログラムを停止します。
7-27
(指定ポート)のジャイロセンサーの角度を取得
解説:ジャイロセンサーの角度を取得します。
例:
プログラムがスタートすると、
ジャイロセンサーの値をリセット
ジャイロセンサーの値が180°になるまで繰り返す。
内容は、
右スピンターンを行う
です。
その後、移動をやめます。
そして、指定した場所にジャイロセンサーの角度と角速度を表示します。
(プログラムを停止する命令はしていないので値はそのまま表示され続けます。)
7-28
(指定ポート)のジャイロセンサーの角度をリセット
解説:ジャイロセンサーの角度をリセットし、0°にします。
例:参照7-25、7-26、7-27
注意:実は以下の例だとうまくいいきません。ジャイロセンサーの値がなぜか0°のままになってしまうときは、並列処理をそれぞれの表示命令ごとに記述するとうまくいく。(仕様なのかバグなのか不明)
並列処理にした改善例
7-29
(指定ポート)のジャイロセンサーの角度を取得
解説:ジャイロセンサーの角速度を取得します。返される値は秒ごとの度数です。例えば値が100であれば、1秒ごとに100°回転しているという意味です。
例:参照7-27、7-28
入会、または、体験会のお申込み
プログラミング教室「ツクリウム」ではスクラッチやPythonなどを学ぶ、小学生、中学生、高校生、主婦層やシニアなどの初心者向けの講座を通学形式やオンライン形式で開講しています。
お問いあわせ・ご入会・体験会のお申込みは下記のリンクからお願いいたします。
画像をクリックするとお問い合わせページにジャンプします。