جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
بالنسبة لأولئك الذين لم يعتادوا على الإلكترونيات ، فإن PWM تعني التحكم في الطاقة. وفي هذا التجميع ، نوضح كيفية استخدامه للتحكم في شدة إضاءة LED ، على غرار باهتة في المصباح ، مع خيارات للتعتيم والسطوع.
تتيح لك هذه الآلية أيضًا ، على سبيل المثال ، توصيل محرك بمحرك. هذا مجرد واحد من العديد من الاحتمالات.
- ملاحظة: PWM تعني تعديل عرض النبض.
الخطوة 1: الهدف
يتكون التجميع من مقياس الجهد ، وهو مقاوم متغير ، يتم مراقبته بواسطة ESP. في هذا المخطط ، أستخدم نفس كود المصدر الذي سأستخدمه مع Arduino. نظرًا لمزاياها العديدة ، فإننا نستخدم Arduino IDE مع ESP في مشاريع أخرى أيضًا.
في التجميع ، يتم توصيل ESP بـ USB فقط لإمداد الطاقة. لدينا أيضًا دبوس المؤشر ، وهو دبوس مقياس الجهد المركزي ، المتصل في منفذ AD ، والموجب والسالب.
نظرًا لاختلاف الجهد ، فمن الممكن قراءة قيمة مختلفة في AD. لذلك ، من خلال تشغيل مقياس الجهد ، من الممكن زيادة أو تقليل سطوع LED.
الخطوة 2: التجميع
المخطط الكهربائي بسيط للغاية: باستخدام ESP8266 في تكوين NodeMCU ، سنقوم بتشغيل USB. هنا ، يجب أن يكون مقياس الجهد متصلاً من طرف إلى الطرف السالب ، والآخر من الطرف الموجب. الوسيط ، وهو المؤشر ، يبقى في ADC 0 ، لأن هذا ESP يحتوي فقط على منفذ يقرأ القيم التناظرية.
الخطوة 3: WiFi ESP8266 NodeMCU ESP-12E
الخطوة 4: كود المصدر
اقامة
في وظيفة الإعداد ، نحدد سلوك المسامير التي نستخدمها ، في هذه الحالة LED و POTENTIOMETER.
إعداد باطل () {Serial.begin (115200) // Instrução para colocar o gpio que iremos utilizar como entrada، // podemos fazer a leitura nesse pino pinMode (A0، INPUT) ؛ // A0 é uma constante que indica o pino que ligamos nosso potenciômetro // Instrução para colocar o gpio que iremos utilizar como saída، // podemos alterar seu valor livremente para HIGH ou LOW pinMode (LED_BUILTIN) ؛ // LED_BUILTIN é uma constante que indica o LED do ESP8266}
حلقة
في هذه الوظيفة ، يكون المنطق هو قراءة قيمة POT وتعيين هذه القيمة (وهي شدة السطوع) في LED.
الحلقة الفارغة () {// faz a leitura do pino A0 (no nosso caso، o potenciômetro، retorna um valor entre 0 e 1023) int potencia = analogRead (A0)؛ Serial.println (بوتينسيا) ؛ // como o LED no ESP8266 trabalha de maneira contária، ou seja، quanto maior o valor atribuído، menor a hyperidade. Faremos o cálculo para aumentarmos o brilho matche girarmos o potenciômetro em sentido horário. بوتنسيا = 1023 - بوتنسيا ؛ // atribui o valor lido do potenciômetro para configurar ، وهو برنامج مكثف يفعل brilho do LED analogWrite (LED_BUILTIN ، potencia) ؛ }