from machine import Pin
import neopixel
from time import time_ns
import random
# Nastavitev NeoPixel LED traku
leds = neopixel.NeoPixel(Pin(4), 16)
# Nastavitev gumba z uporabo notranjega pull-up upora
but = Pin(25, Pin.IN, Pin.PULL_UP)
# Začetna nastavitev LED-ov (v tem primeru zelena barva)
leds.fill([0,255,0])
leds.write()
# Funkcija za pridobivanje trenutnega časa v milisekundah
def time_ms():
return time_ns() // 1000000
# Začetek merjenja časa in nastavitev naključne zamude
zacetek = time_ms()
rndDelay = random.randrange(3000,4000)
# Glavna zanka igre
while True:
# Preverjanje stanja gumba
val = not bool(but.value())
# Vklop LED-ov po naključni zamudi
if time_ms() - zacetek > rndDelay:
leds.fill([255,0,0]) # Rdeča barva
leds.write()
# Obravnavanje pritiska na gumb
if val:
# Preverjanje, če je bil gumb pritisnjen prezgodaj
if time_ms() - zacetek - rndDelay < 0:
print("Ne goljufaj!")
break
else:
# Izpis časa reakcije
print("Tvoj refleks je: ", time_ms() - zacetek - rndDelay, " ms")
break