Spisu treści:

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

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

Wideo: Wiele niezależnych pierścieni NeoPixel: 3 kroki
Wideo: 🎆 LEGO TOP 10 ZESTAWÓW 2023 🎆 2024, Listopad
Anonim
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: