import machine
import utime
import urandom
# internal LED definition
led_onboard = machine.Pin(25, machine.Pin.OUT)
# external RED, YELLOW, GREEN LED
led = machine.Pin(2, machine.Pin.OUT)
# input definitions
left_button = machine.Pin(5, machine.Pin.IN, machine.Pin.PULL_DOWN)
right_button = machine.Pin(6, machine.Pin.IN, machine.Pin.PULL_DOWN)
# main loop
led_onboard.value(1)
led.value(0)
pressed = False
fastest_button = None
def button_handler(pin):
global pressed, fastest_button
if not pressed:
pressed = True
fastest_button = pin
timer_reaction = utime.ticks_diff(utime.ticks_ms(), timer_start)
print("Your reaction time was " + str(timer_reaction) + " milliseconds!")
# initialization
led.value(1)
utime.sleep(urandom.uniform(5, 10))
led.value(0)
timer_start = utime.ticks_ms()
left_button.irq(trigger=machine.Pin.IRQ_RISING, handler = button_handler)
right_button.irq(trigger=machine.Pin.IRQ_RISING, handler = button_handler)
# main loop
while fastest_button is None:
utime.sleep(1)
if fastest_button is left_button:
print("Left Player wins!")
elif fastest_button is right_button:
print("Right Player wins!")