Innehållsförteckning:

Flera oberoende NeoPixel -ringar: 3 steg
Flera oberoende NeoPixel -ringar: 3 steg

Video: Flera oberoende NeoPixel -ringar: 3 steg

Video: Flera oberoende NeoPixel -ringar: 3 steg
Video: WS2812 [Программируемая светодиодная лента] 2024, November
Anonim
Flera oberoende NeoPixel -ringar
Flera oberoende NeoPixel -ringar
Flera oberoende NeoPixel -ringar
Flera oberoende NeoPixel -ringar

Så jag byggde detta projekt för att se 12 LED Pixel fungera. Jag hittade den här med 16 här. Och jag såg detta integrerade armband, men jag ville se hur olika ringar, olika storlekar skulle fungera oberoende av varandra.

Så istället för att ansluta Digital Output från ett kort till Digital Input på det andra kortet som den andra bilden antyder, var mitt mål att ha en dedikerad DI på varje kort.

Steg 1: Material

Material
Material

Steg 2: Kod

Jag hade neon.ino till att börja med, den här var väldigt rak framåt, jag hittade online och justerade porten och ringens storlek, det fungerade.

Jag hade tanken att det skulle vara nödvändigt att replikera variablerna, men var inte säker på vilka som behövdes och vilka som kunde förbli som för alla NeoPixel -ringar.

ORIGINAL

#omfatta

#define PIN 2 // input pin Neopixel is attached to

#define NUMPIXELS 12 // antal neopixlar i Ring

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

NY

#inkludera #definiera PIN1 6 // anslut 12 Neopixel -remsa till Digital PIN6

#define PIN2 13 // anslut 6 Neopixel -remsor till Digital PIN7

#define PIN3 2 // anslut 24 Neopixel -ring till Digital PIN8

#define PIN4 10 // anslut 16 Neopixel -ring till Digital PIN9

#define PIN5 9 //

#define NUMPIXELS1 24

#define NUMPIXELS2 16

#define NUMPIXELS3 12

#define NUMPIXELS4 6

#define NUMPIXELS5 1

Adafruit_NeoPixel pixlar1 = Adafruit_NeoPixel (NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixlar2 = Adafruit_NeoPixel (NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixlar3 = Adafruit_NeoPixel (NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixlar4 = Adafruit_NeoPixel (NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixlar5 = Adafruit_NeoPixel (NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);

neonmultiple.txt

var en annan kod jag har hittat, men baserat på justeringsknappar för hastigheten … Jag behövde slå ihop båda koder.

för första gången jag använde

void loop () {

ring1 ();

ring2 ();

ring3 ();

ring4 ();

ring5 ();

Så det var lätt att se all kod och variabler jag behövde för att "fyrdubbla" från den ursprungliga Neon.ino

Den inställda färgdelen behållde jag bara en gång, eftersom alla lampor kan ändras slumpmässigt, så du behöver inte ställa in färg1, setcolor2 … etc

void setColor () {redColor = random (0, 255); greenColor = slumpmässig (0, 255); blueColor = slumpmässig (0, 255); Serial.print ("röd:"); Serial.println (redColor); Serial.print ("grönt:"); Serial.println (greenColor); Serial.print ("blå:"); Serial.println (blueColor); }

den sista koden jag använde kallas multiple_rings1.ino

Steg 3: Resultat

Resultat
Resultat
Resultat
Resultat

kan bara simulera i thinkercad för tillfället

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

Rekommenderad: