Bonjour à tous,
Je suis sur une conception d'éclairage pour des boutons de borne arcade sanwa OBSF-CR 30mm, avec des leds adressable WS2812B RGB et d'un arduino UNO .
voici le type de bouton, les leds éclaire le contour.
je souhaiterai que lorsque le joueur 1 ne touche plus par exemple au bouton "A" qu'une animation se déclenche après 5 mn.
J'ai trouvé un code que j'ai adapté pour mettre la couleur fixe que je désire sous chaque bouton,
mais je ne sais pas comment codé pour y ajouté une animation après une temporisation
voici le code utilisé pour l'éclairage fixe
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
// Requis pour 16 MHz Adafruit Trinket
#include <avr/power.h>
#endif
// Quelle broche de l'Arduino est connectée aux NeoPixels ?
int pin = 5;
int pin2 = 6;
// Combien de NeoPixels sont attachés à l'Arduino ?
int numPixels = 32;
// Format de couleur et débit de données NeoPixel.
int pixelFormat = NEO_GRB + NEO_KHZ800;
// Plutôt que de déclarer l'ensemble de l'objet NeoPixel ici, nous créons simplement
// un pointeur pour un, que nous allouerons ensuite plus tard
Adafruit_NeoPixel *pixels;
Adafruit_NeoPixel *pixels2;
void setup() {
// initialisation de la connexion série
// IMPORTANT : le terminal côté PC doit être réglé sur la même valeur.
Serial.begin(115200);
// on attent que le port de communication soit pret
while (!Serial) {
;
}
// créez dynamiquement un nouvel objet NeoPixel avec ces valeurs :
pixels = new Adafruit_NeoPixel(numPixels, pin, pixelFormat);
pixels2 = new Adafruit_NeoPixel(numPixels, pin2, pixelFormat);
pixels->begin(); // INITIALISER l'objet NeoPixel (OBLIGATOIRE)
// Eteint l'ensemble des led
pixels->clear();
// Envoyez les couleurs de pixel
pixels->show();
pixels->setBrightness(255); // Set BRIGHTNESS to about 1/5 (max = 255)
delay(25);//Pause
pixels2->begin(); // INITIALISER l'objet NeoPixel (OBLIGATOIRE)
// Eteint l'ensemble des led
pixels2->clear();
// Envoyez les couleurs de pixel
pixels2->show();
pixels2->setBrightness(255); // Set BRIGHTNESS to about 1/5 (max = 255)
delay(25);//Pause
}
void loop() {
// BT_01 Bleu
pixels->setPixelColor(0, pixels->Color(0, 0,255));
pixels->setPixelColor(1, pixels->Color(0, 0,255));
pixels->setPixelColor(14, pixels->Color(0, 0,255));
pixels->setPixelColor(15, pixels->Color(0, 0,255));
// BT_02 Jaune
pixels->setPixelColor(2, pixels->Color(255, 255,0));
pixels->setPixelColor(3, pixels->Color(255, 255,0));
pixels->setPixelColor(12, pixels->Color(255, 255,0));
pixels->setPixelColor(13, pixels->Color(255, 255,0));
// BT_03 Orange Foncé
pixels->setPixelColor(4, pixels->Color(255, 102,0));
pixels->setPixelColor(5, pixels->Color(255, 102,0));
pixels->setPixelColor(10, pixels->Color(255, 102,0));
pixels->setPixelColor(11, pixels->Color(255, 102,0));
// BT_04 Bleu Claire
pixels->setPixelColor(6, pixels->Color(0, 191,255));
pixels->setPixelColor(7, pixels->Color(0, 191,255));
pixels->setPixelColor(8, pixels->Color(0, 191,255));
pixels->setPixelColor(9, pixels->Color(0, 191,255));
// BT_05 Vert Violet 153, 21,255
pixels->setPixelColor(16, pixels->Color(0, 255, 0));
pixels->setPixelColor(17, pixels->Color(0, 255, 0));
pixels->setPixelColor(30, pixels->Color(0, 255, 0));
pixels->setPixelColor(31, pixels->Color(0, 255, 0));
// BT_06 Rouge
pixels->setPixelColor(18, pixels->Color(255, 0,0));
pixels->setPixelColor(19, pixels->Color(255, 0,0));
pixels->setPixelColor(28, pixels->Color(255, 0,0));
pixels->setPixelColor(29, pixels->Color(255, 0,0));
// BT_07 Violet
pixels->setPixelColor(20, pixels->Color(102, 0,204));
pixels->setPixelColor(21, pixels->Color(102, 0,204));
pixels->setPixelColor(26, pixels->Color(102, 0,204));
pixels->setPixelColor(27, pixels->Color(102, 0,204));
// BT_08 Orange Pale
pixels->setPixelColor(22, pixels->Color(250, 121,35));
pixels->setPixelColor(23, pixels->Color(250, 121,35));
pixels->setPixelColor(24, pixels->Color(250, 121,35));
pixels->setPixelColor(25, pixels->Color(250, 121,35));
// Envoyez les couleurs de pixel mise à jour au matériel.
pixels->show();
// BT_01 Bleu
pixels2->setPixelColor(0, pixels->Color(0, 0,255));
pixels2->setPixelColor(1, pixels->Color(0, 0,255));
pixels2->setPixelColor(14, pixels->Color(0, 0,255));
pixels2->setPixelColor(15, pixels->Color(0, 0,255));
// BT_02 Jaune
pixels2->setPixelColor(2, pixels->Color(255, 255,0));
pixels2->setPixelColor(3, pixels->Color(255, 255,0));
pixels2->setPixelColor(12, pixels->Color(255, 255,0));
pixels2->setPixelColor(13, pixels->Color(255, 255,0));
// BT_03 Orange Foncé
pixels2->setPixelColor(4, pixels->Color(255, 102,0));
pixels2->setPixelColor(5, pixels->Color(255, 102,0));
pixels2->setPixelColor(10, pixels->Color(255, 102,0));
pixels2->setPixelColor(11, pixels->Color(255, 102,0));
// BT_04 Bleu Claire
pixels2->setPixelColor(6, pixels->Color(0, 191,255));
pixels2->setPixelColor(7, pixels->Color(0, 191,255));
pixels2->setPixelColor(8, pixels->Color(0, 191,255));
pixels2->setPixelColor(9, pixels->Color(0, 191,255));
// BT_05 Vert Violet 153, 21,255
pixels2->setPixelColor(16, pixels->Color(0, 255, 0));
pixels2->setPixelColor(17, pixels->Color(0, 255, 0));
pixels2->setPixelColor(30, pixels->Color(0, 255, 0));
pixels2->setPixelColor(31, pixels->Color(0, 255, 0));
// BT_06 Rouge
pixels2->setPixelColor(18, pixels->Color(255, 0,0));
pixels2->setPixelColor(19, pixels->Color(255, 0,0));
pixels2->setPixelColor(28, pixels->Color(255, 0,0));
pixels2->setPixelColor(29, pixels->Color(255, 0,0));
// BT_07 Violet
pixels2->setPixelColor(20, pixels->Color(102, 0,204));
pixels2->setPixelColor(21, pixels->Color(102, 0,204));
pixels2->setPixelColor(26, pixels->Color(102, 0,204));
pixels2->setPixelColor(27, pixels->Color(102, 0,204));
// BT_08 Orange Pale
pixels2->setPixelColor(22, pixels->Color(250, 121,35));
pixels2->setPixelColor(23, pixels->Color(250, 121,35));
pixels2->setPixelColor(24, pixels->Color(250, 121,35));
pixels2->setPixelColor(25, pixels->Color(250, 121,35));
// Envoyez les couleurs de pixel mise à jour au matériel.
pixels2->show();
}
Merci d'avance