from machine import Pin, PWM, ADC
import time
led1 = PWM(Pin(15))
led2 = PWM(Pin(16))
led3 = PWM(Pin(17))
led1.freq(1000)
led2.freq(1000)
led3.freq(1000)
potenciometar = ADC(Pin(28))
taster_naprijed = Pin(18, Pin.IN, Pin.PULL_DOWN)
taster_nazad = Pin(19, Pin.IN, Pin.PULL_DOWN)
trenutna_led = 1
def postavi_svjetlost_led(led, vrijednost):
duty_ciklus = int(vrijednost / 65535 * 1023) # Pretvorba ADC vrijednosti u PWM (0-1023)
led.duty_u16(duty_ciklus)
def ugasi_led(led):
led.duty_u16(0) # Postavljanje svjetlosti na nulu
while True:
vrijednost_potenciometra = potenciometar.read_u16()
# Postavi svjetlost trenutne LED-ice
if trenutna_led == 1:
postavi_svjetlost_led(led1, vrijednost_potenciometra)
elif trenutna_led == 2:
postavi_svjetlost_led(led2, vrijednost_potenciometra)
elif trenutna_led == 3:
postavi_svjetlost_led(led3, vrijednost_potenciometra)
# Provjeri tastere
if taster_naprijed.value():
# Ugasi trenutnu LED-icu prije prelaska
if trenutna_led == 1:
ugasi_led(led1)
elif trenutna_led == 2:
ugasi_led(led2)
elif trenutna_led == 3:
ugasi_led(led3)
trenutna_led = (trenutna_led % 3) + 1 # Prelazak na sljedeću LED-icu
time.sleep(0.2)
# Ažuriraj vrijednost za novu LED-icu
vrijednost_potenciometra = potenciometar.read_u16()
if trenutna_led == 1:
postavi_svjetlost_led(led1, vrijednost_potenciometra)
elif trenutna_led == 2:
postavi_svjetlost_led(led2, vrijednost_potenciometra)
elif trenutna_led == 3:
postavi_svjetlost_led(led3, vrijednost_potenciometra)
elif taster_nazad.value():
# Ugasi trenutnu LED-icu prije prelaska
if trenutna_led == 1:
ugasi_led(led1)
elif trenutna_led == 2:
ugasi_led(led2)
elif trenutna_led == 3:
ugasi_led(led3)
trenutna_led = (trenutna_led - 2) % 3 + 1 # Prelazak na prethodnu LED-icu
time.sleep(0.2)
# Ažuriraj vrijednost za novu LED-icu
vrijednost_potenciometra = potenciometar.read_u16()
if trenutna_led == 1:
postavi_svjetlost_led(led1, vrijednost_potenciometra)
elif trenutna_led == 2:
postavi_svjetlost_led(led2, vrijednost_potenciometra)
elif trenutna_led == 3:
postavi_svjetlost_led(led3, vrijednost_potenciometra)
time.sleep(0.01)