في هذا الدليل، سنتعلم كيفية التحكم في لون LED RGB باستخدام وحدة التحكم الدقيقة ESP32 عبر الواي فاي، باستخدام بروتوكول MQTT وخدمة Adafruit IO. تتيح لك هذه الإعدادات تغيير لون LED RGB من أي مكان في العالم، مما يوفر تطبيقًا عمليًا لتقنية إنترنت الأشياء. سنستكشف أيضًا كيفية استخدام منزلقات وأداة اختيار الألوان لتحديد اللون المطلوب.
esp32-50-RGB-led-mqtt-main
ESP32 هو متحكم دقيق قوي يأتي مزودًا بإمكانيات واي فاي وبلوتوث مدمجة، مما يجعله مثاليًا لمشاريع إنترنت الأشياء. في هذا البناء، سنقوم بتوصيل LED RGB بـ ESP32 والتحكم في لونه من خلال وسيط MQTT المقدم من Adafruit. سيوجهك الدليل خلال إعداد الأجهزة، وتعليمات الأسلاك، والرمز اللازم لجعل كل شيء يعمل بسلاسة (في الفيديو عند :00).
شرح الأجهزة
esp32-50-RGB-لاصقesp32-50-RGB-ليد
بالنسبة لهذا المشروع، فإن المكونات الأساسية التي سنستخدمها هي المتحكم الدقيق ESP32 و LED RGB. المتحكم الدقيق ESP32 لديه القدرة على الاتصال بشبكات الواي فاي، مما يسمح له بالتواصل مع خدمة Adafruit IO. يحتوي LED RGB على ثلاثة LEDs فردية (أحمر، أخضر، وأزرق) يمكن خلطها لإنشاء مجموعة واسعة من الألوان.
يعمل LED RGB على مبدأ الأنود المشترك أو الكاثود المشترك، مما يعني أنه يجب توصيل الأنود (الموجب) أو الكاثود (السالب) للـ LEDs الفردية بشكل صحيح لكي تعمل. يمكن التحكم في كل لون باستخدام تعديل عرض النبضة (PWM)، الذي يضبط سطوع كل LED من خلال تغيير دورة العمل.
ES32-38_RGB_LED-أسلاك
تفاصيل ورقة البيانات
الصانع
سونفاوندر
رقم القطعة
LED RGB
جهد أمامي (فولت)ف)
2.0-3.4 ف
تيار الهجوم (Iف)
20 مللي أمبير
طول الموجة القصوى (نانومتر)
أحمر: 620، أخضر: 525، أزرق: 465
حزمة
مأخذ قياسي 4 دبابيس
ملاحظات / متغيرات
خيارات الأنود المشترك أو الكاثود المشترك متاحة
استخدم مقاومات بقيمة 220 أوم لكل لون LED للحد من التيار.
تأكد من التوصيل الصحيح لتكوين الأنود المشترك أو الكاثود.
تحقق من مصدر الطاقة لجهاز ESP32 لتجنب انقطاع الطاقة.
احتفظ بتردد PWM ضمن الحدود لانتقالات اللون السلسة.
تأكد من صحة بيانات اعتماد شبكة Wi-Fi للاتصال بخدمة Adafruit IO.
تعليمات الأسلاك
ES32-38_RGB_LED-wiring
لتوصيل دائرية LED RGB بـ ESP32، ابدأ بتحديد الدبابيس على دائرية LED RGB. الدبوس الأطول هو الدبوس المشترك. لتكوين الأنود المشترك، قم بتوصيل هذا الدبوس بمصدر الطاقة الإيجابية (3.3 فولت). الدبابيس الثلاثة الأخرى تت correspond إلى LEDs الأحمر والأخضر والأزرق. قم بتوصيل الدبوس الأحمر بـ GPIO 27، والدبوس الأخضر بـ GPIO 26، والدبوس الأزرق بـ GPIO 25. يجب أن يتم توصيل كل من هذه النقاط من خلال مقاومة 220 أوم لتحديد التيار المتدفق عبر LEDs.
بعد ذلك، قم بتوصيل الأرض (GND) في ESP32 بخط الأرض في دائرتك. تأكد من أن الأسلاك مؤمنة لمنع أي اتصالات متقطعة. إذا كنت تستخدم مصابيح LED RGB ذات القطب السالب المشترك، قم بتوصيل الدبوس المشترك إلى الأرض بدلاً من ذلك ووصّل دبابيس الألوان الفردية إلى مصدر الطاقة الإيجابي عبر المقاومات. تحقق من جميع الاتصالات مرة أخرى قبل تشغيل الدائرة.
أمثلة شيفرة وتوجيهات
في كود الأردوينو، نبدأ بتحديد الدبابيس لمصابيح LED الحمراء والخضراء والزرقاء باستخدام المعرفات.redPin,greenPin, وbluePin. بالإضافة إلى ذلك، نحدد قنوات PWM لكل لون باستخدامredChannel,greenChannel, وblueChannelتردد PWM مضبوط على 5000 هرتز بدقة 8 بت.
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
const int redChannel = 0;
const int greenChannel = 1;
const int blueChannel = 2;
في الـsetup()نقوم بت inicializar قنوات PWM وتوصيل الدبابيس المقابلة. نقوم أيضًا بالاتصال بشبكة Wi-Fi باستخدام بيانات الاعتماد المحددة وتكوين عميل MQTT للتواصل مع Adafruit IO.
الحلقة الرئيسية تتحقق من اتصال MQTT وتعالج الرسائل الواردة. كما تعرض القيم الحالية لـ RGB على شاشة السيريال. يتم تحديث لون LED بناءً على القيم المستلمة من خلال اشتراكات MQTT.
لمزيد من التفاصيل حول الشيفرة الكاملة، يرجى الرجوع إلى الشيفرة الكاملة المحملة أسفل المقال.
عرض / ما يمكن توقعه
بمجرد الانتهاء من إعداد كل شيء وتحميل الكود، يجب أن ترى مصباح LED RGB يستجيب لتغيرات اللون التي تمت من خلال لوحة تحكم Adafruit IO. عند تعديل منزلقات الأحمر والأخضر والأزرق، يجب أن يتغير لون مصباح LED وفقًا لذلك. إذا واجهت أي مشاكل، تأكد من أن اتصال الواي فاي مستقر وأن أسماء مواضيع MQTT تتطابق مع تلك المحددة في الكود (في الفيديو عند :30).
تشمل الأخطاء الشائعة الأسلاك غير الصحيحة، وتطابق أسماء الموضوعات، ونسيان إعداد بيانات اعتماد Wi-Fi الصحيحة. إذا لم يضيء LED، فقم بإعادة التحقق من توصيلات المقاومات وتأكد من أن ESP32 يعمل بشكل صحيح.
توقيتات الفيديو
:00 ابدأ
:23 مقدمة في المشروع
4:43 ما هو MQTT
:55 إعداد Adafruit IO
14:09 شرح الأسلاك
16:07 شرح الكود
:03 اختيار لوحة ESP32 ومنفذ COM على برنامج Arduino IDE
توضيح المشروع 29:12
ما هو LED RGB؟
٣٥:٢٦ لون RGB
الصور
ESP32_rgb_pin
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
esp32-50-RGB-led
esp32-50-RGB-led-mqtt-main
ESP32_rgb_pin
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
esp32-50-RGB-led
esp32-50-RGB-led-mqtt-main
852-ESP32 Tutorial 50/55- Arduino code to control RGB LED using MQTT service of Adafruit