## **Test**
## **1. vaja**
Naloga 1: Dinamična svetlobna intenzivnost
Zgradite vezje, ki vključuje potenciometer in NeoPixel diodo. Ko obračate potenciometer, naj se intenzivnost svetlobe na NeoPixel diodi dinamično spreminja od najsvetlejše do najtemnejše. Dodajte gumb, ki omogoča preklop med barvnimi načini (npr. rdeča, zelena, modra).
```python=
from machine import Pin, ADC
import neopixel
import time
# Nastavitev pinov
potentiometer_pin = 34
button_pin = 14
neopixel_pin = 12
# Nastavitev NeoPixel diode
num_leds = 1
np = neopixel.NeoPixel(Pin(neopixel_pin), num_leds)
# Nastavitev potenciometra
pot = ADC(Pin(potentiometer_pin))
# Nastavitev gumba
button = Pin(button_pin, Pin.IN, Pin.PULL_UP)
# Barvni načini
colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)] # Rdeča, Zelena, Modra
color_mode = 0
while True:
# Branje vrednosti potenciometra
pot_value = pot.read()
# Prilagajanje svetlosti glede na vrednost potenciometra
brightness = pot_value / 4095.0 # 4095 je maksimalna vrednost za 12-bitni ADC
np[0] = tuple(int(brightness * c) for c in colors[color_mode])
np.write()
# Preverjanje stanja gumba za preklop barvnih načinov
if not button.value():
color_mode = (color_mode + 1) % len(colors)
# Počakaj malo, da se zmanjša obremenitev
time.sleep(0.1)
```

## **2. vaja**
Naloga 2: Barvno mešanje s potenciometri
Uporabite tri potenciometre za nadzor intenzivnosti rdeče, zelene in modre barve na NeoPixel diodi. Ustvarite vezje, ki omogoča mešanje barv z obračanjem potenciometrov. Gumb naj omogoča preklop med različnimi barvnimi vzorci, ki izkoriščajo mešanje barv
```python=
import machine
import neopixel
import time
# Nastavitve pinov za potenciometre
potentiometer_pins = [34, 35, 32] # Prilagodite glede na vaše povezave
# Nastavitve za gumb
button_pin = 12 # Prilagodite glede na vaše povezave
button_state = False
last_button_state = False
# Število NeoPixel diod
num_pixels = 1 # Prilagodite glede na vaše potrebe
# Ustvarite objekt za NeoPixel
pixels = neopixel.NeoPixel(machine.Pin(5), num_pixels)
# Inicializacija potenciometrov
potentiometers = [machine.ADC(machine.Pin(pin)) for pin in potentiometer_pins]
# Sledenje trenutnemu urejanemu potenciometru
current_potentiometer = 0
# Glavna zanka
while True:
# Preberi vrednosti potenciometrov
red_value = potentiometers[0].read()
green_value = potentiometers[1].read()
blue_value = potentiometers[2].read()
# Preveri gumb
button_state = machine.Pin(button_pin).value()
if button_state != last_button_state and button_state == 1:
# Povečaj indeks trenutnega potenciometra
current_potentiometer = (current_potentiometer + 1) % len(potentiometers)
# Nastavi barvo glede na vrednosti trenutnega potenciometra
if current_potentiometer == 0:
pixels[0] = (int(red_value / 4096 * 255), 0, 0)
elif current_potentiometer == 1:
pixels[0] = (0, int(green_value / 4096 * 255), 0)
elif current_potentiometer == 2:
pixels[0] = (0, 0, int(blue_value / 4096 * 255))
pixels.write()
last_button_state = button_state
# Počakaj malo, da se zmanjša obremenitev
time.sleep_ms(10)
# Ko so vse barve urejene, pomešaj barve
if current_potentiometer == 0 and button_state == 1:
mixed_color = (
int(red_value / 4096 * 255),
int(green_value / 4096 * 255),
int(blue_value / 4096 * 255)
)
pixels[0] = mixed_color
pixels.write()
time.sleep_ms(500) # Dodaten odmik, lahko prilagodite
current_potentiometer = 0 # Ponastavi sledenje trenutnemu potenciometru
```
