2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
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
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
lze zatím simulovat pouze v Thinkercad
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=