Programmation testeur de bande et d'anneau de leds neopixel

bonjour,
je cherche a faire un testeur pour contrôler des anneaux de leds ou des bandes de leds avant de les utiliser.
j'arrive a faire un programme simple pour voir s'ils sont en état de marche, mais j'aimerai pouvoir changer le nombre de leds a contrôler sans avoir a rentrer dans le programme, avec un potentiomètre, une réglette...., étant débutant je ne sais pas par ou commencer et si ce n'est que de la programmation et comment on branche le potentiomètre.
j'avais aussi pensé qu'il serait, peut etre possible d'avoir un pin de commande différent pour chaque nombre de leds, Pin 2 =12 leds, Pin 3= leds, ..... Pin5 30 leds......
Un grand merci à tous pour votre aide
Alain

Comme dans cet exemple ou l'on défini le nombre de leds au départ

// bibliotheque adafruit neopixel
#include <Adafruit_NeoPixel.h>
// pin ou est branché la commande dataIn du ring
#define LED_PIN 3
// Nombre de led
#define LED_COUNT 12
// NeoPixel luminosite, 0 (min) to 255 (max)
#define BRIGHTNESS 50
// Declare votre neopixel Ring
Adafruit_NeoPixel ring(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
// Argument 1 = Nombre de Pixel dans le Ring
// Argument 2 = Wemos Pin
// Argument 3 = Pixel type
// 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 Led cablé selon GRB (most NeoPixel products)
// NEO_GRBW Led cablé selon GRB + W (most NeoPixel products) + Led blanche
// NEO_RGB Led cablé selon RGB (v1 FLORA pixels, not v2)
// NEO_RGBW led cablé selon RGBW (NeoPixel RGBW products)
void setup() {
ring.begin(); // INITIALIZE NeoPixel ring object (REQUIRED)
ring.setBrightness(BRIGHTNESS); // Set BRIGHTNESS to about 1/5 (max = 255)
ring.fill(ring.Color(0,0,255),1,3); // allume la led 2,3 et 4 en bleu
ring.setPixelColor(6, ring.Color(255,0,0)); // allume la led 7 en rouge
ring.setPixelColor(7, ring.Color(255,255,255)); // allume la led 8 en blanc
ring.setPixelColor(8, ring.Color(0,0,255)); // allume la led 9 en bleu
ring.setPixelColor(11,ring.Color(0,255,0)); // allume la led 12 en vert
ring.show(); // pour afficher les modifications
}
void loop() {
}

Malheureusement tu n'a peut être pas lu et n'a pas appliqué les conseils donnés dans le post sur les règles et les bonnes pratiques du forum

Je crois qu'il est possible de mettre un nombre de LED dans le programme supérieur à la réalité.
Peut être que cela pourrait t'éviter des manipulations?

Si c'est de l'analogique il faudra utiliser les broches analogiques, mais je trouve que ce n'est pas très pratique pour ton cas, car tu lira une valeur entre 0 et 1024, qu'il faudra que tu adapte a la valeur maximal que tu sera susceptible d'avoir dans tes bandeaux.

Oui c'est aussi possible surtout si tu a un nombre restreint de type de bandeau

Plutôt qu'un potentiomètre, tu peux par exemple adopter un encodeur rotatif :


Pour visualiser la valeur, il te faudra un afficheur. Un petit OLED suffit :

Le bouton de validation est déjà inclus dans l'encodeur.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.