#include <Adafruit_NeoPixel.h>
#include <Toggle.h>
const byte brocheStrip = 6;
const byte nbLeds = 10;
Adafruit_NeoPixel strip(nbLeds, brocheStrip, NEO_GRB + NEO_KHZ800);
const byte brocheBouton = 2;
Toggle leBouton;
// Définition de la structure pour représenter une couleur
struct Couleur {
uint32_t couleurRGB; // Valeur de la couleur au format Adafruit_NeoPixel
const char *nom; // Nom de la couleur
};
// un exemple d'une liste de couleurs
Couleur lesCouleurs[] = {
{Adafruit_NeoPixel::Color(255, 0, 0), "ROUGE"},
{Adafruit_NeoPixel::Color( 0, 255, 0), "VERT"},
{Adafruit_NeoPixel::Color( 0, 0, 255), "BLEU"},
{Adafruit_NeoPixel::Color(255, 255, 255), "BLANC"},
{Adafruit_NeoPixel::Color(128, 0, 128), "VIOLET"},
};
size_t nombreDeCouleurs = sizeof(lesCouleurs) / sizeof(lesCouleurs[0]);
size_t IndexCouleurChoisie = 0;
void affichage() {
Serial.println(lesCouleurs[IndexCouleurChoisie].nom);
for (size_t i = 0; i < nbLeds; i++) strip.setPixelColor(i, lesCouleurs[IndexCouleurChoisie].couleurRGB);
strip.show();
}
void couleurSuivante() {
IndexCouleurChoisie++;
if (IndexCouleurChoisie >= nombreDeCouleurs) IndexCouleurChoisie = 0;
affichage();
}
void gestionCouleur() {
leBouton.poll();
if (leBouton.onPress()) couleurSuivante();
}
void setup() {
leBouton.begin(brocheBouton);
strip.begin();
Serial.begin(115200);
affichage();
}
void loop() {
gestionCouleur();
// le reste de votre code
}