# Programme WS2812_02
# Allume les LED une par une 

# Importation des bibliothèques utilisées par le script
from time import sleep
from rpi_ws281x import *

# Configuration du ruban/anneau de LED:
LED_COUNT      = 12      # Nombre de LED sur le ruban/anneau.
LED_PIN        = 18      # Broche GPIO connectée au ruban/anneau (18 = PWM).
LED_FREQ_HZ    = 800000  # Fréquence du signal envoyé aux LED (800khz)
LED_DMA        = 10      # Canal DMA utilisé pour générer le signal
LED_BRIGHTNESS = 255     # 0 = éteint - 255 = maxi
LED_INVERT     = False   # Mettre True pour inverser le signal (utilisation d'un transistor en sortie)
LED_CHANNEL    = 0       # Mettre à 1 pour les GPIO 13, 19, 41, 45 ou 53


# Fonction d'affichage d'une couleur sur toutes les LED
def affiche(couleur):
    for i in range(strip.numPixels()):
        # Mettre la LED i à la couleur choisie
        strip.setPixelColor(i, couleur)
        # Valider l'affichage sur le ruban
        strip.show()
        # Attendre 1/10 seconde
        sleep(0.1)    

# Créer le ruban/anneau avec les éléments de configuration
strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS, LED_CHANNEL)
# Initialisation de la bibliothèque. A appeler avant toute utilisation
strip.begin()

affiche(Color(255, 255, 255)) # LED blanches
affiche(Color(0, 255, 0)) # LED vertes
affiche(Color(255, 0, 0)) # LED rouges
affiche(Color(0, 0, 255)) # LED bleues
affiche(Color(255, 255, 0)) # LED jaunes
affiche(Color(0, 0, 0)) # LED éteintes

    


