Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
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ł
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
na razie mogę symulować tylko w thinkercad
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=