Menu
CoddyTech
flag Ar iconالعربيةdown icon

مطاردة البكسلات

جزء من قسم الشاشات والمستشعرات في رحلة 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: يدور الضوء حول الحلقة مرارًا وتكرارًا.

challenge icon

التحدي

سهل

اجعل ضوءًا برتقاليًا يدور حول الحلقة:

  • أضئ بكسلًا واحدًا في كل مرة، من 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 لكل منها
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الشاشات والمستشعرات

تدرّب بنفسك: Playground لـ Arduino