# oef 1 laat een rode led lopen op je ledpixelstrip 0,1,2,3,4,5,6,7,0,1….
# en regel de snelheid met je potentiometer
from machine import Pin, ADC
from neopixel import NeoPixel
import time
# Instellingen
NUM_LEDS = 16
PIN_NEO = 32 # GPIO pin voor de Ledstrip
PIN_POT = 34 # GPIO pin voor de Potentiometer
# Initialisatie
np = NeoPixel(Pin(PIN_NEO), NUM_LEDS)
pot = ADC(Pin(PIN_POT))
# ESP32 specifiek: Bereik instellen op 0-3.3V (standaard is het 1V)
pot.atten(ADC.ATTN_11DB)
def map_fct(x, in_min, in_max, out_min, out_max):
return int((x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
while True:
for i in range(NUM_LEDS):
# 1. Lees potentiometer (read_u16 geeft 0 - 65535)
pot_waarde = pot.read_u16()
# 2. Bereken vertraging (snelheid)
# We willen een snelheid tussen bijv 1 en 10 stappen per seconde
delay_tijd = map_fct(pot_waarde, 0, 65535, 1000, 100)
np.fill((0, 0, 0)) # Alles uit
np[i] = (255, 0, 0) # Huidige led op ROOD
np.write()
time.sleep_ms(delay_tijd)