Arduino - Potenciómetro
En este tutorial, vamos a aprender:
- Cómo funciona un potenciómetro.
- Cómo conectar el potenciómetro al Arduino.
- Cómo programar Arduino para leer el valor del potenciómetro y convertirlo en otros valores controlables.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del potenciómetro
Potenciómetro giratorio (también llamado sensor de ángulo giratorio) se utiliza para ajustar manualmente el valor de algo (por ejemplo, el volumen del estéreo, el brillo de la lámpara, el nivel de zoom del osciloscopio...)

Diagrama de pines
El potenciómetro suele tener 3 pines:
- Pin GND: debe conectarse a GND (0 V).
- Pin VCC: debe conectarse a VCC (5 V o 3.3 V).
- Pin de salida: entrega la tensión al pin de entrada del Arduino.

※ Nota:
Los pines GND y VCC son intercambiables.
Cómo funciona
El eje del potenciómetro se puede girar desde 0° (el más cercano a GND) hasta un ángulo límite superior (el más cercano al pin VCC), llamado ANGLE_MAX.
La tensión en el pin de salida varía desde la tensión de masa hasta la tensión de VCC. La tensión de salida está en proporción directa con el ángulo de giro del eje.
- Si el ángulo es 0°, la tensión de salida del pin es 0v
- Si el ángulo es ANGLE_MAX, la tensión de salida del pin es la tensión de VCC
- Si el ángulo está entre 0° y ANGLE_MAX, output_voltage = angle × VCC / ANGLE_MAX
※ Nota:
El valor de ANGLE_MAX depende de los fabricantes. En la práctica, normalmente NO nos importa el valor de ANGLE_MAX, excepto cuando necesitamos calcular el ángulo rotado (ver la sección de casos de uso).

Arduino - Potenciómetro Giratorio
Los pines A0 a A5 de Arduino pueden funcionar como entrada analógica. El pin de entrada analógica convierte la tensión (entre 0 V y VCC) en valores enteros (entre 0 y 1023), llamados valor ADC o valor analógico.
Conectando la salida de un potenciómetro a una entrada analógica, podemos leer el valor analógico del pin y luego convertirlo en un valor significativo.
El valor que Arduino obtiene NO es un ángulo, NO es voltaje. Es un valor entero que va de 0 a 1023.
Después de obtener el valor entero del pin de entrada analógica, reescalamos este valor a otro valor. Veamos los casos de uso.
Casos de uso
- Reescala al ángulo del potenciómetro.
- Reescala al voltaje del potenciómetro:
- Reescala al valor controlable (p. ej. volumen del estéreo, brillo, velocidad del 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
Cómo programar para un potenciómetro
- Lea el valor de un pin de entrada, que está conectado al pin de salida del potenciómetro mediante la función analogRead().
- Reescala al ángulo del potenciómetro usando la función map().
- Reescala al voltaje del potenciómetro:
- Reescalar al valor controlable (p. ej. volumen del estéreo, brillo, velocidad de un motor de corriente continua... )
- Por ejemplo, ajustar el brillo del LED. Como se menciona en este tutorial, el brillo del LED puede controlarse usando un valor PWM de 0 (apagado siempre) a 255 (encendido siempre). Por lo tanto, podemos mapear el valor analógico al brillo del LED (de apagado al más brillante) como se muestra a continuación:
Si quieres atenuar el LED desde la luz nocturna hasta el brillo máximo,
※ Nota:
La función map() solo puede usarse para reescalar el valor analógico al valor de tipo int o long. Si el valor controlable es de tipo float, necesitas usar la función floatMap() en lugar de la función map().
Función floatMap():
Código de Arduino
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para subir el código al Arduino

- Abrir Monitor Serial
- Gira el potenciómetro
- Ver el resultado en 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 los siguientes proyectos:
- Controlar la posición del servomotor. Consejo: Consulte arduino - Servomotor.
- Cambiar el brillo del LED. Consejo: Consulte Arduino - Atenuar LED.
Conocimientos Adicionales
- El pin GND y el pin VCC son intercambiables. No hay ninguna convención sobre estos dos pines. Si eliges un pin como GND, el otro será VCC. Solo hay una cosa a la que debes prestar atención. El valor de voltaje en el pin de salida se invierte al intercambiar estos pines.