Hallo Gemeinde,
vielleicht kann mir jemand bei folgender Aufgabenstellung weiterhelfen:
Mein Sohn und ich haben einen fahrbaren Roboter mit Robot Inventor (51515) gebaut, welcher in möglichst kurzer Zeit einen abgesteckte Strecke durchfahren soll. Dabei haben wir vereinbart, dass mein Sohn Scratch benutzt und ich Python und wir anschließend gegeneinander antreten.
Um die Zeit zu messen benutzen wir die Timer/Zeitgeber "Bibliothek" (sagt man das so?):
Scratch:
Lok24
22.01.2022, 11:53
Als Antwort auf den Beitrag von MartinRS76
Editiert von
Lok24
22.01.2022, 11:56
MartinRS76 hat geschrieben:
MartinRS76 gefällt das
Auf dem Hub steht die utime-Bibliothek zur Verfügung. Damit sollte das genauer gehen.
Lok24 , MartinRS76 gefällt das
bricknerd
22.01.2022, 17:50
Als Antwort auf den Beitrag von MartinRS76
Editiert von
bricknerd
22.01.2022, 18:23
Ich hoffe, dass das hilft. datetime.now() steht als float zur Verfügung in Sekunden, hier normiert auf Millisekunden (*1000)
start_time = datetime.datetime.now()
#execute loop
x = 0
for i in range(1000):
x += i
end_time = datetime.datetime.now()
time_diff = (end_time - start_time)
execution_time = time_diff.total_seconds() * 1000
MartinRS76 gefällt das
Danke für die vielen hilfreichen Antworten!! Das utime Modul war schlußendlich der goldene Hinweis. Ich habe es jetzt so gelöst:
from mindstorms import MSHub
import utime
hub = MSHub()
hub.light_matrix.rotate('counterclockwise')
timer_start = utime.ticks_ms()
utime.sleep(5) # Platzhalter für den restlichen Code
timer_reaction = utime.ticks_diff(utime.ticks_ms(),timer_start)
hub.light_matrix.write(timer_reaction/1000)