Flere uavhengige NeoPixel -ringer: 3 trinn
Flere uavhengige NeoPixel -ringer: 3 trinn
Anonim
Flere uavhengige NeoPixel -ringer
Flere uavhengige NeoPixel -ringer
Flere uavhengige NeoPixel -ringer
Flere uavhengige NeoPixel -ringer

Så jeg bygde dette prosjektet for å se 12 LED Pixel arbeide. Jeg fant denne med 16 her. Og jeg så dette integrerte armbåndet, men jeg ønsket å se hvordan forskjellige ringer, forskjellige størrelser ville fungere uavhengig av hverandre.

Så i stedet for å koble digital utgang fra det ene kortet til den digitale inngangen på det andre kortet som det andre bildet antyder, var målet mitt å ha en dedikert DI på hvert brett.

Trinn 1: Materiale

Materiale
Materiale

Trinn 2: Kode

Jeg hadde neon.ino til å begynne med, denne var veldig rett frem, jeg fant på nettet og justerte porten og størrelsen på ringen, det fungerte.

Jeg hadde ideen om at det ville være behov for å replikere variablene, men var ikke sikker på hvilke som var nødvendige og hvilke som kunne forbli som for alle NeoPixel -ringene.

OPPRINNELIG

#inkludere

#define PIN 2 // input pin Neopixel er festet til

#define NUMPIXELS 12 // antall neopiksler i Ring

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

NY

#include #define PIN1 6 // koble 12 Neopixel -stripe til Digital PIN6

#define PIN2 13 // koble 6 Neopixel -stripe til Digital PIN7

#define PIN3 2 // koble 24 Neopixel -ring til Digital PIN8

#define PIN4 10 // koble 16 Neopixel -ring til Digital PIN9

#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

var en annen kode jeg har funnet, men basert på justering av knappene for hastigheten … måtte jeg slå sammen begge kodene.

for første gang jeg brukte

void loop () {

ring1 ();

ring2 ();

ring3 ();

ring4 ();

ring5 ();

Så det var lett å se all koden og variablene jeg trengte for å "firedoble" fra den opprinnelige Neon.ino

Den angitte fargedelen beholdt jeg bare én gang, siden alle lysene kan skifte tilfeldig, så du trenger ikke å settecolor1, setcolor2 … etc

void setColor () {redColor = tilfeldig (0, 255); greenColor = tilfeldig (0, 255); blueColor = tilfeldig (0, 255); Serial.print ("rød:"); Serial.println (redColor); Serial.print ("grønt:"); Serial.println (greenColor); Serial.print ("blå:"); Serial.println (blueColor); }

den siste koden jeg brukte kalles multiple_rings1.ino

Trinn 3: Resultat

Resultat
Resultat
Resultat
Resultat

kan bare simulere i thinkercad foreløpig

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