Časovač#

Zavedení#

Časovač kódovacího robota VEX AIM sleduje uplynulý čas od zahájení projektu. Lze jej použít k měření, jak dlouho něco trvá, nebo k resetování pro nové operace časování.

Níže je uveden seznam všech metod:

Metody – Ovládání časovače.

  • reset – Vynuluje časovač.

  • time – Vrátí, kolik času uplynulo.

  • event – Registruje funkci, která má být volána po zadaném počtu milisekund.

Konstruktor – Vytvořte časovač pro sledování času.

  • Timer – Vytvořte nový objekt časovače, který lze použít s těmito metodami.

Metody#

reset#

reset nastaví časovač na nulu. Toto lze použít k načasování dalších částí kódu v rámci stejného projektu.

Používání:

timer.reset()

Parametry

Popis

Tato metoda nemá žádné parametry.

# Display how long a turn takes
robot.move_for(100, 0)
timer.reset()
robot.turn_for(RIGHT, 90)
robot.screen.print("Time elapsed:")
robot.screen.next_row()
robot.screen.print("%d seconds" % timer.time(SECONDS))

time#

time vrací čas od posledního resetování časovače v desetinném soustavě. Časovač se automaticky resetuje na začátku projektu.

Používání:

timer.time(units)

Parametry

Popis

units

Jednotka, která představuje čas: MSEC (výchozí) – milisekundy nebo SECONDS

# Print the time in seconds
# and in milliseconds on the next row.
while timer.time(SECONDS) <= 5:
    robot.screen.clear_screen()
    robot.screen.set_cursor(1, 1)
    robot.screen.print("Time: %d" % timer.time(MSEC))
    robot.screen.next_row()
    robot.screen.print("Time: %.2f" % timer.time(SECONDS))
    wait(50, MSEC)

event#

Událost event volá funkci po uplynutí zadaného času.

Používání:

timer.event(callback, delay, arg)

Parametry

Popis

callback

Funkce, která se spustí, když dojde k události časovače.

delay

Zpoždění před voláním funkce v milisekundách.

arg

Volitelné. N-tice obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Použití událostí s parametry.

# Create a function to play a sparkle sound
def timer_callback():
    robot.sound.play(SPARKLE)

# Call the function after 2000 milliseconds (2 seconds)
timer.event(timer_callback, 2000)

Konstruktor#

Timer#

Timer vytvoří nový časovač. Timer začne okamžitě odpočítávat v okamžiku svého vytvoření a bude fungovat se všemi timer.

Usage:
Timer()

Parametr

Popis

Tento konstruktor nemá žádné parametry.

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

stopwatch = Timer()

while True:
    robot.screen.clear_screen()

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

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

    wait(0.1, SECONDS)