Cuprins:

PWM Cu ESP32 - LED de estompare cu PWM pe ESP 32 Cu Arduino IDE: 6 pași
PWM Cu ESP32 - LED de estompare cu PWM pe ESP 32 Cu Arduino IDE: 6 pași

Video: PWM Cu ESP32 - LED de estompare cu PWM pe ESP 32 Cu Arduino IDE: 6 pași

Video: PWM Cu ESP32 - LED de estompare cu PWM pe ESP 32 Cu Arduino IDE: 6 pași
Video: Complete guide to PCA9685 16 channel Servo controller for Arduino with code Version of 5 ( V1) 2024, Iulie
Anonim
PWM Cu ESP32 | LED de estompare cu PWM pe ESP 32 cu Arduino IDE
PWM Cu ESP32 | LED de estompare cu PWM pe ESP 32 cu Arduino IDE

În acest instructable vom vedea cum se generează semnale PWM cu ESP32 folosind Arduino IDE și PWM este practic utilizat pentru a genera ieșire analogică de la orice MCU și ieșirea analogică ar putea fi între 0V și 3,3V (în cazul esp32) și de la 0V la 5V (în cazul arduino uno) și aceste semnale PWM (ieșire analogică) sunt folosite pentru a estompa (ieșire variabilă, aprinderea LED-ului la o luminozitate diferită).

Pasul 1: Lucruri de care aveți nevoie

Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie

Pentru acest tutorial veți avea nevoie de următoarele lucruri: ESP32

Rezistențe de 220 ohmi

Led de culoare

panou de masă

Puțini săritori

Pasul 2: Înțelegerea PWM pe ESP32

Înțelegerea PWM pe ESP32
Înțelegerea PWM pe ESP32

ESP32 are controler PWM cu 16 canale și aceste 16 canale sunt independente și pot fi configurate independent pentru a obține semnale PWM cu proprietăți diferite pentru cerințe diferite. Înainte de a parcurge codul și tot procesul, trebuie să știți următoarele lucruri: >> există 16 (0 la 15) canale pwm într-un ESP32. Trebuie să alegeți canalul dvs. PWM. >> După aceasta, trebuie să selectăm frecvența pentru PWM, putem merge pentru 5000hz. >> Aici avem rezoluție de la 1 la 16 biți în ESP32, dar pentru acest tutorial vom merge doar pentru 8 biți ceea ce înseamnă că luminozitatea va fi controlată de valorile de la 0 la 255. >> Trebuie să configurați LED-ul pentru PWM pentru a face acest lucru, trebuie să utilizați următoarea linie de cod și în aceea trebuie să menționați despre canalul led (folosim canalul 0 al ESP32) pe care îl utilizați pentru PWM și frecvență este frecvența (folosim 5000hz) a rezoluției PWM și pe care o utilizați (folosim rezoluție de 8 biți).ledcSetup (ledChannel, frecvență, rezoluție); = 5000; const int ledChannel = 0; const int rezoluție = 8; >> apoi menționează ce pin LED trebuie să folosești următoarea comandă: ledcAttachPin (ledPin, ledChannel); - aici ledPin este pinul nr. Pe care îl vom folosi & ledChannel este canalul pe care trebuie să îl selectăm pentru PWM.5. În cele din urmă, pentru a controla luminozitatea LED-ului folosind PWM, utilizați următoarea funcție: >> principala parte importantă a codului va fi următoarea comandă care va scrie ieșirea analogică pe pinul LED: ledcWrite (ledChannel, dutycycle); această comandă de mai sus are nevoie de „ledChannel” și „dutyCycle” unde canalul este numărul canalului pe care îl vom folosi și ciclul de lucru este valoarea pe care o scriem ca ieșire la pinul LED.

Pasul 3: Conexiuni

Conexiuni
Conexiuni

Partea de conectare este foarte ușoară. Trebuie să conectați un LED cu rezistor la GPIO16 așa cum se arată în schematică.

Pasul 4: Instalați ESP32 BOARDS în Arduino IDE

Instalați ESP32 BOARDS în Arduino IDE
Instalați ESP32 BOARDS în Arduino IDE

Asigurați-vă că aveți Arduino IDE în computer și că ați instalat plăci ESP32 în Arduino IDE și, dacă nu este cazul, vă rugăm să urmați următoarele instrucțiuni pentru instalare.:

Pasul 5: Cod

Cod
Cod

Vă rugăm să copiați următorul cod și să îl încărcați pe ESP32: // numărul LED-ului pinconst int ledPin = 16; // 16 corespunde GPIO16 // setarea PWM propertiesconst int freq = 5000; const int ledChannel = 0; const int resolution = 8; void setup () {// configure LED PWM functionalitites ledcSetup (ledChannel, freq, resolution); // atașați canalul la GPIO pentru a fi controlat ledcAttachPin (ledPin, ledChannel);} void loop () {// creșteți luminozitatea LED-ului pentru (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// schimbarea LED-ului luminozitate cu PWM ledcWrite (ledChannel, dutyCycle); întârziere (15); } // micșorați luminozitatea LED-ului pentru (int dutyCycle = 255; dutyCycle> = 0; dutyCycle -) {// schimbarea luminozității LED-urilor cu PWM ledcWrite (ledChannel, dutyCycle); întârziere (15); }}

Pasul 6: Testarea funcționalității PWM

Testarea funcționalității PWM
Testarea funcționalității PWM

După încărcarea codului, veți vedea că intensitatea LED-urilor se schimbă, astfel încât să ne duceți la sfârșitul acestor instructabile. Distrați-vă folosind PWM cu ESP32 în proiectele dvs.

Recomandat: