فهرست مطالب:

ESP8266 استفاده از PWM با پتانسیومتر: 4 مرحله
ESP8266 استفاده از PWM با پتانسیومتر: 4 مرحله

تصویری: ESP8266 استفاده از PWM با پتانسیومتر: 4 مرحله

تصویری: ESP8266 استفاده از PWM با پتانسیومتر: 4 مرحله
تصویری: Complete Guide for 15A 400W MOSFET AOD4184A to control motor or load 2024, جولای
Anonim
Image
Image
هدف
هدف

برای کسانی که به لوازم الکترونیکی عادت ندارند ، PWM به معنی کنترل قدرت است. و در این مجموعه ، نحوه استفاده از آن برای کنترل شدت نور یک LED ، مشابه کم نور روی لامپ ، با گزینه هایی برای تاریک شدن و روشن تر نشان می دهیم.

این مکانیسم همچنین به شما اجازه می دهد ، به عنوان مثال ، یک راننده را به موتور وصل کنید. این تنها یکی از بسیاری از احتمالات است.

- توجه: PWM مخفف Pulse-Width Modulation است.

مرحله 1: هدف

مجموعه شامل یک پتانسیومتر است که یک مقاومت متغیر است و توسط ESP کنترل می شود. در این طرح ، من از همان کد منبع استفاده می کنم که برای Arduino استفاده می کنم. به دلیل مزایای فراوان ، ما از Arduino IDE با ESP در پروژه های دیگر نیز استفاده می کنیم.

در مونتاژ ، ESP فقط برای منبع تغذیه به USB متصل است. ما همچنین پین مکان نما را داریم که پین پتانسیومتر مرکزی است که در پورت AD متصل شده است و مثبت و منفی است.

با تغییر ولتاژ ، می توان مقدار متفاوتی را در AD خواند. بنابراین ، با چرخاندن پتانسیومتر ، می توان میزان روشنایی LED را افزایش یا کاهش داد.

مرحله 2: مونتاژ

مونتاژ
مونتاژ

طرح الکتریکی بسیار ساده است: با استفاده از ESP8266 در پیکربندی NodeMCU ، ما USB را تغذیه می کنیم. بنابراین ، در اینجا ، پتانسیومتر باید از یک سر به منفی و سر دیگر از مثبت متصل شود. رسانه ، که مکان نما است ، در ADC 0 روشن می ماند ، زیرا این ESP فقط دارای یک پورت است که مقادیر آنالوگ را می خواند.

مرحله 3: WiFi ESP8266 NodeMCU ESP-12E

WiFi ESP8266 NodeMCU ESP-12E
WiFi ESP8266 NodeMCU ESP-12E

مرحله 4: کد منبع

برپایی

در عملکرد Setup ، ما رفتار پین هایی را که استفاده می کنیم تعریف می کنیم ، در این مورد LED و POTENTIOMETER.

void setup () {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 e e indic indicﺎ indic o // // // // // // // g g // // // // // // // // // // // // // // // // // HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH // LED_BUILTIN é uma constante que indica o LED do ESP8266}

حلقه

در این تابع منطق این است که مقدار POT را بخوانید و این مقدار (که شدت روشنایی است) را در LED اختصاص دهید.

void loop () {// 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 (potencia)؛ // como o LED no ESP8266 trabalha de maneira contrária، ou seja، quanto maior o valor atribuído، menor a intensidade. Faremos o cálculo para aumentarmos o brilho conforme girarmos o potenciômetro em sentido horário. potencia = 1023 - potencia ؛ // atribui o valor lido do potenciômetro para configurar a intensidade do brilho do LED analogWrite (LED_BUILTIN ، potencia) ؛ }

توصیه شده: