インテリジェント ブロック ボタンを使用する



インテリジェント ブロック ボタンは、EV3 ブロック正面の 5 つのボタン(左、中央、右、上および下)です。インテリジェント ブロック ボタンをセンサーのように用いて、ボタンが押されたかどうか検知し、どのボタンが押されたのかを特定することができます。

インテリジェント ブロック ボタンを使って、プログラムをボタンの押下に反応させることができます。例えば、上下ボタンが押された時にロボットのアームを上げ下げすることができます。
ヒントと豆知識
EV3 の「戻る」ボタンは、インテリジェント ブロック ボタンに含まれません。「戻る」ボタンを押すことにより、実行中のプログラムを中止します。
また、インテリジェント ブロック ボタンはボタンが押されたかどうか、前に離れていたかどうかを追跡することもできます。これはバンプと呼ばれ、タッチ センサーのバンプ状態と同様に機能します。詳細については、タッチ センサーを使用するの「バンプを理解する」をご確認ください。
インテリジェント ブロック ボタンのデータ
インテリジェント ブロック ボタンは以下のデータを提供することができます:
データタイプ備考
ボタン ID 数値現在押されているボタンを表示します:
0 = なし
1 = 左
2 = 中央
3 = 右
4 = 上
5 = 下
押された ロジック指定されたボタン ID (1-5)に関して、ボタンが押された場合に真となり、押されていない場合には偽となります。
離れた ロジック指定されたボタン ID (1-5)に関して、ボタンが押された場合に真となり、押されていない場合には偽となります。
バンプ ロジック指定されたボタン ID (1-5)に関して、ボタンが前に押されて離れたことがある場合には真となります。次のバンプ発生には、新たに押されて離れることが必要となります。
ヒントと豆知識
インテリジェント ブロック ボタンは、複数のボタンが同時に押された時には検知できません。2 つのボタンを同時に押す場合、1 つのボタンが他のボタンに優先されます。
「インテリジェント ブロック ボタンを使用する」の例
プログラムでのインテリジェント ブロック ボタンの使い方の例の一部が以下に示されています。
例 1:ボタンを押して続行
このプログラムは、ロボットを 1 秒間だけ前方に動かし、それが済むと「Press a button …」を表示します。1 秒間だけ後方に駆動する前に、インテリジェント ブロック ボタンのいずれかが押されるまで、待機します。プログラムは、「インテリジェント ブロック ボタン - 変化」モードにより待機ブロックを使って、いずれかのインテリジェント ブロック ボタンが押されるまで待機します。
例 2:インテリジェント ブロック ボタン制御パネル
このプログラムは、左ボタンが押された時にロボットを左に旋回させ、右ボタンが押された時に右に旋回させます。プログラムは、「インテリジェント ブロック ボタン - 測定」モードのあるスイッチ ブロックを使って、どのインテリジェント ブロック ボタンが押されたのかを把握します。スイッチの 3 つの異なる条件により、ロボットに、左ボタンが押された時に左に旋回させ、右ボタンが押された時に右に旋回させ、ボタンが押されない時は停止させます。テストは、ループで継続的に繰り返されます。
ヒントと豆知識
スイッチの「+」ボタンを使って、さらなる条件を追加してください。例えば、上下ボタンを押した時に、ロボットを前方・後方に駆動させることができます。
例 3:インテリジェント ブロック ボタンによるインテリジェント ブロック ステータス ライト カラーの制御
このプログラムは、左ボタンを押した時にインテリジェント ブロック ステータス ライトを緑色でオンにし、中央ボタンを押した時にオレンジ色にし、右ボタンを押したときに赤色にします。まず、「インテリジェント ブロック ボタン - 比較」モードのスイッチ ブロックを使って、左ボタン、中央ボタンまたは右ボタンが押されたかどうかをテストします。そうでない場合、インテリジェント ブロック ステータス ライト ブロックがライトをオフにします。3 つのボタンの一つが押される場合、測定モードはインテリジェント ブロックは、データ ワイヤーで押されたボタンのボタン ID (1-3)を取得します。次に数学ブロックが、インテリジェント ブロック ステータス ライト ブロックへの色の入力(0-2)として利用するため、この値から 1 を控除します。
インテリジェント ブロック ボタン ブロックとモード
以下の表では、インテリジェント ブロック ボタンと併用できるすべてのプログラミング ブロックとモードを示しています。
ブロックモード使用例
待機インテリジェント ブロック ボタン - 比較選択したインテリジェント ブロック ボタンの一つが押されるか、離れるか、またはバンプするまで待機します。
待機インテリジェント ブロック ボタン - 変化押されたインテリジェント ブロック ボタン(ボタン ID)が変化するまで待機します。ブロックの開始時点で押されたインテリジェント ブロック ボタンがない場合、いずれかのインテリジェント ブロック ボタンが押されるまで待機します。
ループインテリジェント ブロック ボタン選択したインテリジェント ブロック ボタンが押されるか、離れるか、あるいはバンプするまで、ブロックのシーケンスを繰り返します。
スイッチインテリジェント ブロック ボタン - 測定押されるインテリジェント ブロック ボタンに応じて、2 つ以上のブロックのシーケンスから選択します。
スイッチインテリジェント ブロック ボタン - 比較選択したインテリジェント ブロック ボタンの一つが押されるか、離れるか、あるいはバンプしたかどうかによって、2 つのブロックのシーケンスから選択します。
インテリジェント ブロック ボタン測定数値データ ワイヤーで、現在押されているインテリジェント ブロック ボタンのボタン ID を取得します。
インテリジェント ブロック ボタン比較選択したインテリジェント ブロック ボタンの一つが押されるか、離れるか、あるいはバンプしたかどうかテストし、ロジック データ ワイヤーの結果を取得します。
インテリジェント ブロック ボタン
クイックリンク