Table des matières:

Plusieurs anneaux NeoPixel indépendants : 3 étapes
Plusieurs anneaux NeoPixel indépendants : 3 étapes

Vidéo: Plusieurs anneaux NeoPixel indépendants : 3 étapes

Vidéo: Plusieurs anneaux NeoPixel indépendants : 3 étapes
Vidéo: WS2812 [Programmable LED Strip] 2024, Novembre
Anonim
Plusieurs anneaux NeoPixel indépendants
Plusieurs anneaux NeoPixel indépendants
Plusieurs anneaux NeoPixel indépendants
Plusieurs anneaux NeoPixel indépendants

J'ai donc construit ce projet pour voir fonctionner les 12 pixels LED. J'ai trouvé celui-ci avec 16 ici. Et j'ai vu ce bracelet intégré, mais je voulais voir comment différentes bagues, différentes tailles fonctionneraient indépendamment les unes des autres.

Ainsi, au lieu de connecter la sortie numérique d'une carte à l'entrée numérique de l'autre carte, comme le suggère la deuxième image, mon objectif était d'avoir une DI dédiée sur chaque carte.

Étape 1: Matériel

Matériel
Matériel

Étape 2: Coder

J'avais le neon.ino pour commencer, celui-ci était très simple, j'ai trouvé en ligne et en ajustant le port et la taille de la bague, cela a fonctionné.

J'avais l'idée qu'il serait nécessaire de reproduire les variables, mais je n'étais pas sûr de celles qui étaient nécessaires et de celles qui pourraient rester telles quelles pour tous les anneaux NeoPixel.

ORIGINAL

#comprendre

#define PIN 2 // la broche d'entrée Neopixel est attachée à

#define NUMPIXELS 12 // nombre de néopixels dans Ring

Pixels Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

NOUVEAU

#include #define PIN1 6 //connectez 12 bandes Neopixel à Digital PIN6

#define PIN2 13 //connectez 6 bandes Neopixel à Digital PIN7

#define PIN3 2 // connecter 24 anneaux Neopixel à Digital PIN8

#define PIN4 10 // connecter 16 anneaux Neopixel à Digital PIN9

#définir PIN5 9 //

#définir NUMPIXELS1 24

#définir NUMPIXELS2 16

#définir NUMPIXELS3 12

#définir NUMPIXELS4 6

#define NUMPIXELS5 1

Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel(NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels3 = Adafruit_NeoPixel(NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels4 = Adafruit_NeoPixel(NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels5 = Adafruit_NeoPixel(NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);

neonmultiple.txt

était un autre code que j'ai trouvé, mais basé sur le réglage des boutons pour la vitesse… J'avais besoin de fusionner les deux codes.

pour la première fois j'ai utilisé

boucle vide() {

ring1();

ring2();

ring3();

ring4();

ring5();

Il était donc facile de voir tout le code et les variables dont j'avais besoin pour "quadrupler" à partir du Neon.ino d'origine

La partie set color que je n'ai gardée qu'une seule fois, car toutes les lumières peuvent changer de manière aléatoire, donc pas besoin de setcolor1, setcolor2… etc.

void setColor(){ redColor = random(0, 255); couleurverte = aléatoire(0, 255); bleuCouleur = aléatoire (0, 255); Serial.print("rouge: "); Serial.println(redColor); Serial.print("vert: "); Serial.println(greenColor); Serial.print("bleu: "); Serial.println(blueColor); }

le code final que j'ai utilisé s'appelle multiple_rings1.ino

Étape 3: Résultat

Résultat
Résultat
Résultat
Résultat

ne peut simuler que dans thinkercad pour le moment

www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=

Conseillé: