Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Men bu loyihani 12 LED pikselli ishlayotganini ko'rish uchun qurdim. Men bu erda 16 bilan topdim. Va men bu o'rnatilgan bilaguzukni ko'rdim, lekin har xil o'lchamdagi halqalar bir -biridan mustaqil ishlashini ko'rishni xohladim.
Shunday qilib, ikkinchi rasmda ko'rsatilgandek, bitta taxtadan raqamli chiqishni boshqa kartadagi raqamli kirishga ulash o'rniga, mening maqsadim har bir taxtada bitta ajratilgan DI bo'lishi edi.
1 -qadam: material
2 -qadam: kod
Menda neon.ino bilan boshlash kerak edi, bu juda to'g'ri, men Internetda topdim va portni va halqaning o'lchamini o'zgartirdim, u ishladi.
Men o'zgaruvchilarni takrorlash kerak bo'ladi, degan fikrga keldim, lekin qaysi NeoPixel halqalaridagidek, qaysi biri kerak va qaysi biri qolishi mumkinligiga ishonchim komil emas edi.
ORIGINAL
#qo'shing
#define PIN 2 // kirish pimi Neopixel biriktirilgan
#define NUMPIXELS 12 // Ringdagi neopiksellar soni
Adafruit_NeoPixel piksellari = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
YANGI
#incine #define PIN1 6 // raqamli PIN6 ga 12 ta neopixel tasmasini ulang
#define PIN2 13 // raqamli PIN7 ga 6 ta neopixel tasmasini ulang
#define PIN3 2 // raqamli PIN8 ga 24 ta neopikselli uzukni ulang
#define PIN4 10 // raqamli PIN9 ga 16 ta neopixel uzukni ulang
#PIN5 9 ni aniqlang //
#ta'rif NUMPIXELS1 24
#ta'rif NUMPIXELS2 16
#ta'rif NUMPIXELS3 12
#ta'rif NUMPIXELS4 6
#ta'rif 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
Men topgan boshqa kod edi, lekin tezlikni sozlash tugmalariga asoslanib … ikkala kodni ham birlashtirishim kerak edi.
birinchi marta ishlatdim
void loop () {
ring1 ();
ring2 ();
ring3 ();
ring4 ();
ring5 ();
Asl Neon.ino -dan "to'rt baravar ko'paytirish" uchun kerak bo'lgan barcha kod va o'zgaruvchilarni ko'rish oson edi.
Belgilangan rang qismi menda faqat bir marta saqlangan, chunki hamma chiroqlar tasodifiy o'zgarishi mumkin, shuning uchun setcolor1, setcolor2 … va hokazolarga hojat yo'q.
void setColor () {redColor = tasodifiy (0, 255); greenColor = tasodifiy (0, 255); blueColor = tasodifiy (0, 255); Serial.print ("qizil:"); Serial.println (redColor); Serial.print ("yashil:"); Serial.println (greenColor); Serial.print ("ko'k:"); Serial.println (blueColor); }
Men ishlatgan oxirgi kod multiplex_rings1.ino deb nomlanadi
3 -qadam: Natija
hozircha faqat o'ylab ko'rishni taqlid qilishi mumkin
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=