توضح هذه الدورة التعليمية كيفية التحكم في سطوع LED باستخدام متحكم ESP32 الدقيق، وبالتحديد مجموعة أدوات تعلم IoT SunFounder ESP32 (في الفيديو عند 00:04). هذا المشروع مثالي للمبتدئين الذين يتعلمون عن تعديل عرض النبض (PWM) وتطبيقاته في التحكم في شدة مصادر الضوء. تتيح قدرات PWM المدمجة في ESP32 التحكم بسلاسة ودقة، مما يفتح عالمًا من الفرص للمشاريع الإبداعية.
التطبيقات العملية:
إنشاء أنظمة إضاءة محيطية مع سطوع قابل للتعديل.
بناء مصباح ليلي بسيط مع تلاشي تدريجي.
تطوير ضوء مؤشر ديناميكي لمختلف الحالات (مثل: بطارية منخفضة، اتصال بالشبكة).
الاندماج مع مجسات ومحركات أخرى لإنشاء تركيبات تفاعلية معقدة.
المكونات/الأجهزة
يستخدم المشروع مجموعة البداية SunFounder ESP32 (في الفيديو عند :12)، والتي تتضمن متحكم ESP32، ولوحة توسيع، ومكونات مختلفة، وبطارية ليثيوم 18650. ستحتاج أيضًا إلى LED ومقاومة 220 أوم (في الفيديو عند :32).
دليل الأسلاك
ارجع إلى مخطط الأسلاك في الفيديو (في الفيديو عند 01:46 و 04:18) والشرح التفصيلي عند الطابع الزمني 04:40. تتضمن الأسلاك توصيل الأنود الخاص بـ LED بالمقاومة، والمقاومة بدبوس GPIO 26 في ESP32، وكاثود LED بالأرض.
LED مع مقاومة
LED متصل بالتتابع مع مقاومة 220 أوم. أدناه هو التوصيل على اللوحة التجريبية.
فلاش LED ESP32
شرح الشيفرة
يستخدم كود أردوينو تعديل عرض النبضة (PWM) للتحكم في سطوع LED. الأجزاء الرئيسية القابلة للتكوين هي:
ledPin: يحدد دبوس GPIO المتصل بمصباح LED (في الفيديو في 09:41، تم تعيينه إلى 26). غير ذلك إذا كنت تستخدم دبوسًا مختلفًا.
fadeAmountيستخدم للتحكم في معدل تغيير سطوع LED (في الفيديو عند :10:06). تؤدي القيمة الأعلى إلى تلاشي أسرع. يقوم الكود تلقائيًا بعكس الاتجاه عندما يصل السطوع إلى القيمة الدنيا (0) أو القصوى (255) (في الفيديو عند :11:44).
const int ledPin = 26; // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // Attach pin to PWM channel
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
مشروع حي/عرض تقديمي
يوضح الفيديو LED المتلاشي أثناء العمل (في الفيديو عند 14:51). يوضح المعلم كيفية ضبط الـfadeAmountمتغير للتحكم في سرعة التلاشي (في الفيديو عند 15:16 و 15:51). تُظهر العملية أيضًا تحميل الكود إلى ESP32 (في الفيديو عند 14:20).
الفصول
[00:00] المقدمة ونظرة عامة على المشروع
نظرة عامة على مجموعة البداية ESP32
[01:46] مخطط الأسلاك وشرحه
[02:03] الإشارات الرقمية وتقنية عرض النبضات المتغيرة