from machine import Pin, ADC
from neopixel import NeoPixel
import time
# Configuración del pin de la tira NeoPixel y del número de LEDs
led_pin = Pin(26) # Cambia al pin que estás usando
num_leds = 16 # Número de LEDs en la tira
np = NeoPixel(led_pin, num_leds)
# Configuración del potenciómetro
pot = ADC(Pin(34)) # Cambia al pin analógico que estás usando
pot.atten(ADC.ATTN_11DB) # Rango de 0 a 3.3V
def set_color(led_index, color):
"""Setea el color de un LED específico."""
np[led_index] = color
np.write()
def set_color_gradient(value):
"""Configura el color de la tira dependiendo del valor del potenciómetro."""
max_value = 4095 # Valor máximo del ADC
led_index = int((value / max_value) * num_leds)
# Apaga todos los LEDs
for i in range(num_leds):
np[i] = (0, 0, 0)
# Configura los LEDs hasta el índice calculado
for i in range(led_index):
if i < num_leds // 3:
color = (255, 0, 0) # Rojo
elif i < (2 * num_leds) // 3:
color = (255, 255, 0) # Amarillo
else:
color = (0, 255, 0) # Verde
np[i] = color
np.write()
while True:
pot_value = pot.read()
set_color_gradient(pot_value)
time.sleep(0.1)