Wiele niezależnych pierścieni NeoPixel: 3 kroki
Wiele niezależnych pierścieni NeoPixel: 3 kroki
Wiele niezależnych pierścieni NeoPixel
Wiele niezależnych pierścieni NeoPixel
Wiele niezależnych pierścieni NeoPixel
Wiele niezależnych pierścieni NeoPixel

Zbudowałem więc ten projekt, aby zobaczyć, jak działa 12 pikseli LED. Znalazłem ten z 16 tutaj. I widziałem tę zintegrowaną bransoletkę, ale chciałem zobaczyć, jak różne pierścionki, różne rozmiary będą działać niezależnie od siebie.

Więc zamiast podłączać wyjście cyfrowe z jednej płyty do wejścia cyfrowego na drugiej płycie, jak sugeruje drugie zdjęcie, moim celem było posiadanie jednego dedykowanego DI na każdej płycie.

Krok 1: Materiał

Materiał
Materiał

Krok 2: Kod

Na początek miałem neon.ino, ten był bardzo prosty, znalazłem online i dostosowując port i rozmiar pierścienia, zadziałało.

Wpadłem na pomysł, że będzie potrzeba powielenia zmiennych, ale nie byłem pewien, które z nich są potrzebne, a które mogą pozostać bez zmian w przypadku wszystkich pierścieni NeoPixel.

ORYGINAŁ

#włączać

#define PIN 2 // pin wejściowy Neopiksel jest podłączony do

#define NUMPIXELS 12 // liczba neopikseli w pierścieniu

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

NOWY

#include #define PIN1 6 //podłącz 12 Neopixel strip do Digital PIN6

#define PIN2 13 //podłącz 6 Neopixel strip do cyfrowego PIN7

#define PIN3 2 // podłącz pierścień 24 Neopixel do cyfrowego PIN8

#define PIN4 10 // podłącz pierścień 16 Neopixel do cyfrowego PIN9

#zdefiniuj PIN5 9 //

#define NUMPIXELS1 24

#define NUMPIXELS2 16

#define NUMPIXELS3 12

#define NUMPIXELS4 6

#define NUMPIXELS5 1

Adafruit_NeoPixel piksele1 = Adafruit_NeoPixel(NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel piksele2 = Adafruit_NeoPixel(NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel piksele3 = Adafruit_NeoPixel(NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel piksele4 = Adafruit_NeoPixel(NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel piksele5 = Adafruit_NeoPixel(NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);

neonmultiple.txt

to kolejny kod, który znalazłem, ale oparty na dostosowaniu przycisków do prędkości… Musiałem połączyć oba kody.

pierwszy raz użyłem

pusta pętla () {

pierścień1();

pierścień2();

pierścień3();

pierścień4();

pierścień5();

Więc łatwo było zobaczyć cały kod i zmienne, których potrzebowałem do „czterokrotnego powielenia” z oryginalnego Neon.ino

Część zestawu kolorów zachowałem tylko raz, ponieważ wszystkie światła mogą się losowo zmieniać, więc nie ma potrzeby ustawiania kolorów1, setcolor2… itd.

void setColor(){ kolor czerwony = random (0, 255); kolor zielony = losowy (0, 255); kolor niebieski = losowy (0, 255); Serial.print("czerwony: "); Serial.println(kolor czerwony); Serial.print("zielony: "); Serial.println(zielonyKolor); Serial.print("niebieski:"); Serial.println(kolor niebieski); }

ostatni kod, którego użyłem, nazywa się multiple_rings1.ino

Krok 3: Wynik

Wynik
Wynik
Wynik
Wynik

na razie mogę symulować tylko w thinkercad

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

Zalecana: