from machine import Pin
from time import sleep, ticks_ms # ticks_ms für Zeitmessung mittels Programmlaufzeit
from random import randint
reaktionsZeit=0
led = Pin(2, Pin.OUT)
taster = Pin(4, Pin.IN, Pin.PULL_DOWN)
def t(): # Funktion zum Warten auf Tasterdruck:
z=taster.value() # Taster-Pin einlesen
while z==0: # Solange Taster nicht gedrückt ...
sleep(0.001) # eine Millisekunde warten
z=taster.value() # und Pin erneut eingelesen
led.off()
warteZeit=randint(2,5) # Erzeugt eine zufällige Zahl zwischen 2 und 5
sleep(warteZeit)
led.on()
# Warten auf Tasterdruck:
startzeit = ticks_ms() # Speichert die Programmlaufzeit in Millisekunden in der Variablen.
t()
endzeit = ticks_ms()
reaktionsZeit = endzeit - startzeit # zeitspanne = ticks_diff(endzeit,startzeit)
led.off()
print("Reaktonszeit:", reaktionsZeit, "ms")
'''
# Ohne Funktion zur Tasterabfrage:
from machine import Pin
from time import sleep
from random import randint
taster = Pin(4, Pin.IN, Pin.PULL_DOWN)
led = Pin(2, Pin.OUT)
led.off()
warteZeit=randint(2,5) # Erzeugt eine zufällige Zahl zwischen 2 und 5
sleep(warteZeit)
led.on()
reaktionsZeit=0
# Warten auf Tasterdruck:
z=taster.value() # liest den Taster-Pin ein und speichert seinen Wert in z
while z==0: # Solange z 0 ist, also der Taster nicht gedrückt wird ...
z=taster.value() # ... wird der Pin eingelesen und in z gespeichert.
sleep(0.001) # wartet eine Millisekunde
reaktionsZeit=reaktionsZeit+1 # Zählt die Reaktionszeit um 1 (ms) hoch.
led.off()
print("Reaktonszeit:", reaktionsZeit, "ms")
'''