Cuprins:

Inele NeoPixel independente multiple: 3 pași
Inele NeoPixel independente multiple: 3 pași

Video: Inele NeoPixel independente multiple: 3 pași

Video: Inele NeoPixel independente multiple: 3 pași
Video: WS2812 [Программируемая светодиодная лента] 2024, Noiembrie
Anonim
Inele NeoPixel independente multiple
Inele NeoPixel independente multiple
Inele NeoPixel independente multiple
Inele NeoPixel independente multiple

Așa că am construit acest proiect pentru a vedea funcționarea celor 12 LED-uri Pixel. L-am găsit aici cu 16. Și am văzut această brățară integrată, dar am vrut să văd cât de diferite inele, dimensiuni diferite ar funcționa independent una de cealaltă.

Deci, în loc să conectez ieșirea digitală de pe o placă la intrarea digitală pe cealaltă placă, așa cum sugerează a doua imagine, scopul meu a fost să am câte un DI dedicat pe fiecare placă.

Pasul 1: Material

Material
Material

Pasul 2: Cod

Am avut neon.ino pentru a începe, acesta a fost foarte simplu, am găsit online și ajustând portul și dimensiunea inelului, a funcționat.

Am avut ideea că va fi nevoie să replicăm variabilele, dar nu am fost sigur care dintre ele au fost necesare și care ar putea rămâne așa cum este pentru toate inelele NeoPixel.

ORIGINAL

#include

#define PIN 2 // pinul de intrare Neopixel este atașat

#define NUMPIXELS 12 // numărul de neopixeli în Ring

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

NOU

#include #define PIN1 6 // conectați 12 benzi Neopixel la PIN6 digital

#define PIN2 13 // conectați 6 benzi Neopixel la PIN7 digital

#define PIN3 2 // conectați 24 de inele Neopixel la PIN8 digital

#define PIN4 10 // conectați 16 inele Neopixel la PIN9 digital

#define PIN5 9 //

#define NUMPIXELS1 24

#define NUMPIXELS2 16

#define NUMPIXELS3 12

#define 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

a fost un alt cod pe care l-am găsit, dar bazat pe reglarea butoanelor pentru viteză … trebuia să fuzionez ambele coduri.

pentru prima dată am folosit

bucla nulă () {

ring1 ();

inel2 ();

ring3 ();

ring4 ();

ring5 ();

Așadar, a fost ușor să văd toate codurile și variabilele de care aveam nevoie pentru a „quadruplica” din Neon.ino original

Partea de culoare setată am păstrat-o o singură dată, deoarece toate luminile se pot schimba aleatoriu, deci nu este nevoie să setcolor1, setcolor2 … etc.

void setColor () {redColor = random (0, 255); greenColor = random (0, 255); blueColor = random (0, 255); Serial.print ("roșu:"); Serial.println (redColor); Serial.print ("verde:"); Serial.println (greenColor); Serial.print ("albastru:"); Serial.println (blueColor); }

codul final pe care l-am folosit se numește multiple_rings1.ino

Pasul 3: Rezultat

Rezultat
Rezultat
Rezultat
Rezultat

poate simula doar în thinkercad deocamdată

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

Recomandat: