【EV3 Classroom入門】7-33 本体のボタンの処理
みなさん、こんにちは。さいたま市のプログラミング教室「ツクリウム」です。
こちらはEV3 Classroomの入門記事になります(後継のSPIKEプライムやスクラッチにも役立つかと思いますので参考にしてみてください)。さて、今回のプログラムは本体(インテリジェントブロック)のボタンに関するブロックの解説です。
7-30
インテリジェントブロックボタンの(いいえ/左/中央/右/上/下)が(押される/押されていない)まで待つ
解説:インテリジェントブロックの各ボタンが押された状態、または押されていない状態まで待ちます。このブロックも類似のブロックと同様にループ処理ができます。
悪い例:
この例ですと一度ボタンが押された後にすぐに処理が続いてしまうため、意図した通りには動作しません。
押したままの状態ですと値は増え続けていきます。
もちろん意図的にそうした処理を実現した場合は上記のプログラムでもよいのです。が、押したままの時に加算されるのを防ぐには次のようにボタンが押されていない状態まで待つという命令を加えます。こうすることでボタンが離されるまで加算はされなくなり、ボタンを押すごとに加算されるようになります。
プログラムがスタートすると、
i=0
無限ループを繰り返します。
内容は、
中央ボタンが押されている状態まで待つ。
i=i+1
iを表示する。
中央ボタンが押されていない状態まで待つ。
です。
また以下のようにイベントブロックで記述してもよいでしょう。必要に応じて使い分ければよいかと思います。
7-31
インテリジェントブロックボタンの(いいえ/左/中央/右/上/下)が押されたか?
解説:インテリジェントブロックの指定したボタンが押されたかどうか真か偽で返します。
例:
プログラムがスタートすると、
中央ボタンが押されるまで繰り返します。
内容は、
Bのモーターを時計回りに回し続けます。
です。
その後、Bのモーターを停止します。
プログラムを終了します。
7-32
押されたボタンの値を取得する
解説:押されたボタンの値を取得します。ボタンには「ボタンの両方を抑えたままにします」とありますがどうやらこれは誤植のようです。
なお、返される値は以下の通りです。
0=押されているボタンなし
1=左ボタン
2=中央ボタン
3=右ボタン
4=上ボタン
5=下ボタン
例:
プログラムがスタートすると、
無限ループを繰り返します。
内容は、
もし、左または中央または右または上または下のボタンが押されたら、
ボタンの値を表示します。
0.5秒待つ。
です。
入会、または、体験会のお申込み
プログラミング教室「ツクリウム」ではスクラッチやPythonなどを学ぶ、小学生、中学生、高校生、主婦層やシニアなどの初心者向けの講座を通学形式やオンライン形式で開講しています。
お問いあわせ・ご入会・体験会のお申込みは下記のリンクからお願いいたします。
画像をクリックするとお問い合わせページにジャンプします。