الألوان على حلقة البكسلات
جزء من قسم الشاشات والمستشعرات في رحلة Arduino على Coddy. الدرس 13 من 24.
تحتوي هذه الحلقة على 16 من مصابيح NeoPixels على سلك بيانات واحد. يمرر المصباح الأول بقية البيانات إلى المصباح التالي، لذا فإن استدعاء show() واحدًا يضبطها جميعًا. أرقامها من 0 إلى 15.
تجمع ring.Color(red, green, blue) لونًا في رقم واحد، بحيث يمكنك الاحتفاظ به في متغير واستخدامه مرة أخرى. نوعه هو uint32_t: عدد صحيح من 32 بتًا لا يكون سالبًا أبدًا، وهو كبير بما يكفي لاستيعاب الأجزاء الثلاثة.
uint32_t purple = ring.Color(150, 0, 255);
ring.setPixelColor(3, purple);
ring.setPixelColor(7, purple);
ring.show();يظل المصباح الذي لم تعطه لونًا مطفأً. القيمة 255 لكل جزء من الأجزاء الثلاثة تعطي اللون الأبيض.
التحدي
سهلالحلقة موصولة بالمنفذ 6. أضئ أربعة بكسلات، تفصل بينها مسافة ربع الحلقة:
- البكسل 0 أحمر، والبكسل 4 أخضر، والبكسل 8 أزرق، والبكسل 12 أبيض
- أنشئ كل لون باستخدام
ring.Color()، واجعل كل جزء إما 0 أو 255 - اترك البكسلات الأخرى مطفأة
اضغط Run، ثم Check.
جرّب بنفسك
#include <Adafruit_NeoPixel.h>
// 16 بكسل، البيانات على الطرف 6
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
void setup() {
ring.begin();
// البكسل 0 أحمر، 4 أخضر، 8 أزرق، 12 أبيض
ring.show();
}
void loop() {
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الشاشات والمستشعرات
1شاشات العرض ذات الأجزاء السبعة
شاشة العرض ذات الأجزاء السبعةأنماط الأرقام في البايتاتالعدّ على الشاشةالعدّ التنازلي حتى الصفرمحاكي رمي النرد3NeoPixels
أول NeoPixel لكالألوان على حلقة البكسلاتملء الحلقة ومسحهامطاردة البكسلاتسطوع NeoPixelحلقة قوس قزحتدرّب بنفسك: Playground لـ Arduino