Bonjour à tous j'essaye de donner un mouvement à effet que je fais sur une ledstrip addressable. En fait j'essaye de tout décaler d'une couleur dans une boucle mais cela ne fonctionne pas.
#include <Adafruit_NeoPixel.h>
#define PIN 4
int i;
int pixel;
int numpixel=8;
int red;
int blue;
int green;
// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(numpixel, PIN, NEO_GRB + NEO_KHZ400);
void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
strip.setPixelColor(0, 0, 0, 255);
strip.setPixelColor(1, 0, 0, 255);
strip.setPixelColor(2, 255, 0, 0);
strip.setPixelColor(3, 255, 0, 0);
strip.setPixelColor(4, 255, 255, 255);
strip.setPixelColor(5, 255, 255, 255);
strip.setPixelColor(6, 0, 0, 255);
strip.setPixelColor(7, 0, 0, 255);
strip.show();
delay(1000);
int pos =0;
for(int i=0; i<strip.numPixels(); i++)
{
uint32_t color = strip.getPixelColor(i);
strip.setPixelColor(i+1, color);
strip.show();
delay(100);
}
delay(1000);
}
Ce code me recouvre tout en bleu ...
Alors je crée une boucle sur le nombre de pixel et je lis la couleur et je las mets sur le pixel suivant mais cela me recouvre tt de bleu alors que j'ai du qques pixel en rouge à l'initialisation.
normal, tu lis la couleur du 0 pour la mettre dans le 1, puis tu lis celle du 1 pour mettre dans le 2... donc tout se retrouve à la couleur du premier. il faut faire dans l'autre sens :
Je comprends pas sur le papier j'ai fait la boucle et cela marche.
normalement je devrais avoir le mm nombre de bleu et de blanc tt le tps mais la nan ....
Oui je l'ai corrigé dans le post précédent.
Normalement je devrais obtenir un blanc un bleu mais j'ai sur la bande parfois 3 blancs à la suite ...
Cordialement,
bypbop
Alors j'ai compris pourquoi en fait : en faisant comme ca qd je lis le pixel 7 je le mets de suiste sur 0 normal vu que je suis à la fin du strip mais le prob aprés c'est que j'ai plus la valeur du pixel 0 qd j'arrive en fin de boucle.
J'ai essayé j'ai mis ca pour avoir i=0 car le premier pixel c'est 0 : 8 pixels premier 0 et dernier 7
d'ou le moins un sur strip.numPixels()-1;
Cordialement,
bypbop