Kazalo:

Več neodvisnih obročev NeoPixel: 3 koraki
Več neodvisnih obročev NeoPixel: 3 koraki

Video: Več neodvisnih obročev NeoPixel: 3 koraki

Video: Več neodvisnih obročev NeoPixel: 3 koraki
Video: WS2812 [Программируемая светодиодная лента] 2024, November
Anonim
Več neodvisnih obročev NeoPixel
Več neodvisnih obročev NeoPixel
Več neodvisnih obročev NeoPixel
Več neodvisnih obročev NeoPixel

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

Material
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

Rezultat
Rezultat
Rezultat
Rezultat

zaenkrat lahko simulira le v thinkercadu

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

Priporočena: