Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Vì vậy, tôi đã xây dựng dự án này để xem 12 LED Pixel hoạt động. Tôi tìm thấy cái này với 16 cái ở đây. Và tôi đã thấy chiếc vòng tay tích hợp này, nhưng tôi muốn xem những chiếc vòng khác nhau, các kích cỡ khác nhau sẽ hoạt động độc lập với nhau như thế nào.
Vì vậy, thay vì kết nối Đầu ra Kỹ thuật số từ một bảng với Đầu vào Kỹ thuật số trên bảng khác như hình thứ hai cho thấy, mục tiêu của tôi là có một DI chuyên dụng trên mỗi bảng.
Bước 1: Vật liệu
Bước 2: Mã
Tôi đã có neon.ino để bắt đầu, cái này rất đơn giản, tôi đã tìm thấy trực tuyến và điều chỉnh cổng và kích thước của vòng, nó hoạt động.
Tôi đã có ý tưởng rằng sẽ cần phải sao chép các biến, nhưng không chắc cái nào là cần thiết và cái nào có thể giữ nguyên như vậy đối với tất cả các vòng NeoPixel.
NGUYÊN BẢN
#bao gồm
#define PIN 2 // pin đầu vào Neopixel được gắn vào
#define NUMPIXELS 12 // số neopixel trong Ring
Adafruit_NeoPixel pixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
MỚI
#include #define PIN1 6 // kết nối dải Neopixel 12 với mã PIN6 kỹ thuật số
#define PIN2 13 // kết nối 6 dải Neopixel với mã PIN7 kỹ thuật số
#define PIN3 2 // kết nối vòng 24 Neopixel với PIN8 kỹ thuật số
#define PIN4 10 // kết nối vòng 16 Neopixel với PIN9 kỹ thuật số
#define PIN5 9 //
#define NUMPIXELS1 24
#define NUMPIXELS2 16
#define NUMPIXELS3 12
#define NUMPIXELS4 6
#define NUMPIXELS5 1
Adafruit_NeoPixel pixel1 = Adafruit_NeoPixel (NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixel2 = Adafruit_NeoPixel (NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixel3 = Adafruit_NeoPixel (NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixel4 = Adafruit_NeoPixel (NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixel5 = Adafruit_NeoPixel (NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);
neonmultiple.txt
là một mã khác mà tôi đã tìm thấy, nhưng dựa trên các nút điều chỉnh tốc độ… tôi cần hợp nhất cả hai mã.
lần đầu tiên tôi sử dụng
void loop () {
ring1 ();
ring2 ();
ring3 ();
ring4 ();
ring5 ();
Vì vậy, thật dễ dàng để xem tất cả mã và biến tôi cần để "nhân bốn" từ Neon.ino ban đầu
Phần màu đã đặt tôi chỉ giữ lại một lần, vì tất cả các đèn có thể thay đổi ngẫu nhiên, vì vậy không cần setcolor1, setcolor2… vv
void setColor () {redColor = random (0, 255); greenColor = random (0, 255); blueColor = random (0, 255); Serial.print ("red:"); Serial.println (màu đỏ); Serial.print ("xanh:"); Serial.println (màu xanh lá cây); Serial.print ("lam:"); Serial.println (blueColor); }
mã cuối cùng tôi đã sử dụng được gọi là multiple_rings1.ino
Bước 3: Kết quả
bây giờ chỉ có thể mô phỏng trong thinkercad
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=