في هذا الدليل، سنتعلم كيفية التحكم في مصباح LED ملون (RGB) باستخدام وحدة التحكم الدقيقة ESP32. سيساعدك هذا المشروع على فهم كيفية توصيل مصباح LED الملون والتحكم في ألوانه باستخدام إشارات PWM (تعديل عرض النبض). بنهاية هذا الدليل، ستكون قادرًا على إنشاء أي تركيبة لونية من خلال ضبط شدة كل مكون من مكونات LED. هذه مهارة أساسية لإنشاء مشاريع جذابة بصريًا.
للحصول على فهم أفضل لثنائي الضوئي RGB وقدرات خلط ألوانه، سنستكشف الأسلاك والشفرة اللازمة للتحكم فيه باستخدام ESP32. إذا كنت بحاجة إلى مساعدة مرئية، تأكد من مراجعة الفيديو (في الفيديو عند 03:20) للحصول على تفسير أوضح لترتيب الأسلاك والشفرة.
شرح الأجهزة
تشمل المكونات الرئيسية لهذا المشروع وحدة ESP32، وثنائي LED RGB، والمقاومات. تعتبر ESP32 متحكمًا دقيقًا قويًا يحتوي على Wi-Fi وBluetooth مدمجين، مما يجعلها مثالية لتطبيقات إنترنت الأشياء. يتكون LED RGB من ثلاثة LEDs فردية (أحمر، أخضر، وأزرق) محاطة داخل حزمة واحدة، مما يسمح بنطاق واسع من الألوان بناءً على تركيبة الألوان الثلاثة.
في إعدادنا، سيتم توصيل LED RGB في تكوين أنود مشترك، حيث يتم ربط دبوس الأنود بجهد إيجابي، ويتم التحكم في دبوس الكاثود لكل لون بشكل مستقل. بهذه الطريقة، يمكننا ضبط سطوع كل لون من خلال إرسال إشارات PWM عبر ESP32.
تفاصيل ورقة البيانات
الشركة المصنعة
SunFounder
رقم الجزء
RGB-LED-4PIN
نوع شائع
الأنود المشترك
جهد الانحدار (لكل LED)
٢.٠ فولت (أحمر)، ٣.٢ فولت (أخضر)، ٣.٢ فولت (أزرق)
التيار الأقصى (لكل LED)
20 ملليلتر
درجة حرارة التشغيل
-25 إلى 85 درجة مئوية
حزمة
4 دبوس من خلال الفتحة
استخدم مقاومة 220 أوم لكل لون للحد من التيار ومنع الضرر.
تأكد من توصيل الدبوس المشترك بالجهد المناسب (3.3 فولت لـ ESP32).
تحقق من القطبية مرة أخرى عند توصيل LED RGB لتجنب الأضرار العكسية.
استخدم PWM للتحكم في مستويات السطوع، مع تردد يفضل حوالي 5000 هرتز.
اختبر كل لون بشكل فردي قبل توصيل الإعداد بالكامل.
تعليمات التوصيل
لتوصيل LED RGB بـ ESP32، ابدأ بتحديد الدبابيس على LED RGB. الدبوس الأطول هو الأنود المشترك، والذي سيتصل بمصدر 3.3 فولت على ESP32. الدبابيس الثلاثة الأخرى هي للأحمر والأخضر والأزرق. في إعدادنا، قم بتوصيل الدبوس الأحمر بـ GPIO27، الدبوس الأخضر إلى GPIO26، ودبوس الأزرق إلى GPIO25سيكون لكل من هذه الدبابيس أيضًا مقاومة بقيمة 220 أوم موصولة بها.
ابدأ بوضع مصباح LED RGB على لوحة الخبز، مع التأكد من أن دبابيس الأنود المشتركة على اليسار. أدخل الدبوس الأحمر في لوحة الخبز وقم بتوصيله بأحد طرفي المقاوم، مع توصيل الطرف الآخر من المقاوم بـ GPIO.27. كرر ذلك بالنسبة لدبابيس الأخضر والأزرق، متصلاً بالدبوس الأخضر إلى GPIO26والدبوس الأزرق إلى GPIO25أخيرًا، قم بتوصيل الدبوس المشترك بدبوس 3.3 فولت على ESP32 لإكمال الدائرة. تأكد من توصيل الأرضية الخاصة بـ ESP32 بلوحة الدائرة أيضًا.
ESP32_RGB_LED_wiring_lesson_06
أمثلة الشيفرة وإرشادات الاستخدام
في الكود، نبدأ بتعريف دبابيس LED RGB باستخدام الثوابت. على سبيل المثال،const int redPin = 27;يحدد دبوس GPIO لمصباح LED الأحمر. كما نحدد تردد PWM ودقته معconst int freq = 5000;وconst int resolution = 8;. هذا يقوم بإعداد المعلمات اللازمة للتحكم في سطوع كل لون من ألوان LED.
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
بعد ذلك، نقوم بتكوين قنوات PWM لكل لون في الsetup()نظام. الledcAttach()تربط الدالة كل دبوس بالقناة المتناسبة مع PWM. يضمن هذا الإعداد أنه يمكننا التحكم في سطوع كل لون بشكل مستقل.
في الـloop()دالة، نستخدم الـsetColor()وظيفة لتغيير ألوان LED. القيم المرسلة إلى هذه الوظيفة تمثل شدة اللون الأحمر والأخضر والأزرق. على سبيل المثال، استدعاءsetColor(255, 0, 0);يُعيّن LED إلى اللون الأحمر. بعد كل تغيير في اللون، نستخدمdelay(1000);للانتظار لمدة ثانية واحدة قبل الانتقال إلى اللون التالي.
void loop() {
setColor(255, 0, 0); // Red
delay(1000);
setColor(0, 255, 0); // Green
delay(1000);
}
عرض / ماذا تتوقع
بعد الانتهاء من توصيل الأسلاك وتحميل التعليمات البرمجية إلى ESP32، يجب أن ترى LED RGB يتنقل بين ألوان مختلفة: الأحمر، الأخضر، الأزرق، الأصفر، الأرجواني، والسماوي. إذا لم يضيء LED بشكل صحيح، تحقق مرة أخرى من توصيلاتك وتأكد من أن الأنيود المشترك متصل بـ 3.3 فولت. بالإضافة إلى ذلك، إذا لاحظت أي ألوان غير متوقعة، فقم بالتحقق من توصيل المقاومات إلى دبابيس LED.
كما هو موضح في الفيديو (في الفيديو عند 10:45)، تعديل القيم في الـsetColor()تتيح لك هذه الوظيفة إنشاء ألوان مختلفة. جرب مجموعة متنوعة من التركيبات لترى كيف يستجيب LED RGB.
طوابع الفيديو الزمنية
00:00- مقدمة في مصابيح LED RGB
03:20- شرح الأسلاك
١٠:٤٥- استعراض التعليمات البرمجية
12:30- عرض خلط الألوان
الصور
ESP32_rgb_pin
ESP32_RGB_led_wires
ESP32_RGB_LED_wiring_lesson_06
ESP32_rgb_pin
ESP32_RGB_led_wires
ESP32_RGB_LED_wiring_lesson_06
806-ESP32 Tutorial 6/55 - Arduino code to control RGB LED with ESP32