Bonjour,
J'ai un nano r3, un clone neopixel ring 16, 3 potentiomètres de 10 kOhm linéaires. Et surtout, je suis bien bien débutant...hein...
Je cherche à pouvoir gérer les 3 couleurs, à savoir: rouge, vert et bleu, indépendamment les unes des autres, avec un potentiomètre pour chaque.
Il y a bien ce topic ici : Neopixel colour control , mais comme disait mon fils "ça pas marche...".
Je m'explique:
- j'ai adapté le nombre de led dans le code
- j'ai apporté la modification de code qui est mentionnée en réponse du sus-dit topic
- j'ai modifié le numéro de la broche de sortie sur laquelle la borne data de l'anneau est reliée
- j'ai vérifier les connexions (et oui, j'ai trouvé des choses mal branchées... mais...)
- j'ai bien compilé et téléversé tout ça dans le nano
Pour finalement n'obtenir que des led qui s'allument en blanc...quelque soit les positions des potentiomètres.
Est-ce que quelqu'un pourrait me conseiller un projet qui ressemble, ou qui soit, à ce que je veux faire?
A défaut, est-ce que vous pourriez m'aiguiller sur comment écrire le code?
Merci d'avance à vous et désolé si ce post fait doublon, mais je n'ai pas su trouver de fil de discussion autre que celui que je mentionne et qui puisse m'aider.
Voici le code "adapté" par mes soins, au cas où:
#include <Adafruit_NeoPixel.h>
#define PIN 3
Adafruit_NeoPixel strip = Adafruit_NeoPixel(21, PIN, NEO_GRB + NEO_KHZ400);
int sensorValue = A0;
int sensorValue2 = A1;
int sensorValue3 = A2;
int currentColourValue;
int currentColourValue2;
int currentColourValue3;
void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
currentColourValue = (255 - map( analogRead(sensorValue), 0, 1024, 0, 255 ) );
currentColourValue2 = (255 - map( analogRead(sensorValue2), 0, 1024, 0, 255 ) );
currentColourValue3 = (255 - map( analogRead(sensorValue3), 0, 1024, 0, 255 ) );
colorWipe(strip.Color(currentColourValue, currentColourValue2, currentColourValue3), 50); // Red
}
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(10);
}
}