from machine import Pin, ADC
from time import sleep
led_pins = [0, 1, 2, 3, 4, 5, 6]
leds = [Pin(pin, Pin.OUT) for pin in led_pins]
button = Pin(15, Pin.IN, Pin.PULL_DOWN)
pot = ADC(26)
dice_faces = [
[0,0,0,1,0,0,0],
[0,1,0,0,0,1,0],
[0,1,0,1,0,1,0],
[1,0,1,0,1,0,1],
[1,0,1,1,1,0,1],
[1,1,1,0,1,1,1]
]
def show_number(n):
pattern = dice_faces[n-1]
for i in range(7):
leds[i].value(pattern[i])
def clear_leds():
for led in leds:
led.value(0)
def get_delay():
raw = pot.read_u16()
delay = 100 + (raw / 65535) * 900
return delay / 1000
while True:
if button.value() == 1:
i = 6
while button.value() == 1:
show_number(i)
sleep(get_delay())
i -= 1
if i < 1:
i = 6
clear_leds()
else:
clear_leds()