Tabla de contenido:

ESP8266 usando PWM con potenciómetro: 4 pasos
ESP8266 usando PWM con potenciómetro: 4 pasos

Video: ESP8266 usando PWM con potenciómetro: 4 pasos

Video: ESP8266 usando PWM con potenciómetro: 4 pasos
Video: Arduino desde cero en Español - Capítulo 4 - PWM con LED y Potenciómetro para Brillo/Intensidad 2024, Mes de julio
Anonim
Image
Image
Objetivo
Objetivo

Para aquellos que no están acostumbrados a la electrónica, PWM significa control de potencia. Y en este montaje, mostramos cómo usarlo para controlar la intensidad de luz de un LED, similar a un atenuador en una lámpara, con opciones para oscurecer y aclarar.

Este mecanismo también le permite, por ejemplo, conectar un controlador a un motor. Ésta es solo una de las muchas posibilidades.

- Nota: PWM son las siglas de Pulse-Width Modulation.

Paso 1: objetivo

El conjunto consta de un potenciómetro, que es una resistencia variable, supervisada por el ESP. En este esquema, estoy usando el mismo código fuente que usaría con un Arduino. Debido a sus muchas ventajas, también usamos Arduino IDE con ESP en otros proyectos.

En el ensamblaje, el ESP está conectado a USB solo para suministro de energía. También tenemos el pin del cursor, que es el pin del potenciómetro central, conectado en el puerto AD, y el positivo y negativo.

A medida que varía el voltaje, es posible leer un valor diferente en el AD. Por lo tanto, girando el potenciómetro, es posible aumentar o disminuir el brillo del LED.

Paso 2: Montaje

Montaje
Montaje

El esquema eléctrico es muy sencillo: usando el ESP8266 en la configuración del NodeMCU, alimentaremos el USB. Entonces, aquí, el potenciómetro debe estar conectado de un extremo al negativo y el otro al positivo. El medio, que es el cursor, permanece encendido en ADC 0, porque este ESP solo tiene un puerto que lee valores analógicos.

Paso 3: WiFi ESP8266 NodeMCU ESP-12E

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

Paso 4: código fuente

Configuración

En la función Setup definimos el comportamiento de los pines que usamos, en este caso el LED y POTENCIÓMETRO.

void setup () {Serial.begin (115200) // Instrução para colocar o gpio que iremos a 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 su valor livremente para HIGH o LOW pinMode (LED_BUILTIN, OUTPUT); // LED_BUILTIN é uma constante que indica o LED do ESP8266}

Círculo

En esta función, la lógica es leer el valor POT y asignar este valor (que es la intensidad del brillo) en el 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 una intensidade do brilho do LED analogWrite (LED_BUILTIN, potencia); }

Recomendado: