İçindekiler:

Çoklu Bağımsız NeoPixel Yüzükler: 3 Adım
Çoklu Bağımsız NeoPixel Yüzükler: 3 Adım

Video: Çoklu Bağımsız NeoPixel Yüzükler: 3 Adım

Video: Çoklu Bağımsız NeoPixel Yüzükler: 3 Adım
Video: Neopixel RGB LED - WS2812 - Nasıl Çalıştırılır 2024, Kasım
Anonim
Çoklu Bağımsız NeoPixel Yüzükler
Çoklu Bağımsız NeoPixel Yüzükler
Çoklu Bağımsız NeoPixel Yüzükler
Çoklu Bağımsız NeoPixel Yüzükler

Bu projeyi 12 LED Pixel'in çalıştığını görmek için yaptım. Bunu 16 ile burada buldum. Ve bu entegre bilekliği gördüm ama farklı yüzüklerin, farklı ebatların birbirinden bağımsız nasıl çalıştığını görmek istedim.

Dolayısıyla, ikinci resimde gösterildiği gibi, bir panodan Dijital Çıkışı diğer panodaki Dijital Girişe bağlamak yerine, amacım her bir panoda özel bir DI'ye sahip olmaktı.

Adım 1: Malzeme

Malzeme
Malzeme

2. Adım: Kodlayın

Başlangıç için neon.ino'm vardı, bu çok basitti, internetten buldum ve bağlantı noktasını ve halkanın boyutunu ayarlayarak işe yaradı.

Değişkenleri kopyalama ihtiyacı olacağı fikrine sahiptim, ancak hangilerinin gerekli olduğundan ve hangilerinin tüm NeoPixel halkaları için olduğu gibi kalabileceğinden emin değildim.

ORİJİNAL

#Dahil etmek

#define PIN 2 // Neopixel giriş pinine takılır

#define NUMPIXELS 12 // Ring'deki neopiksel sayısı

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

YENİ

#include #define PIN1 6 //12 Neopiksel şeridi Dijital PIN6'ya bağlayın

#define PIN2 13 //6 Neopiksel şeridi Dijital PIN7'ye bağlayın

#define PIN3 2 // 24 Neopiksel halkayı Dijital PIN8'e bağlayın

#define PIN4 10 // 16 Neopiksel halkayı Dijital PIN9'a bağlayın

#define PIN5 9 //

#define NUMPIXELS1 24

#define NUMPIXELS2 16

#define NUMPIXELS3 12

#define NUMPIXELS4 6

#define NUMPIXELS5 1

Adafruit_NeoPixel piksel1 = Adafruit_NeoPixel(NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel piksel2 = Adafruit_NeoPixel(NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel piksel3 = Adafruit_NeoPixel(NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel piksel4 = Adafruit_NeoPixel(NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel piksel5 = Adafruit_NeoPixel(NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);

neonmultiple.txt

bulduğum başka bir koddu, ancak hız için ayarlama düğmelerine dayanarak… Her iki kodu da birleştirmem gerekiyordu.

ilk defa kullandım

boşluk döngüsü () {

halka1();

halka2();

halka3();

ring4();

halka5();

Bu nedenle, orijinal Neon.ino'dan "dört çoğaltmak" için ihtiyaç duyduğum tüm kodu ve değişkenleri görmek kolaydı.

Tüm ışıklar rastgele değişebildiğinden, setcolor1, setcolor2…

void setColor(){ redColor = rastgele(0, 255); yeşilRenk = rastgele(0, 255); blueColor = rastgele(0, 255); Serial.print("kırmızı:"); Serial.println(kırmızıRenk); Serial.print("yeşil:"); Serial.println(greenColor); Serial.print("mavi:"); Serial.println(blueColor); }

kullandığım son kodun adı multiple_rings1.ino

3. Adım: Sonuç

Sonuç
Sonuç
Sonuç
Sonuç

şimdilik sadece thinkercad'de simüle edebilir

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

Önerilen: