import machine
import neopixel
import random
import time
# Параметры
LED_PIN = 15
NUM_LEDS = 16
POT1_PIN = 26
POT2_PIN = 27
# Инициализация
np = neopixel.NeoPixel(machine.Pin(LED_PIN), NUM_LEDS)
pot1 = machine.ADC(machine.Pin(POT1_PIN))
pot2 = machine.ADC(machine.Pin(POT2_PIN))
# Функция для получения значения потенциометра
# Возвращает нормализованное значение в заданном диапазоне
def read_pot(pot, min_val, max_val):
return min_val + (pot.read_u16() * (max_val - min_val) // 65535)
while True:
# Чтение значений потенциометров
blink_delay = read_pot(pot1, 50, 1000) / 1000
num_blinking = read_pot(pot2, 1, NUM_LEDS)
np.fill((0, 0, 0))
# Выбираем случайные светодиоды и задаем случайные цвета
for _ in range(num_blinking):
led_index = random.randint(0, NUM_LEDS - 1)
color = (
random.randint(255, 255), # Красный
random.randint(0,0), # Зеленый
random.randint(0,0) # Синий
)
np[led_index] = color
np.write()
# Ожидание
time.sleep(blink_delay)