## **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) ``` ![image](https://hackmd.io/_uploads/HJGNvK2LT.png) ## **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 ``` ![image](https://hackmd.io/_uploads/Hkl1oc2U6.png)
{"title":"Test","description":"Test","contributors":"[{\"id\":\"10cc9a88-5314-41ea-86d7-aee33571ccca\",\"add\":3785,\"del\":1}]"}
Expand menu