from machine import Pin
from neopixel import NeoPixel
import time
# --- SETUP ---
# LED Strip configuratie
LED_PIN = 32 # De pin waar de Data-in van de strip aan hangt
NUM_LEDS = 8 # Aantal LEDs op de strip
np = NeoPixel(Pin(LED_PIN, Pin.OUT), NUM_LEDS)
# Knop configuratie (voor Oefening 8)
# We gebruiken hier Pin 25 als voorbeeld voor de schakelaar
# We gebruiken PULL_UP: knop niet ingedrukt = 1 (High), ingedrukt = 0 (Low)
button = Pin(25, Pin.IN, Pin.PULL_UP)
# --- HULPFUNCTIES ---
def clear_leds():
"""Zet alle LEDs uit"""
for i in range(NUM_LEDS):
np[i] = (0, 0, 0)
np.write()
# --- OEFENINGEN ---
print("Oefening 6: Loop van 8 naar 1 (Optimaler)")
# Zorg voor een schone lei
clear_leds()
# We lopen terug van index 7 naar 0
for i in range(NUM_LEDS - 1, -1, -1):
# 1. Zet huidige pixel AAN
np[i] = (255, 0, 0)
# 2. Stuur data naar strip (Oude pixel gaat nu visueel uit, nieuwe aan)
np.write()
# 3. Wacht
time.sleep_ms(500)
# 4. Zet huidige pixel UIT in het geheugen (voorbereiding volgende stap)
np[i] = (0, 0, 0)
# Na de loop staat de laatste pixel in het geheugen wel uit,
# maar dat is nog niet naar de strip gestuurd.
np.write()