Bonjour
Je me permet de faire appel à votre aide. Je suis un peu novice avec les Arduinos.
Présentation de mon projet.
J'ai un bandeau de Led connecté sur l'Arduino en pin 3 ainsi que 2 boutons en Pin 2 et 4 qui me permette de changer les couleurs sur le bandeau.
Je souhaiterais que le bouton 1 gère l'allumage des leds 1.2.3.4 dans un cycle prédéfini a chaque appui sur le bouton1.
Je souhaiterais que le bouton 2 gère l'allumage des leds 5.6.7.8 dans un cycle prédéfini équivalent à celui du 1 à chaque appui sur le bouton 2.
J'ai réussit a le faire avec le bouton 1. Je cherche à faire pareil avec le bouton 2. J'ai aucune idée comment je peux faire pour inclure la même chose sur le bouton 2 .
Voici mon code actuellement . Je suis preneur pour toute proposition.
#include <FastLED.h>
#define LED_PIN 3
#define NUM_LEDS 8
#define BOUTON1 2
#define BOUTON2 4
CRGB leds[NUM_LEDS];
int etatBouton;
void setup()
{
// put your setup code here, to run once:
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
pinMode(LED_PIN, OUTPUT); // la led est une sortie
pinMode(BOUTON1, INPUT); // le bouton est une entrée
pinMode(BOUTON2, INPUT); // le bouton est une entrée pinMode
etatBouton = HIGH; // on initialise l'état du bouton comme "relaché"
}
void loop()
{
static int coul = 0;
static bool etatPrec = false;
bool etatBouton = !digitalRead(BOUTON1);
if (etatBouton && !etatPrec)
{
// on vient d'enfoncer le bouton
coul++;
if (coul >= 8)
coul = 0;
}
etatPrec = etatBouton;
switch (coul)
{
case 0:
leds[0] = CRGB(0, 0, 0); // Noir
leds[1] = CRGB(0, 0, 0);
leds[2] = CRGB(0, 0, 0);
leds[3] = CRGB(0, 0, 0);
FastLED.show();
break;
case 1:
leds[0] = CRGB(0, 0, 255); // Noir
leds[1] = CRGB(0, 0, 255);
leds[2] = CRGB(0, 0, 255);
leds[3] = CRGB(0, 0, 255);
FastLED.show();
break;
case 2:
leds[0] = CRGB(0, 255, 0); // Vert
leds[1] = CRGB(0, 255, 0);
leds[2] = CRGB(0, 255, 0);
leds[3] = CRGB(0, 255, 0);
FastLED.show();
break;
case 3:
leds[0] = CRGB(0, 255, 255); // Cyan
leds[1] = CRGB(0, 255, 255);
leds[2] = CRGB(0, 255, 255);
leds[3] = CRGB(0, 255, 255);
FastLED.show();
break;
case 4:
leds[0] = CRGB(255, 0, 0); // Rouge
leds[1] = CRGB(255, 0, 0);
leds[2] = CRGB(255, 0, 0);
leds[3] = CRGB(255, 0, 0);
FastLED.show();
break;
case 5:
leds[0] = CRGB(255, 0, 255); // Magenta
leds[1] = CRGB(255, 0, 255);
leds[2] = CRGB(255, 0, 255);
leds[3] = CRGB(255, 0, 255);
FastLED.show();
break;
case 6:
leds[0] = CRGB(255, 255, 0); // Jaune
leds[1] = CRGB(255, 255, 0);
leds[2] = CRGB(255, 255, 0);
leds[3] = CRGB(255, 255, 0);
FastLED.show();
break;
case 7:
leds[0] = CRGB(255, 255, 255); // Blanc
leds[1] = CRGB(255, 255, 255);
leds[2] = CRGB(255, 255, 255);
leds[3] = CRGB(255, 255, 255);
FastLED.show();
break;
break;
}
// setColor(0, 255, 0); // green
// break;
// case 2:
// setColor(0, 0, 255); // blue
// break;
// case 3:
// setColor(255, 255, 0); // yellow
// break;
// case 4:
// setColor(80, 0, 80); // purple
// break;
// case 5:
// setColor(0, 255, 255); // aqua
// break;
delay(10);
}
//void loop()
//{
// etatBouton = digitalRead(BOUTON); // Rappel : bouton = 2
//
// if (etatBouton == HIGH) // test si le bouton a un niveau logique HAUT
// {
// leds[0] = CRGB(255, 0, 0);
// leds[1] = CRGB(255, 0, 0);
// leds[2] = CRGB(255, 0, 0);
//leds[3] = CRGB(255, 0, 0);
//FastLED.show();
//delay(100);
// }
//else // test si le bouton a un niveau logique différent de HAUT (donc BAS)
//{
//leds[0] = CRGB(0, 255, 0);
//leds[1] = CRGB(0, 255, 0);
//leds[2] = CRGB(0, 255, 0);
//leds[3] = CRGB(0, 255, 0);
//FastLED.show();
//delay(100);
// }
// }