Je me lance pour la 1ere fois dans un projet Arduino. Et pour commencer, je dois simplement (enfin je pensais...) contrôler une bande led.
J'ai donc acheter une bande WS2812B 30 leds adressable individuellement ainsi qu'un UNO R3.
Le problème que je rencontre et que je n'arrive pas à gérer chaque led, le comportement de la bande est assez chaotique, si je tente d'allumer uniquement la 1ere led, c'est des leds et couleurs aléatoires qui s'allument (sans récurrence particulière etc...). Si je boucle sur toutes les leds, même choses évidemment.
J'alimente le tout par une alimentation externe de 5V/2A. J'y ai mis en amont un condensateur de 1000uF.
Je relis le DIN de la bande sur la sortie 6 du UNO, avec une résistance de 470 Ohms entre.
J'ai tenté avec 2 bandes différentes, en connectant le GND directement sur le UNO ou non. J'ai essayé sans résistance, en USB plutôt qu'avec l'alimentation, rien n'y fais j'ai toujours le même résultat.
Alimentation séparée pour le ruban, capable de fournir un courant de 60 mA multiplié par le nombre de leds, soit 2 A pour toi. Les GND doivent être connectés entre l'arduino et le ruban.
Oui tout me parait quasi identique hormis que pour l'alimentation j'utilise la même pour l'Arduino et la bande, comme sur ce schema et beaucoup de tuto/vidéos que j'ai vu (avec le condensateur en plus)
As-tu essayé d’alimenter l’Arduino et le ruban séparément : l’Arduino via l’USB et le ruban via ton alimentation en enlevant le fil entre le 5V de l’Arduino et ton PCB ?
Sinon une petite remarque : dans ton code, je remplacerais bien CHSV(0,0,100) qui est sensé donner un genre de blanc pâle par quelque chose comme CHSV(0,255,255) (rouge) pour avoir un résultat bien franc.
AlainGourves:
As-tu essayé d’alimenter l’Arduino et le ruban séparément : l’Arduino via l’USB et le ruban via ton alimentation en enlevant le fil entre le 5V de l’Arduino et ton PCB ?
Sinon une petite remarque : dans ton code, je remplacerais bien CHSV(0,0,100) qui est sensé donner un genre de blanc pâle par quelque chose comme CHSV(0,255,255) (rouge) pour avoir un résultat bien franc.
C'est ce que j'ai essayé ce matin ^^ et j'obtiens le même résultat...
Pour ce qui est du code, j'ai déjà essayé différentes combinaisons, dans tous les cas je résultat est le même est assez franc, puisque c'est des leds de différentes couleurs qui s'allument.
mrfloww:
C'est justement le soucis, j'ai fait ce test pour n'allumer qu'une led, hors c'est des plusieurs leds aléatoires sur la bande qui s'allument.
Tu définis
#define NUM_LEDS 30
et tu n'en allumes qu'une : c'est bizarre. Peut-être que ce cas n'est pas traité dans la bibliothèque. Il faut peut-être mettre les 29 autres leds à 0 ?
Sinon, essaye
#define NUM_LEDS 1
ou essaye avec les lignes de code que je t'ai fournies, qui allument toutes les leds.
Je définis qu'il y a 30 leds pour faire mon test je ne cherche à en allumer qu'une seule, ou une par une avec une boucle... mais ça ne fonctionne pas il y en a plusieurs qui s'allument.
BrUnO14200 m'a mis sur la voie ! en suivant son conseil j'ai essayé avec la lib Neopixel plutôt que FastLed et... BINGO ça fonctionne. le problème étant que pour la suite je vais avoir besoin d'un contrôle très rapide et je ne suis pas sur que Neopixel suffise...
Pourquoi ça ne fonctionne pas avec FastLed ? je pense au fait que ma bande vient d'AliExpress et que le chips n'est peut etre pas un WS2812B exactement... difficile à dire...
lesept:
As-tu essayé de mettre les 29 autres leds à 0 ?
Oui bien sur, je commence par ça d'ailleurs.
Quand je met tout à 0, la situation est normale : aucune LED allumée.
Dès que j'en allume 1, c'est chaotique.
BrUnO14200:
Ca donne quoi l'essai d'une autre lib ?
Et bien je suis en train de faire différent test et comme je disais, avec Neopixel ça fonctionne !
J'avais peur qu'elle ne soit pas assez performante pour la suite (j'ai besoin de contrôle très très rapide) mais pour l'instant elle semble très bien réagir à ce que je lui demande !
Je pense donc que je vais laisser tomber FastLed et rester comme ça. ma curiosité me poussera surement à retester FastLed avec une bande qui ne vient pas d'AliExpress... mais pour le moment je continu mon projet comme ça.