Obsah:

Několik nezávislých prstenů NeoPixel: 3 kroky
Několik nezávislých prstenů NeoPixel: 3 kroky

Video: Několik nezávislých prstenů NeoPixel: 3 kroky

Video: Několik nezávislých prstenů NeoPixel: 3 kroky
Video: WS2812 [Programmable LED Strip] 2024, Listopad
Anonim
Několik nezávislých prstenů NeoPixel
Několik nezávislých prstenů NeoPixel
Několik nezávislých prstenů NeoPixel
Několik nezávislých prstenů NeoPixel

Tak jsem postavil tento projekt, abych viděl 12 LED Pixel fungovat. Tady jsem našel tenhle s 16. A viděl jsem tento integrovaný náramek, ale chtěl jsem vidět, jak různé prsteny, různé velikosti budou fungovat nezávisle na sobě.

Takže místo připojení digitálního výstupu z jedné desky do digitálního vstupu na druhé desce, jak naznačuje druhý obrázek, bylo mým cílem mít na každé desce jedno vyhrazené DI.

Krok 1: Materiál

Materiál
Materiál

Krok 2: Kód

Měl jsem pro začátek neon.ino, tento byl velmi přímočarý, našel jsem online a upravil port a velikost prstenu, fungovalo to.

Měl jsem představu, že bude potřeba replikovat proměnné, ale nebyl jsem si jistý, které z nich jsou potřeba a které mohou zůstat stejné jako u všech prstenců NeoPixel.

ORIGINÁL

#zahrnout

#define PIN 2 // vstupní pin Neopixel je připojen k

#define NUMPIXELS 12 // počet neopixelů v Ringu

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

NOVÝ

#include #define PIN1 6 // připojení 12 Neopixelových proužků k Digital PIN6

#define PIN2 13 // připojení 6 Neopixelových proužků k Digital PIN7

#define PIN3 2 // připojení 24 Neopixelových prstenů k digitálnímu PIN8

#define PIN4 10 // připojení 16 Neopixelového prstence k digitálnímu PIN9

#define PIN5 9 //

#define NUMPIXELS1 24

#define NUMPIXELS2 16

#define NUMPIXELS3 12

#define NUMPIXELS4 6

#define NUMPIXELS5 1

Adafruit_NeoPixel pixely1 = Adafruit_NeoPixel (NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixely2 = Adafruit_NeoPixel (NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixely3 = Adafruit_NeoPixel (NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixely4 = Adafruit_NeoPixel (NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixely5 = Adafruit_NeoPixel (NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);

neonmultiple.txt

byl další kód, který jsem našel, ale na základě nastavení tlačítek pro rychlost … potřeboval jsem sloučit oba kódy.

poprvé jsem použil

prázdná smyčka () {

ring1 ();

ring2 ();

ring3 ();

ring4 ();

ring5 ();

Bylo tedy snadné vidět veškerý kód a proměnné, které jsem potřeboval ke „čtyřnásobení“původního Neon.ino

Nastavenou barevnou část jsem ponechal pouze jednou, protože všechna světla se mohou náhodně měnit, takže není třeba nastavovat barvu1, setcolor2 … atd.

void setColor () {redColor = random (0, 255); greenColor = random (0, 255); blueColor = náhodné (0, 255); Serial.print ("red:"); Serial.println (redColor); Serial.print ("zelený:"); Serial.println (greenColor); Serial.print ("modrý:"); Serial.println (blueColor); }

konečný kód, který jsem použil, se nazývá multiple_rings1.ino

Krok 3: Výsledek

Výsledek
Výsledek
Výsledek
Výsledek

lze zatím simulovat pouze v Thinkercad

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

Doporučuje: