Tabla de contenido:

PWM con ESP32 - Atenuación de LED con PWM en ESP 32 con Arduino IDE: 6 pasos
PWM con ESP32 - Atenuación de LED con PWM en ESP 32 con Arduino IDE: 6 pasos

Video: PWM con ESP32 - Atenuación de LED con PWM en ESP 32 con Arduino IDE: 6 pasos

Video: PWM con ESP32 - Atenuación de LED con PWM en ESP 32 con Arduino IDE: 6 pasos
Video: Programar ESP32 con Arduino IDE 2024, Mes de julio
Anonim
PWM con ESP32 | Atenuación de LED con PWM en ESP 32 con Arduino IDE
PWM con ESP32 | Atenuación de LED con PWM en ESP 32 con Arduino IDE

En este instructables veremos cómo generar señales PWM con ESP32 usando Arduino IDE y PWM se usa básicamente para generar salida analógica desde cualquier MCU y esa salida analógica podría ser entre 0V y 3.3V (en el caso de esp32) y de 0V a 5V (en el caso de arduino uno) y estas señales PWM (salida analógica) se utilizan para atenuar (salida variable, iluminando el LED con diferente brillo) el LED.

Paso 1: Cosas que necesita

Cosas que necesitas
Cosas que necesitas
Cosas que necesitas
Cosas que necesitas
Cosas que necesitas
Cosas que necesitas

Para este tutorial, necesitará lo siguiente: ESP32

Resistencias de 220 ohmios

LED de color

tablero de circuitos

Pocos saltadores

Paso 2: comprensión de PWM en ESP32

Comprender el PWM en ESP32
Comprender el PWM en ESP32

ESP32 tiene un controlador PWM de 16 canales y estos 16 canales son independientes y se pueden configurar de forma independiente para obtener señales PWM con diferentes propiedades para diferentes requisitos. Antes de pasar por el código y todo el proceso, necesita saber lo siguiente: >> hay 16 (0 a 15) Canales pwm en un ESP32. Debe elegir su canal PWM. >> Después de esto, debemos seleccionar la frecuencia para PWM, podemos ir a 5000hz. >> Aquí tenemos una resolución de 1 a 16 bits en ESP32, pero para este tutorial iremos solo por 8 bits lo que significa que el brillo será controlado por valores de 0 a 255. >> Necesita configurar el LED para PWM para hacer eso, debe usar la siguiente línea de código y en eso debe mencionar sobre el canal led (estamos usando el canal 0 de ESP32) que está usando para PWM & freq es la frecuencia (estamos usando 5000hz) de PWM & resolution que está usando (estamos usando una resolución de 8 bits).ledcSetup (ledChannel, freq, resolution); Valores en nuestro caso: const int freq = 5000; const int ledChannel = 0; const int resolution = 8; >> luego mencione qué pin LED necesita usando el siguiente comando: ledcAttachPin (ledPin, ledChannel); - aquí ledPin es el pin no. El que usaremos & ledChannel es el canal que tenemos que seleccionar para PWM.5. Finalmente, para controlar el brillo del LED usando PWM, use la siguiente función: >> la parte principal importante del código será el siguiente comando que escribirá la salida analógica en el pin LED: ledcWrite (ledChannel, dutycycle); este comando anterior necesita 'ledChannel' y 'dutyCycle' donde el canal es el número de canal que usaremos y el ciclo de trabajo es el valor que estamos escribiendo como salida al pin LED.

Paso 3: Conexiones

Conexiones
Conexiones

La parte de conexión es muy fácil. Necesita conectar un LED con resistencia a GPIO16 como se muestra en schmatics.

Paso 4: Instale ESP32 BOARDS en Arduino IDE

Instalar PLACAS ESP32 en Arduino IDE
Instalar PLACAS ESP32 en Arduino IDE

Asegúrese de tener Arduino IDE en su PC y de haber instalado placas ESP32 en su Arduino IDE, y si no es el caso, siga las siguientes instrucciones mías para instalarlo.:

Paso 5: Código

Código
Código

Copie el siguiente código y cárguelo en su ESP32: // el número del LED pinconst int ledPin = 16; // 16 corresponde a GPIO16 // configuración de las propiedades de PWMconst int freq = 5000; const int ledChannel = 0; const int resolution = 8; void setup () {// configurar las funciones de LED PWM ledcSetup (ledChannel, freq, resolution); // adjuntar el canal al GPIO para ser controlado ledcAttachPin (ledPin, ledChannel);} void loop () {// aumentar el brillo del LED para (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// cambiar el LED brillo con PWM ledcWrite (ledChannel, dutyCycle); retraso (15); } // disminuye el brillo del LED para (int dutyCycle = 255; dutyCycle> = 0; dutyCycle -) {// cambiando el brillo del LED con PWM ledcWrite (ledChannel, dutyCycle); retraso (15); }}

Paso 6: probar la funcionalidad PWM

Prueba de la funcionalidad PWM
Prueba de la funcionalidad PWM

Después de cargar el código, verá que la intensidad de sus LED cambia, lo que nos lleva al final de este instructivo. Diviértase usando PWM con ESP32 en sus proyectos.

Recomendado: