جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
لذلك قمت ببناء هذا المشروع لرؤية عمل 12 LED Pixel. لقد وجدت هذا مع 16 هنا. ورأيت هذا السوار المتكامل ، لكنني أردت أن أرى كيف ستعمل الخواتم المختلفة والأحجام المختلفة بشكل مستقل عن بعضها البعض.
لذلك بدلاً من توصيل المخرجات الرقمية من لوحة واحدة بالمدخل الرقمي على اللوحة الأخرى كما توحي الصورة الثانية ، كان هدفي هو الحصول على منفذ DI مخصص على كل لوحة.
الخطوة 1: المادة
الخطوة 2: الكود
كان لدي neon.ino لتبدأ به ، وكان هذا مستقيمًا جدًا للأمام ، ووجدته عبر الإنترنت وقمت بتعديل المنفذ وحجم الحلقة ، لقد نجح.
خطرت لي فكرة أنه ستكون هناك حاجة لتكرار المتغيرات ، لكن لم أكن متأكدًا من المتغيرات المطلوبة وأيها يمكن أن يظل كما هو بالنسبة لجميع حلقات NeoPixel.
أصلي
#يشمل
#define PIN 2 // دخل Neopixel متصل به
#define NUMPIXELS 12 // عدد neopixels في Ring
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS، PIN، NEO_GRB + NEO_KHZ800) ؛
الجديد
# تضمين # تعريف PIN1 6 // قم بتوصيل 12 شريط Neopixel برقم التعريف الشخصي الرقمي 6
#define PIN2 13 // قم بتوصيل 6 شريط Neopixel برقم PIN7 الرقمي
#define PIN3 2 // قم بتوصيل 24 حلقة Neopixel برقم PIN8 الرقمي
#define PIN4 10 // قم بتوصيل 16 حلقة Neopixel برقم PIN9 الرقمي
#define PIN5 9 //
#define NUMPIXELS1 24
#define NUMPIXELS2 16
#define NUMPIXELS3 12
#define NUMPIXELS4 6
#define NUMPIXELS5 1
Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel (NUMPIXELS1، PIN1، NEO_GRB + NEO_KHZ800) ؛ Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel (NUMPIXELS2، PIN2، NEO_GRB + NEO_KHZ800) ؛ Adafruit_NeoPixel pixels3 = Adafruit_NeoPixel (NUMPIXELS3، PIN3، NEO_GRB + NEO_KHZ800) ؛ Adafruit_NeoPixel pixels4 = Adafruit_NeoPixel (NUMPIXELS4، PIN4، NEO_GRB + NEO_KHZ800) ؛ Adafruit_NeoPixel pixels5 = Adafruit_NeoPixel (NUMPIXELS5، PIN5، NEO_GRB + NEO_KHZ800) ؛
neonmultiple.txt
كان رمزًا آخر وجدته ، ولكن بناءً على ضبط الأزرار للسرعة … كنت بحاجة إلى دمج كلا الرمزين.
لأول مرة اعتدت
حلقة فارغة() {
ring1 () ؛
ring2 () ؛
ring3 () ؛
ring4 () ؛
ring5 () ؛
لذلك كان من السهل رؤية جميع التعليمات البرمجية والمتغيرات التي احتجت إلى "مضاعفة أربع مرات" من موقع Neon.ino الأصلي
جزء اللون المحدد الذي احتفظت به مرة واحدة فقط ، نظرًا لأن جميع الأضواء يمكن أن تتغير عشوائيًا ، لذلك لا حاجة لضبط اللون 1 ، ضبط اللون 2 … إلخ
setColor () باطلة {redColor = عشوائي (0 ، 255) ؛ greenColor = عشوائي (0 ، 255) ؛ blueColor = عشوائي (0 ، 255) ؛ Serial.print ("أحمر:") ؛ Serial.println (redColor) ؛ Serial.print ("أخضر:") ؛ Serial.println (greenColor) ؛ Serial.print ("blue:") ؛ Serial.println (blueColor) ؛ }
الكود النهائي الذي استخدمته يسمى multi_rings1.ino
الخطوة 3: النتيجة
يمكن فقط محاكاة في Thinkercad في الوقت الحالي
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel؟sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=