2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Tako sem zgradil ta projekt, da vidim, kako deluje 12 LED Pixel. Tukaj sem našel tega s 16. Videl sem to integrirano zapestnico, vendar sem hotel videti, kako bi različni obroči, različnih velikosti delovali neodvisno drug od drugega.
Namesto da bi digitalni izhod z ene plošče povezal z digitalnim vhodom na drugi plošči, kot kaže druga slika, je bil moj cilj, da imam na vsaki plošči en namenski DI.
1. korak: Material
2. korak: Koda
Za začetek sem imel neon.ino, ta je bil zelo naravnost, našel sem na spletu in prilagodil vrata in velikost obroča, delovalo je.
Mislil sem, da bo treba spremeniti spremenljivke, vendar nisem bil prepričan, katere so potrebne in katere bi lahko ostale, kot je za vse obroče NeoPixel.
ORIGINALNO
#vključi
#define PIN 2 // vhodni pin Neopixel je pritrjen
#define NUMPIXELS 12 // število neopikslov v Ringu
Piksli Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
NOVO
#include #define PIN1 6 // priključite 12 Neopixel trak na Digital PIN6
#define PIN2 13 // 6 trakov Neopixel povežite z digitalno PIN7
#define PIN3 2 // povežite 24 neopikselnih obročev z digitalno PIN8
#define PIN4 10 // povežite 16 neopikselnih obročev z digitalno 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
je bila še ena koda, ki sem jo našel, vendar na podlagi prilagajanja gumbov za hitrost … Moral sem združiti obe kodi.
prvič sem uporabil
void loop () {
ring1 ();
ring2 ();
ring3 ();
ring4 ();
ring5 ();
Tako je bilo enostavno videti vso kodo in spremenljivke, ki sem jih potreboval za "štirikratno kopiranje" iz prvotnega Neon.ino
Nastavljeni barvni del sem obdržal samo enkrat, saj se lahko vse luči naključno spreminjajo, zato ni treba nastavljati barve1, barve2 … itd
void setColor () {redColor = naključno (0, 255); greenColor = naključno (0, 255); blueColor = naključno (0, 255); Serial.print ("rdeče:"); Serial.println (rdeča barva); Serial.print ("zelena:"); Serial.println (greenColor); Serial.print ("modra:"); Serial.println (blueColor); }
končna koda, ki sem jo uporabil, se imenuje multiple_rings1.ino
3. korak: Rezultat
zaenkrat lahko simulira le v thinkercadu
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=