Taula de continguts:

PWM amb ESP32 - LED d’atenuació amb PWM a ESP 32 amb Arduino IDE: 6 passos
PWM amb ESP32 - LED d’atenuació amb PWM a ESP 32 amb Arduino IDE: 6 passos

Vídeo: PWM amb ESP32 - LED d’atenuació amb PWM a ESP 32 amb Arduino IDE: 6 passos

Vídeo: PWM amb ESP32 - LED d’atenuació amb PWM a ESP 32 amb Arduino IDE: 6 passos
Vídeo: How to blink an LED with ESP32 board 2024, Desembre
Anonim
PWM amb ESP32 | LED de regulació amb PWM a ESP 32 amb ID Arduino
PWM amb ESP32 | LED de regulació amb PWM a ESP 32 amb ID Arduino

En aquest instructable veurem com generar senyals PWM amb ESP32 mitjançant Arduino IDE i PWM s’utilitza bàsicament per generar sortida analògica des de qualsevol MCU i aquesta sortida analògica pot ser de 0V a 3,3V (en cas d’esp32) i de 0V a 5V (en cas d’arduino uno) i aquests senyals PWM (sortida analògica) s’utilitzen per atenuar (sortida variable, il·luminació del LED a una brillantor diferent).

Pas 1: coses que necessiteu

Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu

Per a aquest tutorial necessitareu les següents coses: ESP32

Resistències de 220 ohm

Color led

taulell de pa

Pocs saltadors

Pas 2: Descripció del PWM a ESP32

Comprensió del PWM a ESP32
Comprensió del PWM a ESP32

ESP32 té un controlador PWM de 16 canals i aquests 16 canals són independents i es poden configurar independentment per obtenir senyals PWM amb propietats diferents per a diferents requisits. Abans de revisar el codi i tot el procés, heu de saber els següents aspectes: >> hi ha 16 (0 a 15) Canals pwm en un ESP32. Heu de triar el vostre canal PWM. >> Després d'això, hem de seleccionar la freqüència per PWM, podem anar a 5000hz. >> Aquí tenim una resolució d'1 a 16 bits a ESP32, però per a aquest tutorial anirem només a 8 bits. el que significa que la brillantor estarà controlada pels valors de 0 a 255. >> Heu de configurar el LED per a PWM per fer-ho, heu d'utilitzar la següent línia de codi i, en aquest cas, heu d'esmentar el canal led (estem utilitzant el canal 0 de ESP32) que utilitzeu per a PWM i freq és la freqüència (utilitzem 5000Hz) de PWM i resolució que utilitzeu (estem utilitzant resolució de 8 bits).ledcSetup (ledChannel, freq, resolució); Valors en el nostre cas: const int freq = 5000; const int ledChannel = 0; const int resolution = 8; >> a continuació, mencioneu quin pin LED necessiteu mitjançant l'ordre següent: ledcAttachPin (ledPin, ledChannel); - aquí ledPin és el pin núm. El que farem servir & ledChannel és el canal que hem de seleccionar per a PWM.5. Finalment, per controlar la brillantor del LED mitjançant PWM, utilitzeu la següent funció: >> la principal part important del codi serà l'ordre següent que escriurà la sortida analògica al pin LED: ledcWrite (ledChannel, dutycycle); aquesta ordre anterior necessita 'ledChannel' i 'dutyCycle' on canal és el número de canal que farem servir i el cicle de treball és el valor que escrivim com a sortida al pin LED.

Pas 3: connexions

Connexions
Connexions

La part de connexió és molt fàcil: heu de connectar un LED amb resistència a GPIO16 tal com es mostra als esquemes.

Pas 4: Instal·leu ESP32 BOARDS a Arduino IDE

Instal·leu ESP32 BOARDS a Arduino IDE
Instal·leu ESP32 BOARDS a Arduino IDE

Assegureu-vos que teniu Arduino IDE al vostre PC i que heu instal·lat les plaques ESP32 al vostre Arduino IDE i, si no és així, seguiu els instruccions següents per instal·lar-lo.:

Pas 5: Codi

Codi
Codi

Copieu el codi següent i pengeu-lo al vostre ESP32: // el número del LED pinconst int ledPin = 16; // 16 correspon a GPIO16 // configuració de PWM propertiesconst int freq = 5000; const int ledChannel = 0; const int resolution = 8; void setup () {// configure LED PWM functionalitites ledcSetup (ledChannel, freq, resolution); // connecteu el canal al GPIO que voleu controlar ledcAttachPin (ledPin, ledChannel);} void loop () {// augmentar la brillantor del LED per (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// canviar el LED brillantor amb PWM ledcWrite (ledChannel, dutyCycle); retard (15); } // disminueix la brillantor del LED per a (int dutyCycle = 255; dutyCycle> = 0; dutyCycle -) {// canviar la brillantor del LED amb PWM ledcWrite (ledChannel, dutyCycle); retard (15); }}

Pas 6: provar la funcionalitat de PWM

Prova de la funcionalitat PWM
Prova de la funcionalitat PWM

Després de penjar el codi, veureu que la intensitat dels vostres LED canvia de manera que ens portarà al final d’aquest instructable. Diverteix-te utilitzant PWM amb ESP32 als teus projectes.

Recomanat: