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

الألوان على حلقة البكسلات

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

challenge icon

التحدي

سهل

الحلقة موصولة بالمنفذ 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() {
}
quiz iconاختبر نفسك

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

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

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