مطاردة البكسلات
جزء من قسم الشاشات والمستشعرات في رحلة Arduino على Coddy. الدرس 15 من 24.
يضيء مصباح يدور حول حلقة بكسلًا واحدًا في كل مرة، وينتقل إلى البكسل التالي عند كل خطوة. تمنحك حلقة for رقم البكسل:
for (int i = 0; i < 16; i++) {
ring.clear(); // ينطفئ البكسل السابق
ring.setPixelColor(i, orange); // يضيء البكسل الجديد
ring.show();
delay(100);
}تأتي clear() أولًا، لذا ينطفئ البكسل السابق في استدعاء show() نفسه الذي يضيء فيه البكسل التالي. من دونها، يظل كل بكسل مضاءً وتمتلئ الحلقة.
تتوقف الحلقة بعد البكسل 15، ثم تُشغَّل loop() من جديد، وتبدأ i من 0: يدور الضوء حول الحلقة مرارًا وتكرارًا.
التحدي
سهلاجعل ضوءًا برتقاليًا يدور حول الحلقة:
- أضئ بكسلًا واحدًا في كل مرة، من 0 إلى 15
- 100 ms لكل بكسل
- بعد 15، ابدأ مجددًا من 0
اضغط على Run، ثم Check.
جرّب بنفسك
#include <Adafruit_NeoPixel.h>
// 16 بكسلًا، البيانات على الطرف 6
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
uint32_t orange = ring.Color(255, 40, 0);
void setup() {
ring.begin();
}
void loop() {
// أضئ بكسلًا واحدًا في كل مرة، من 0 إلى 15، لمدة 100 ms لكل منها
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الشاشات والمستشعرات
1شاشات العرض ذات الأجزاء السبعة
شاشة العرض ذات الأجزاء السبعةأنماط الأرقام في البايتاتالعدّ على الشاشةالعدّ التنازلي حتى الصفرمحاكي رمي النرد3NeoPixels
أول NeoPixel لكالألوان على حلقة البكسلاتملء الحلقة ومسحهامطاردة البكسلاتسطوع NeoPixelحلقة قوس قزحتدرّب بنفسك: Playground لـ Arduino