جدول المحتويات:

PWM مع ESP32 - تعتيم LED مع PWM على ESP 32 مع Arduino IDE: 6 خطوات
PWM مع ESP32 - تعتيم LED مع PWM على ESP 32 مع Arduino IDE: 6 خطوات

فيديو: PWM مع ESP32 - تعتيم LED مع PWM على ESP 32 مع Arduino IDE: 6 خطوات

فيديو: PWM مع ESP32 - تعتيم LED مع PWM على ESP 32 مع Arduino IDE: 6 خطوات
فيديو: How to Easily Control Addressable LEDs with an ESP32 or ESP8266 | WLED Project 2024, يوليو
Anonim
PWM مع ESP32 | تعتيم LED مع PWM على ESP 32 مع Arduino IDE
PWM مع ESP32 | تعتيم LED مع PWM على ESP 32 مع Arduino IDE

في هذه التعليمات ، سنرى كيفية إنشاء إشارات PWM باستخدام ESP32 باستخدام Arduino IDE & PWM يستخدم أساسًا لإنشاء إخراج تناظري من أي MCU ويمكن أن يكون هذا الإخراج التناظري بين 0 فولت إلى 3.3 فولت (في حالة esp32) ومن 0 فولت إلى 5 فولت (في حالة اردوينو أونو) وإشارات PWM (خرج تناظري) تُستخدم لتعتيم (خرج متغير ، إضاءة LED عند سطوع مختلف).

الخطوة 1: الأشياء التي تحتاجها

أشياء تحتاجها
أشياء تحتاجها
أشياء تحتاجها
أشياء تحتاجها
أشياء تحتاجها
أشياء تحتاجها

في هذا البرنامج التعليمي ، ستحتاج إلى الأشياء التالية: ESP32

مقاومات 220 أوم

أدى اللون

اللوح

قفز قليل

الخطوة 2: فهم PWM على ESP32

فهم PWM على ESP32
فهم PWM على ESP32

يحتوي ESP32 على 16 قناة تحكم PWM وهذه القنوات الـ 16 مستقلة ويمكن تهيئتها بشكل مستقل للحصول على إشارات PWM بخصائص مختلفة لمتطلبات مختلفة. من 0 إلى 15) قنوات pwm في ESP32. تحتاج إلى اختيار قناة PWM الخاصة بك. >> بعد ذلك نحتاج إلى تحديد التردد لـ PWM ، يمكننا أن نذهب إلى 5000 هرتز. >> هنا لدينا دقة من 1 إلى 16 بت في ESP32 ولكن في هذا البرنامج التعليمي سنذهب إلى 8 بت فقط مما يعني أنه سيتم التحكم في السطوع من خلال القيم من 0 إلى 255. >> تحتاج إلى إعداد LED لـ PWM للقيام بذلك ، تحتاج إلى استخدام سطر الكود التالي وفي ذلك تحتاج إلى ذكر قناة ledchannel (نحن نستخدم القناة 0 من ESP32) الذي تستخدمه لـ PWM & freq هو التردد (نحن نستخدم 5000 هرتز) من PWM والدقة التي تستخدمها (نستخدم دقة 8 بت).ledcSetup (ledChannel ، freq ، Resolution) ؛ القيم في حالتنا: const int التكرار = 5000 ؛ const int ledChannel = 0 ؛ const int Resolution = 8 ؛ >> ثم اذكر أي دبوس LED تحتاج إليه باستخدام الأمر التالي: ledcAttachPin (ledPin ، ledChannel) ؛ - هنا ledPin هو رقم الدبوس. التي سنستخدمها & ledChannel هي القناة التي يجب أن نختارها لـ PWM. أخيرًا ، للتحكم في سطوع LED باستخدام PWM ، يمكنك استخدام الوظيفة التالية: >> سيكون الجزء الرئيسي المهم من الكود هو الأمر التالي الذي سيكتب الإخراج التناظري إلى دبوس LED: ledcWrite (ledChannel ، dutycycle) ؛ هذا الأمر أعلاه يحتاج إلى 'ledChannel' و 'dutyCycle' حيث القناة هي رقم القناة الذي سنستخدمه ودورة العمل هي القيمة التي نكتبها كإخراج إلى دبوس LED.

الخطوة 3: التوصيلات

روابط
روابط

جزء التوصيل سهل للغاية تحتاج إلى توصيل مصباح LED مع المقاوم بـ GPIO16 كما هو موضح في schmatics.

الخطوة 4: قم بتثبيت ESP32 BOARDS في Arduino IDE

قم بتثبيت ESP32 BOARDS في Arduino IDE
قم بتثبيت ESP32 BOARDS في Arduino IDE

تأكد من أن لديك Arduino IDE في جهاز الكمبيوتر الخاص بك وقمت بتثبيت لوحات ESP32 في Arduino IDE الخاص بك ، وإذا لم يكن الأمر كذلك ، فيرجى اتباع التعليمات التالية الخاصة بي لتثبيته.:

الخطوة 5: الكود

الشفرة
الشفرة

يرجى نسخ الكود التالي وتحميله إلى ESP32 الخاص بك: // رقم مؤشر LED pinconst int ledPin = 16 ؛ // 16 يتوافق مع GPIO16 // إعداد خصائص PWMconst int freq = 5000 ؛ const int ledChannel = 0 ؛ const int Resolution = 8 ؛ الفراغ الإعداد () {// تكوين LED PWM الوظيفية ledcSetup (ledChannel ، freq ، Resolution) ؛ // إرفاق القناة بـ GPIO ليتم التحكم فيها بواسطة ledcAttachPin (ledPin، ledChannel)؛} حلقة فارغة () {// زيادة سطوع LED لـ (int dutyCycle = 0؛ dutyCycle <= 255؛ dutyCycle ++) {// تغيير مؤشر LED السطوع مع PWM ledcWrite (ledChannel ، dutyCycle) ؛ تأخير (15) ؛ } // تقليل سطوع LED لـ (int dutyCycle = 255 ؛ dutyCycle> = 0 ؛ dutyCycle -) {// تغيير سطوع LED باستخدام PWM ledcWrite (ledChannel ، dutyCycle) ؛ تأخير (15) ؛ }}

الخطوة السادسة: اختبار وظائف PWM

اختبار وظائف PWM
اختبار وظائف PWM

بعد تحميل الكود ، سترى شدة مصابيح LED الخاصة بك تتغير بحيث يأخذنا إلى نهاية هذه التعليمات. استمتع باستخدام PWM مع ESP32 في مشاريعك.

موصى به: