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 |
|---|---|
|
Aikaa edustava yksikkö: |
# 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 |
|---|---|
|
Funktio, joka suoritetaan, kun ajastintapahtuma tapahtuu. |
|
Viive millisekunteina ennen funktion kutsumista. |
|
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)