كود البحث

درس 5 من 10: التحكم في مصباح RGB LED WS2812B باستخدام Raspberry Pi Pico

درس 5 من 10: التحكم في مصباح RGB LED WS2812B باستخدام Raspberry Pi Pico

هذا الدرس، وهو جزء من دورة Robojax لسيارة Raspberry Pi Pico الذكية، يركز على التحكم في شريط LED الملون (WS2812B) في مجموعة سيارة SunFounder ذات الدفع الرباعي. ستتجاوز التحكم البسيط في التشغيل والإيقاف وتتعلم كيفية مزج قيم الأحمر والأخضر والأزرق لإنشاء أي لون، والتحكم في مصابيح LED الفردية، وإنشاء تسلسلات إضاءة ديناميكية مثل تأثير الضوء "المتحرك". هذه المهارة أساسية لإضافة ردود فعل بصرية وشخصية لمشاريع الروبوتات الخاصة بك.

التحكم في مصابيح RGB LED هو مهارة أساسية لأي مشروع روبوتات أو إلكترونيات. إليك بعض الأشياء العملية التي يمكنك بناؤها بهذه المعرفة:

  • مؤشرات حالة مخصصة: استخدم ألوانًا مختلفة لإظهار حالة الروبوت، مثل الأخضر لـ "جاهز"، والأزرق لـ "يعمل"، والأحمر لـ "خطأ".
  • تأثيرات إضاءة تفاعلية: أنشئ أنماط إضاءة من نوع "المطاردة" أو "الفارس الليلي" لروبوت أكثر ديناميكية وجاذبية.
  • ردود فعل بصرية لأجهزة الاستشعار: برمج مصابيح LED لتغيير اللون بناءً على بيانات الاستشعار، مثل التحول إلى الأحمر عند اقتراب عائق أو الأزرق عند اتباع خط.
  • إضاءة محيطية: اضبط مصابيح LED على لون عشوائي أو درجة لونية محددة لإنشاء جو مخصص لسيارتك أو مشاريع أخرى.

المكونات/الأجهزة

يستخدم هذا المشروع المكونات التي تأتي مع مجموعة سيارة SunFounder Raspberry Pi Pico ذات الدفع الرباعي. المكون الرئيسي هو شريط RGB LED نفسه، الذي يتم التحكم فيه بواسطة Raspberry Pi Pico.

  • Raspberry Pi Pico
  • مجموعة سيارة SunFounder ذات الدفع الرباعي (التي تتضمن شريط WS2812B RGB LED)
  • حزمة بطارية للسيارة (لتشغيل مصابيح LED، كما ذُكر في الفيديو)

دليل التوصيل

لا يتناول درس الفيديو عملية التوصيل بالتفصيل، لأنها جزء من التصميم المُجمّع مسبقًا لمجموعة السيارة. مصابيح LED متصلة بالفعل بـ Raspberry Pi Pico. للإعداد المخصص، عادةً ما تقوم بتوصيل دبوس البيانات لشريط WS2812B بدبوس GPIO على Pico، بالإضافة إلى الطاقة (5V) والأرضي (GND). نظرًا لأن هذا الدرس يستخدم مجموعة السيارة، فلا حاجة إلى توصيل إضافي.

إذا كنت تبني هذا على لوحة تجارب، فستقوم بتوصيل خط البيانات لشريط LED بدبوس GPIO (مثل GP0) وتزويده بالطاقة بمصدر 5V خارجي.

شرح الكود

يركز الدرس على استخدام الدوال المكتوبة مسبقًا من مكتبة مجموعة السيارة. الدالة الأساسية للتحكم في الأضواء هي set_light_color(). يتم استدعاء هذه الطريقة على كائن السيارة وتأخذ وسيطين رئيسيين: رقم معرف الضوء وقائمة من ثلاث قيم تمثل شدة الأحمر والأخضر والأزرق (RGB).

فيما يلي تفصيل لكيفية استخدام الدوال الرئيسية الموضحة في الفيديو:

  • car.set_light_color(LED_ID, [R, G, B]): هذه هي الطريقة الأكثر مباشرة للتحكم في مصباح LED فردي. LED_ID هو عدد صحيح من 0 إلى 23، واللون هو قائمة مثل [255, 0, 0] للأحمر.
  • دوال مساعدة من المكتبة: توفر مكتبة المجموعة دوالًا عالية المستوى مثل set_all_light_color() وset_bottom_left_color() وset_bottom_right_color() للتحكم في مجموعات من مصابيح LED بسهولة أكبر.

لإنشاء لون مخصص، يمكنك ضبط القيم الثلاث في القائمة. على سبيل المثال، [255, 255, 0] يصنع الأصفر، و[0, 255, 255] يصنع السماوي، و[255, 0, 255] يصنع الوردي أو الأرجواني. يوضح الفيديو إنشاء هذه الألوان عن طريق مزج قيم RGB الأساسية.

للألوان العشوائية، يمكنك استخدام دالة random.randint(0, 255) لتوليد قيم عشوائية للأحمر والأخضر والأزرق، كما هو موضح في مثال "العشوائي". وهذا يعين لونًا عشوائيًا فريدًا لكل من مصابيح LED الأربعة والعشرين.

المشروع/العرض الحي

في الفيديو، يوضح المدرب المفاهيم مباشرة. يعرض أولاً كيفية تشغيل جميع الأضواء السفلية بلون أخضر ثابت عن طريق ضبط قيم RGB على [0, 255, 0]. ثم يغير اللون إلى الأحمر عن طريق ضبط [255, 0, 0]. يستمر العرض التوضيحي بإظهار كيفية التحكم في مصابيح LED الفردية بواسطة رقم معرفها (0-23) وضبط ألوانها بشكل مستقل.

جزء كبير من الفيديو مخصص لإنشاء تأثير "الضوء المتحرك". يتم ذلك باستخدام حلقة for تتكرر من 1 إلى 24. في كل تكرار، يتم تشغيل مصباح LED الحالي لفترة زمنية محددة (مثل 300 مللي ثانية) ثم إيقاف تشغيله لفترة قصيرة جدًا (مثل 10 مللي ثانية) قبل الانتقال إلى التالي. هذا يخلق وهم ضوء يتحرك على طول الشريط. يعرض المدرب أيضًا كيفية ضبط سرعة هذا التأثير عن طريق تغيير قيم التأخير.

أخيرًا، يعرض برنامج "اللون العشوائي"، الذي يستخدم مكتبة random لتوليد لون فريد لكل من مصابيح LED الأربعة والعشرين في كل مرة يتم فيها تشغيل الكود، مما ينشئ عرضًا نابضًا بالحياة ومتعدد الألوان.

الفصول

  • [00:00] مقدمة إلى مصابيح RGB LED ودورة السيارة الذكية
  • [02:36] فهم نموذج الألوان RGB
  • [05:00] التحكم في الأضواء باستخدام دوال المكتبة
  • [09:01] كيفية التحكم في مصابيح LED الفردية (0-23)
  • [13:08] إنشاء تأثير الضوء المتحرك
  • [15:32] توليد ألوان عشوائية لكل مصباح LED
لا يوجد رمز مرفق.

الموارد والمراجع

لا توجد موارد حتى الآن.

ملفات📁

لا توجد ملفات متاحة.