タイマー#

導入#

VEX AIRドローンコントローラーのタイマーは、プロジェクト開始からの経過時間を計測します。これは、作業にかかる時間を測定したり、新しい計測操作のためにリセットしたりするのに使用できます。

以下に、利用可能なメソッドの一覧を示します。

操作 – タイマーを制御する。

  • reset – タイマーをゼロにリセットします。

ゲッター – 現在のタイマー値を報告します。

  • time – 経過した時間を返します。

コールバック – 一定時間後に関数をトリガーします。

  • event – 指定されたミリ秒数後に呼び出される関数を登録します。

コンストラクタ - 時間計測用のタイマーを作成します。

  • Timer - これらのメソッドで使用できる新しいタイマー オブジェクトを作成します。

アクション#

reset#

reset はタイマーをゼロに設定します。これは、同じプロジェクト内の他のコードセクションの時間を計測するために使用できます。

Usage:
timer.reset()

パラメータ

説明

このメソッドにはパラメータがありません。

# Display the time the drone takes to climb upwards.
drone.take_off(500)
timer.reset()
drone.climb_for(UP, 500)
controller.screen.print("Time elapsed: ")
controller.screen.print(timer.time(SECONDS))
drone.land()

ゲッター#

time#

time は、タイマーが最後にリセットされてからの時間を小数で返します。タイマーはプロジェクトの開始時に自動的にリセットされます。

Usage:
timer.time(units)

パラメータ

説明

units

時間を表す単位: MSEC (デフォルト) – ミリ秒、または SECONDS

# Display the time in two units.
while True:
    controller.screen.clear_screen()
    controller.screen.set_cursor(1, 1)
    controller.screen.print("Time: {} ms".format(timer.time(MSEC)))
    controller.screen.next_row()
    controller.screen.print("Time: {:.2f} s".format(timer.time(SECONDS)))
    wait(50, MSEC)

折り返し電話#

event#

event は、指定された時間が経過した後に関数を呼び出します。

使用法:

timer.event(callback, delay, arg)

パラメータ

説明

callback

タイマーイベントが発生したときに実行される関数。

delay

関数が呼び出されるまでの遅延時間(ミリ秒単位)。

arg

オプション。コールバック関数に渡す引数を含むタプル。詳細については、パラメーター付きイベントの使用を参照してください。

# Create a function to play a looping sound.
def on_timer():
    controller.sound.play(LOOPING)

# Play the sound after 4 seconds (4000 mS).
timer.event(on_timer, 4000)

コンストラクタ#

Timer#

Timer は新しいタイマーを作成します。 Timer オブジェクトは作成された瞬間にカウントを開始し、すべての timer メソッドで動作します。

Usage:
Timer()

パラメータ

説明

このコンストラクタにはパラメータがありません。

# Display 2 timers with a 2 second difference.
wait(2, SECONDS)

stopwatch = Timer()

while True:
    controller.screen.clear_screen()

    controller.screen.set_cursor(1, 1)
    controller.screen.print("Timer: ")
    controller.screen.print(timer.time(SECONDS))

    controller.screen.set_cursor(4, 1)
    controller.screen.print("Stopwatch: ")
    controller.screen.print(stopwatch.time(SECONDS))

    wait(0.1, SECONDS)