ESP8266 - Potenciómetro
Este tutorial te enseña cómo usar el ESP8266 con un potenciómetro, que también se conoce como pot, trim, resistencia variable, reóstato o sensor de ángulo giratorio. En detalle, aprenderemos:
- Cómo funciona un potenciómetro.
- Cómo conectar un potenciómetro al ESP8266.
- Cómo programar el ESP8266 para leer el valor del potenciómetro.
- Cómo convertir el valor leído a otro valor como voltaje, ángulo del servomotor, velocidad del motor, brillo del LED...
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del potenciómetro
Un potenciómetro giratorio también se conoce como pot, trimmer, resistencia variable, reóstato o sensor de ángulo giratorio. Se utiliza para ajustar manualmente el valor de algo. Ejemplos incluyen el volumen de un estéreo, el brillo de una lámpara y el nivel de zoom de un osciloscopio.

Pinout del potenciómetro
Un potenciómetro suele tener tres pines:
- El pin GND debe estar conectado a la tierra (0V).
- El pin VCC debe estar conectado a la fuente de voltaje (5V o 3.3V).
- El pin de salida envía la tensión al pin de entrada del Arduino.

※ Nota:
Los pines GND y VCC se pueden intercambiar.
Cómo funciona
La rotación del eje del potenciómetro puede ir desde 0°, que es lo más cercano a GND, hasta un ángulo máximo, que es lo más cercano al pin VCC, al que se denomina ANGLE_MAX.
※ Nota:
El valor de ANGLE_MAX está determinado por el fabricante. En general, no necesitamos considerar este valor a menos que estemos calculando un ángulo rotado (ver la sección de casos de uso).

El principio de funcionamiento:
- Un usuario gira el eje del potenciómetro
- ⇒ El ángulo del potenciómetro cambia
- ⇒ La resistencia del potenciómetro cambia
- ⇒ La tensión en la salida del potenciómetro cambia
- ⇒ El valor analógico leído por el ESP8266 cambia
ESP8266 - Potenciómetro giratorio
Algunos pines del ESP8266 pueden funcionar como entrada analógica. Estos pines de entrada analógica convierten la tensión (que varía desde 0 V hasta VCC) en valores enteros (desde 0 hasta 1023), a los que se les llama valor ADC o valor analógico.
Podemos conectar una terminal de salida del potenciómetro a un pin de entrada analógica. Esto nos permite leer el valor analógico del pin y convertirlo en un valor significativo.
El valor que recibe el ESP8266 no es un ángulo ni una tensión; más bien, es un valor entero que va de 0 a 1023.
Una vez que hayamos obtenido el valor entero del pin de entrada analógica, podemos volver a escalar este valor a otro distinto. Consideremos las aplicaciones.
Casos de uso
- Mapear al ángulo del potenciómetro.
- Mapear al voltaje del potenciómetro.
- Mapear a un valor controlable, como el volumen de un estéreo, el brillo o la velocidad de un motor de corriente continua - este es el caso de uso más común.
Rango de reescalado
| FROM | TO | |||
|---|---|---|---|---|
| Angle | rotated by user | 0° | → | ANGLE_MAX |
| Voltage | from potentiometer's pin | 0V | → | VCC |
| ADC value | read by Arduino | 0 | → | 1023 |
| Other value | converted by Arduino | VALUE_MIN | → | VALUE_MAX |
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.
Cómo programar para un potenciómetro
- Accede al pin de salida del potenciómetro con analogRead() y lee el valor del pin de entrada.
- Usa la función map() para ajustar el ángulo del potenciómetro.
- Ajusta el voltaje al nivel del potenciómetro.
- Reescala el valor a algo que se pueda controlar, como el volumen de un estéreo, el brillo o la velocidad de un motor de corriente continua.
- Por ejemplo, podemos ajustar el brillo de un LED mediante el reescalado. Como se indica en el , el brillo del LED puede regularse con un valor PWM que va desde 0 (apagado por completo) hasta 255 (totalmente encendido). Por lo tanto, podemos mapear el valor analógico al brillo del LED (desde apagado hasta el más brillante) de la siguiente manera:
Si desea ajustar el LED desde una luz nocturna tenue hasta la más brillante,
※ Nota:
La función map() está limitada a reescalar un valor analógico al tipo int o long. Si el valor controlable es de tipo float, la función floatMap() debe usarse en lugar de map().
Código ESP8266
Pasos R\u00e1pidos
Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:
- Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
- Conecta los componentes como se muestra en el diagrama.
- Conecta la placa ESP8266 a tu computadora usando un cable USB.
- Abre Arduino IDE en tu computadora.
- Elige la placa ESP8266 correcta, por ejemplo (NodeMCU 1.0 (ESP-12E Module)), y su puerto COM correspondiente.
- Copia el código y ábrelo en el Arduino IDE.
- Una vez abierto, pulsa el botón Subir para transferir el código al ESP8266.

- Abre el Monitor Serial.
- Gira el potenciómetro.
- Consulta el resultado en el Monitor Serial.
※ Nota:
Este tutorial utiliza la función analogRead() para obtener datos de un ADC (Convertidor Analógico-Digital) que está conectado a un sensor u otra parte. El ADC del ESP8266 funciona bien para proyectos en los que no se necesitan lecturas muy precisas. Pero recuerda, el ADC del ESP8266 no es muy preciso para mediciones detalladas. Si tu proyecto necesita ser muy preciso, tal vez quieras usar un ADC independiente como el ADS1115 con el ESP8266, o usar Arduino como el Arduino Uno R4 WiFi, que tiene un ADC más confiable.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.
Desafíate a ti mismo
Utilice el potenciómetro para realizar una de las siguientes tareas:
- Ajusta la posición del servomotor. Consejo: Consulta arduino - Servo Motor.
- Modifica el brillo del LED. Consejo: Consulta ESP8266 - Fade Led.
Conocimientos Adicionales
- Los pines GND y VCC pueden intercambiarse sin una convención específica. Todo lo que debes tener en cuenta es que el valor de voltaje en el pin de salida se invertirá cuando estos pines se intercambien.