สารบัญ:

วงแหวน NeoPixel อิสระหลายวง: 3 ขั้นตอน
วงแหวน NeoPixel อิสระหลายวง: 3 ขั้นตอน

วีดีโอ: วงแหวน NeoPixel อิสระหลายวง: 3 ขั้นตอน

วีดีโอ: วงแหวน NeoPixel อิสระหลายวง: 3 ขั้นตอน
วีดีโอ: DIY ไฟวิ่งตามเสียงเพลง 60 Led Ring Vu Meter Arduino R3 Uno ProJect 2024, พฤศจิกายน
Anonim
วงแหวน NeoPixel อิสระหลายวง
วงแหวน NeoPixel อิสระหลายวง
วงแหวน NeoPixel อิสระหลายวง
วงแหวน NeoPixel อิสระหลายวง

ดังนั้นฉันจึงสร้างโปรเจ็กต์นี้เพื่อดูว่า 12 LED Pixel ทำงานอย่างไร ฉันพบอันนี้กับ 16 ที่นี่ และฉันเห็นสร้อยข้อมือแบบบูรณาการนี้ แต่ฉันต้องการดูว่าแหวนต่างๆ ขนาดต่างๆ จะทำงานเป็นอิสระจากกันอย่างไร

ดังนั้น แทนที่จะเชื่อมต่อ Digital Output จากบอร์ดหนึ่งไปยัง Digital Input บนอีกบอร์ดหนึ่งตามภาพที่สอง เป้าหมายของฉันคือการมี DI เฉพาะหนึ่งตัวในแต่ละบอร์ด

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ

ขั้นตอนที่ 2: รหัส

ฉันมี neon.ino เพื่อเริ่มต้น อันนี้ตรงไปตรงมามาก ฉันพบออนไลน์และปรับพอร์ตและขนาดของวงแหวน มันใช้งานได้

ฉันมีความคิดว่าจะมีความจำเป็นต้องทำซ้ำตัวแปร แต่ไม่แน่ใจว่าอันไหนจำเป็นและอันไหนที่จะคงอยู่ได้เช่นเดียวกับวงแหวน NeoPixel ทั้งหมด

ต้นฉบับ

#รวม

#define PIN 2 // พินอินพุต Neopixel ติดอยู่กับ

#define NUMPIXELS 12 // จำนวนนีโอพิกเซลใน Ring

พิกเซล Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

ใหม่

#include #define PIN1 6 // เชื่อมต่อ 12 Neopixel strip กับ Digital PIN6

#define PIN2 13 // เชื่อมต่อแถบ 6 Neopixel กับ Digital PIN7

#define PIN3 2 // เชื่อมต่อ 24 Neopixel ring กับ Digital PIN8

#define PIN4 10 // เชื่อมต่อ 16 Neopixel ring กับ Digital PIN9

#กำหนด PIN5 9 //

#define NUMPIXELS1 24

#define NUMPIXELS2 16

#define NUMPIXELS3 12

#define NUMPIXELS4 6

#define NUMPIXELS5 1

Adafruit_NeoPixel พิกเซล1 = Adafruit_NeoPixel(NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel พิกเซล2 = Adafruit_NeoPixel(NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel พิกเซล3 = Adafruit_NeoPixel(NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel พิกเซล4 = Adafruit_NeoPixel(NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel พิกเซล5 = Adafruit_NeoPixel(NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);

neonmultiple.txt

เป็นรหัสอื่นที่ฉันพบ แต่จากการปรับปุ่มเพื่อความเร็ว… ฉันจำเป็นต้องรวมรหัสทั้งสองเข้าด้วยกัน

ครั้งแรกที่ฉันใช้

วงเป็นโมฆะ () {

วงแหวน1();

ring2();

ring3();

ring4();

ring5();

ดังนั้นจึงง่ายที่จะเห็นโค้ดและตัวแปรทั้งหมดที่ฉันต้องการเพื่อ "quadruplicate" จาก Neon.ino ดั้งเดิม

ส่วนชุดสีที่ฉันเก็บไว้เพียงครั้งเดียว เนื่องจากแสงทั้งหมดสามารถเปลี่ยนแบบสุ่มได้ ดังนั้นจึงไม่จำเป็นต้อง setcolor1, setcolor2… ฯลฯ

เป็นโมฆะ setColor () { redColor = สุ่ม (0, 255); สีเขียว = สุ่ม (0, 255); blueColor = สุ่ม (0, 255); Serial.print("สีแดง:"); Serial.println (สีแดง); Serial.print("สีเขียว:"); Serial.println (สีเขียว); Serial.print("สีน้ำเงิน: "); Serial.println (สีน้ำเงิน); }

รหัสสุดท้ายที่ฉันใช้เรียกว่า multiple_rings1.ino

ขั้นตอนที่ 3: ผลลัพธ์

ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์

จำลองได้เฉพาะใน thinkercad เท่านั้นในตอนนี้

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

แนะนำ: