في هذا الدرس، سنقوم بإنشاء تأثير تدرج لوني باستخدام مصباح LED RGB يتكيف بناءً على موضع مقاوم متغير (عجلة). المشروع يستخدم وحدة تحكم ميكرو ESP32، التي توفر قدرات واي فاي وبلوتوث مدمجة، مما يجعلها خيارًا متعدد الاستخدامات لمشاريع إنترنت الأشياء. من خلال تدوير المقاومة المتغيرة، يمكننا الانتقال بسلاسة بين الألوان المختلفة، مما يظهر كل من وظيفة مصباح LED RGB والقدرة على قراءة القيم التناظرية من المقاومة المتغيرة.
ESO32-34_-Color-Gradient-main
هذا المشروع مثالي للتعلم حول PWM (تعديل عرض النبضات) وكيفية التحكم في الأجهزة التناظرية باستخدام متحكم دقيق. خلال هذا الدليل، سنناقش المكونات hardware الضرورية، وتعليمات الأسلاك، وسنقدم مقتطفات من الشيفرة لمساعدتك في تنفيذ المشروع. للحصول على تفسير أكثر وضوحًا، تأكد من مشاهدة الفيديو المرتبط (في الفيديو الساعة 02:15).
شرح الأجهزة
ESO32-34_-مخطط تدرج الألوان
المكونات الرئيسية المستخدمة في هذا المشروع تشمل متحكم ESP32، LED RGB، ومقاوم متغير. يعد ESP32 متحكم قوي يمكنه التعامل مع مهام متنوعة، بما في ذلك الاتصالات اللاسلكية، مما يجعله مناسبًا لتطبيقات إنترنت الأشياء. يتكون LED RGB من ثلاثة مصابيح LED فردية (أحمر، أخضر، وأزرق) يمكن مزجها لإنتاج مجموعة واسعة من الألوان. يعمل المقاوم المتغير كمقاوم قابل للتعديل يوفر جهدًا متغيرًا يعتمد على موقعه.
ESP32_rgb_pin
يمكن توصيل LED RGB في تكوينين: القطب المشترك الموجب أو القطب المشترك السالب. في هذا المشروع، سنستخدم تكوين القطب المشترك الموجب، حيث يتم توصيل جميع الأقطاب الموجبة معًا إلى جهد موجب، مما يتيح لنا التحكم في سطوع كل LED بشكل فردي باستخدام PWM. سيتم توصيل المقاومة المتغيرة إلى مدخل تناظري على ESP32 لقراءة موضعها وضبط قيم RGB وفقًا لذلك.
تفاصيل ورقة البيانات
صانع
سانفاندر
رقم الجزء
إضاءة LED RGB
جهد المنطق/المدخلات والمخرجات
3.3 فولت
جهد الإمداد
5 فولت
التيار الناتج (لكل قناة)
20 مللي أمبير
ذروة التيار (لكل قناة)
30 مللي أمبير
إرشادات تردد PWM
5 كيلو هرتز
عتبات منطق الإدخال
0.3 فولت (منخفض) / 2.7 فولت (مرتفع)
فرق جهد / رDS(on)/ تشبع
1.8 فولت (تقريباً)
الحدود الحرارية
درجة حرارة التشغيل: -40°C إلى +85°C
حزمة
ثقب مباشر
ملاحظات / متغيرات
تكوين الأنود الشائع
استخدم مقاومة 220 أوم لكل قناة LED لتقليل التيار.
تأكد من توفير جهد مصدر الطاقة المناسب (5V) لثنائي اللون RGB.
صل الأنيود المشترك بمصدر الجهد الموجب.
استخدم التحكم عرض النبض (PWM) للتحكم في سطوع كل لون من ألوان LED.
كن حذرًا عند توصيل المقاومة المتغيرة لتجنب المدخلات العائمة.
تحقق من أن ESP32 مزود بالطاقة بشكل صحيح قبل تحميل الكود.
تعليمات التوصيل
لتوصيل LED RGB والمتحكم المتغير بالجهد ESP32، ابدأ بتوصيل دبوس الأنود المشترك لـ LED RGB بدبوس الطاقة 3.3 فولت على ESP32. ستتصل دبابيس الأحمر والأخضر والأزرق في LED RGB بالدبابيس27,26, و25على التوالي. تأكد من وضع مقاومة 220 أوم بالتسلسل مع كل دبوس ليد لونه لتقليل التيار وحماية اللمبة.
بعد ذلك، قم بتوصيل الجهد المتغير بالـ ESP32 عن طريق ربط الدبوس الأيسر بدبوس الطاقة 3.3 فولت، والدبوس الأيمن بالأرض، والدبوس الأوسط بـ14على الESP32. هذه الإعدادات تسمح للESP32 بقراءة الجهد التناظري من المقاومة المتغيرة، والتي ستستخدم لضبط لون LED RGB بناءً على موقعه.
أمثلة الكود والجولة التوضيحية
في دالة الإعداد، نقوم بتعريف الدبابيس لمصباح LED RGB وموقد الجهد، بالإضافة إلى إعداد إعدادات PWM. يوضح جزء الكود التالي كيفية إعداد دبابيس LED RGB:
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
void setup() {
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
في هذه الفقرة، نحدد دبابيس مصابيح LED الحمراء والخضراء والزرقاء، ونربطها بقنوات PWM بتردد ودقة محددين.
تقوم دالة الحلقة بقراءة قيمة المتغير وتحوّلها إلى قيمة لون، والتي تُستخدم بعد ذلك لتحديد قيم RGB. المقتطف التالي يوضح هذه العملية:
يقرأ هذا الرمز القيمة التماثلية من المقاومة المتغيرة، ويقوم بتطبيعها، ويحساب اللون المقابل. ثم يقوم باستدعاء الـHUEtoRGBدالة لتحويل التدرج اللوني إلى قيم RGB، والتي يتم تمريرها إلى الـsetColorوظيفة لتحديث LED.
عرض / ماذا تتوقع
عند الانتهاء من توصيل الأسلاك وتحميل الكود، يجب أن تكون قادرًا على ضبط المقاومة المتغيرة لتغيير لون LED RGB بسلاسة. عند دوران القلابة، سيتغير لون LED عبر ألوان مختلفة بناءً على قيمة اللون المحسوبة من موضع القلابة. إذا لم يضيء LED أو تصرف بشكل غير متوقع، تحقق من الأسلاك وتأكد من توصيل المقاومة المتغيرة بشكل صحيح (في الفيديو عند 10:45).
طوابع الفيديو الزمنية
00:00 البداية
:11 مقدمة عن المشروع
4:31 LED RGB
:18 لون RGB
12:18 شرح الأسلاك
شرح كود أردوينو 17:59
اختيار لوحة ESP32 وCOM port في Arduino IDE
25:54 عرض
الصور
ESP32_rgb_pin
ESP32_RGB_led_wires
potentiometer
ESO32-34_-Color-Gradient-wiring
ESO32-34_-Color-Gradient-schematic
ESO32-34_-Color-Gradient-main
ESP32_rgb_pin
ESP32_RGB_led_wires
potentiometer
ESO32-34_-Color-Gradient-wiring
ESO32-34_-Color-Gradient-schematic
ESO32-34_-Color-Gradient-main
835-ESP32 Tutorial 34/55- Arduino code for color gradient