Ajastin#

Johdanto#

VEX AIM -koodausrobotin ajastin seuraa projektin alusta kulunutta aikaa. Sitä voidaan käyttää mittaamaan, kuinka kauan jokin kestää, tai nollaamaan ajastus uusia ajoitusoperaatioita varten.

Alla on luettelo kaikista menetelmistä:

Menetelmät – Ajastimen ohjaaminen.

  • reset – Nollaa ajastimen.

  • time – Palauttaa kuluneen ajan.

  • event – Rekisteröi funktion kutsuttavaksi tietyn millisekuntien määrän kuluttua.

Rakentaja – Luo ajastin ajan seuraamiseen.

  • Timer – Luo uusi ajastinobjekti, jota voidaan käyttää näiden metodien kanssa.

Menetelmät#

reset#

reset asettaa ajastimen nollaan. Tätä voidaan käyttää saman projektin muiden koodiosien ajanottamiseen.

Käyttö:

timer.reset()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 palauttaa ajastimen viimeisimmästä nollauksesta kuluneen ajan desimaalilukuna. Ajastin nollautuu automaattisesti projektin alussa.

Käyttö:

timer.time(units)

Parametrit

Kuvaus

units

Aikaa edustava yksikkö: MSEC (oletus) – millisekuntia tai 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#

event kutsuu funktiota tietyn ajan kuluttua.

Käyttö:

timer.event(callback, delay, arg)

Parametrit

Kuvaus

callback

Funktio, joka suoritetaan, kun ajastintapahtuma tapahtuu.

delay

Viive millisekunteina ennen funktion kutsumista.

arg

Valinnainen. Tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Tapahtumien käyttö parametrien kanssa.

# 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)

Rakentaja#

Timer#

Timer luo uuden ajastimen. Timer -objekti alkaa välittömästi laskea aikaa luomishetkestä ja toimii kaikkien timer -metodin kanssa.

Usage:
Timer()

Parametri

Kuvaus

Tällä konstruktorilla ei ole parametreja.

## 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)