Arduino Nano - Potenciómetro
Este tutorial le enseña cómo usar Arduino Nano con un potenciómetro, que también se conoce como pot, trimmer, resistencia variable, reóstato o sensor de ángulo giratorio. En detalle, aprenderemos:
- Cómo funciona un potenciómetro.
- Conectar un potenciómetro al Arduino Nano.
- Programar el Arduino Nano para leer el valor del potenciómetro y convertirlo en un valor controlable.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de potenciómetro
Un potenciómetro giratorio, también conocido como sensor de ángulo giratorio, se utiliza para modificar manualmente el valor de algo. Los ejemplos incluyen el volumen de un estéreo, el brillo de una lámpara y el nivel de zoom de un osciloscopio.

Esquema de pines del potenciómetro
Un potenciómetro normalmente tiene tres pines:
- El pin GND debe estar conectado a tierra (0 V).
- El pin VCC debe conectarse a VCC (5 V o 3,3 V).
- El pin de salida proporciona el voltaje al pin de entrada del Arduino.

※ Nota:
Los pines GND y VCC se pueden intercambiar.
Cómo funciona
El eje giratorio del potenciómetro tiene un rango desde 0° (el más cercano a GND) hasta el ángulo máximo (el más cercano al pin VCC), al que se hace referencia como ANGLE_MAX.
※ Nota:
El valor de ANGLE_MAX es determinado por el fabricante. En general, no necesitamos considerar este valor a menos que estemos calculando el ángulo de rotación (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
- ⇒ El voltaje en el pin de salida del potenciómetro cambia
- ⇒ El valor analógico leído por Arduino Nano cambia
Arduino Nano - Potenciómetro giratorio
Los pines A0 a A7 del Arduino Nano son capaces de funcionar como entradas analógicas. Estos pines de entrada analógica convierten la tensión (que va de 0 voltios a VCC) en valores enteros (de 0 a 1023), conocidos como valor ADC o valor analógico.
Podemos conectar un pin 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 Arduino Nano 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 reescalarlo a un valor diferente. Consideremos las aplicaciones de esto.
Casos de Uso
- Reescalar al ángulo del potenciómetro.
- Reescalar al voltaje del potenciómetro.
- Reescalar a un valor controlable, como volumen de un estéreo, brillo o velocidad de un motor de corriente continua - este es el uso más frecuente.
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
Ver La mejor forma de alimentar Arduino Nano y otros componentes.
Cómo programar para un potenciómetro
- Recupera el valor de un pin de entrada, conectado al pin de salida del potenciómetro, utilizando la función analogRead().
- Utilice 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 pueda ser manejado o ajustado (p. ej. el volumen de un estéreo, el brillo, la velocidad de un motor de corriente continua...)
- Por ejemplo, ajustar el brillo de un LED. Como se indica en este tutorial, el brillo de un LED puede regularse mediante un valor PWM que va de 0 (siempre apagado) a 255 (siempre encendido). Así, 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 su nivel más brillante,
※ Nota:
La función map() solo es aplicable para reescalar un valor analógico a cualquiera de los tipos int o long. Si el valor controlable es de tipo float, se debe usar floatMap() en lugar de map().
La función floatMap() toma una lista de flotantes como argumento y devuelve una nueva lista con la misma cantidad de elementos, donde cada elemento es el resultado de aplicar la función dada al elemento correspondiente de la lista original.
Código de Arduino Nano
Pasos R\u00e1pidos
- Copia el código y ábrelo con el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para enviar el código al Arduino Nano.

- Abre el Monitor Serial.
- Gira el potenciómetro.
- Revisa el resultado en el Monitor Serial.
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 uno de estos proyectos:
- Manipula la posición del servomotor. Consejo: Consulta Arduino Nano - servomotor.
- Modifica el brillo del LED. Consejo: Consulta Arduino Nano - desvanecimiento del LED.
Conocimientos Adicionales
- Los pines GND y VCC pueden intercambiarse sin ninguna convención específica. Sin embargo, hay algo que debes tener en cuenta: el valor de voltaje en el pin de salida se invertirá cuando estos pines se intercambien.