タイマーを使用する

タイマーは、時間間隔を測定するのに使用することができます。タイマーはセンサーのように使用されますが、EV3 ブロックに内蔵されたものであり、センサー ポートを必要としません。例えば、タイマーを使って、ロボットが一定の距離を移動するのにどれだけの時間がかかるか測定することができます。

EV3 ブロックには 8 つのタイマーがあり、最大 8 つの事を同時に計測することができます。プログラムにおいてどの時点でもタイマーをゼロにリセットすることができ、その時点から時間測定をまた開始することになります。
ヒントと豆知識
プログラムで、単純に一定量の時間だけ待機したい場合は、待機時間モードで待機ブロックを使用することができます。タイマーを使用することにより、タイマーをリセットして、プログラムの異なる場面でタイマーをテストすることができます。
タイマー データ
タイマーは以下のデータを提供します:
データタイプ備考
経過時間 数値タイマーが最後にリセットされた時点からの経過時間(秒)
ヒントと豆知識
ヒント:タイマーは小数を用いて秒で測定されます。1/10 秒の間隔は、0.1 秒の経過時間となります。
タイマーをリセットする
リセット モードのタイマー ブロックを使うことにより、プログラムのどの時点でもタイマーもゼロ(0.0 秒)にリセットすることができます。タイマーをリセットした後、ゼロから即時に時間測定を開始します。8 個のタイマーすべては、プログラムの開始時点で自動的にリセットされ、常に作動しています。
ヒントと豆知識
リセットしていないタイマーを測定する場合、プログラム開始以降の経過時間を取得することになります。
「タイマーを使用する」の例
プログラムでタイマーを使用する方法の例が以下に示されています。
例 1:モーターを 1 秒ごとに作動させる
このプログラムは、振り子時計のようにモーターを正確に 1 秒ごとに 45 度回転させます。このプログラムは、M モーター動作ブロックを使ってモーターを 45 度回転させます。これには 1 秒未満というわずかな時間しかかかりません。次に、モーターを再度動作させる前に1秒間隔の残存時間だけ待機する必要があります。これには、リセット モードでタイマー ブロックを使うことでモーターを開始する前に、タイマー 1 を開始します。モーターが停止した後の「タイマー - 比較 - 時間」モードの待機ブロックは、タイマー 1 が 1 秒に達するまで待機します。これにより、モーターが作動する時間と停止している時間の双方を含めて、全部で 1 秒間の間隔を持つことになります。
例 2:タッチ センサーが固定された時間の測定
このプログラムは、タッチ センサーが押される度に固定されている時間を測定し、その結果(秒)は、EV3 ディスプレイに表示されます。プログラムは、待機ブロックを使って、タッチ センサーが押されるまで待機し、次に離れるまで待機します。押された後、タイマー 1 は、リセット モードでタイマー ブロックを使ってリセットされます。離れた後、タイマー 1 の経過時間は、「測定 - 時間」モードのタイマー ブロックを使って測定されます。結果数値は表示ブロックにワイヤー接続され、数値を秒で表示します。
タイマー ブロックとモード
以下の表では、タイマーと併用できるすべてのプログラミング ブロックとモードを示しています。
ブロックモード使用例
待機 タイマー - 比較 - 時間タイマーが一定の値に達するまで待機します。
待機タイマー - 変化 - 時間タイマーが一定の量変化するまで待機します。
ループ タイマータイマーが一定の値に達するまでシーケンスを繰り返します。
スイッチ タイマータイマーに基づいて 2 つのシーケンスから選択します。
タイマー測定タイマーを読み込み、数値データ ワイヤーで結果を秒数で取得します。
タイマー比較タイマーをしきい値と比較し、ロジック データ ワイヤーで結果を取得します。
タイマーリセットタイマーをゼロにリセットします。タイマーは即時に時間測定を再開します。
ヒントと豆知識
タイマーのシンプルな使い方により、以下のブロックとモードを使用することもできます。
ブロックモード使用例
待機時間一定量の時間だけ待機します。
ループ時間一定量の時間だけブロックのシーケンスを繰り返します。
タイマー
クイックリンク