import time
from machine import Pin, ADC
time.sleep(0.1)
leds = [ Pin(i, Pin.OUT) for i in range(4, 12) ]
pot = ADC(28)
smjer = 1
# Broj ledice koja se pali/gasi
led_num = 0
adc_stara = pot.read_u16()
# Koeficijent sa kojim mnozimo ocitanu vrijednost u16
koef = 1.9 / 65535
# Racunanje trajanja
t = 0.1 + adc_stara * koef
while True:
adc = pot.read_u16()
leds[led_num].on()
t_temp = t
# Ova petlja sluzi kako bi osigurali
# konstantno ocitavnje potenciometra
# u ovom slucaju svakih 0.2 sekundi
while t_temp > 0.2:
time.sleep(0.2)
adc_stara = adc
adc = pot.read_u16()
t_temp -= 0.2
if (adc_stara != adc):
adc_stara = adc
t_new = 0.1 + adc_stara * koef
t_temp = t_new - t + t_temp
t = t_new
# Ukoliko se desi promjena napona
# na potenciometru promijeniti trajanje
if (adc_stara != adc):
adc_stara = adc
t = 0.1 + adc_stara * koef
time.sleep(t_temp)
leds[led_num].off()
led_num += smjer
# Promjena smjera kreatanja
if led_num == 7:
for led in leds:
led.on()
smjer *= -1
elif led_num == 0:
smjer *= -1