¿Qué es un potenciómetro? Lectura analógica y control con Arduino
¿Qué es un potenciómetro, cómo funciona y cómo se conecta a Arduino? Diferencia entre lineal y logarítmico, el código B10K, lectura con analogRead y un ejemplo de brillo de LED.
Un potenciómetro es una resistencia ajustable cuyo valor cambia al girar su eje. El mando de volumen de una radio, el regulador de una lámpara y las palancas de un mando de juegos son potenciómetros. En los proyectos con Arduino es la forma más sencilla de recibir un valor del usuario: giras el mando y el Arduino lee un número entre 0 y 1023.

¿Cómo funciona un potenciómetro?
Dentro hay una pista resistiva en forma de arco y un cursor que se desliza sobre ella. La resistencia entre las dos patas exteriores es fija (por ejemplo, 10 kΩ). La pata central está unida al cursor; al girar el eje, el cursor avanza por la pista y cambia la resistencia respecto a cada extremo. Si aplicas 5 V y GND a las patas exteriores, obtienes en la central una tensión entre 0 y 5 V. Es decir, un potenciómetro es un divisor de tensión ajustable.
Tipos de potenciómetros
| Tipo | Aspecto | Uso |
|---|---|---|
| Potenciómetro giratorio | Con eje, 3 patas | Volumen, brillo, velocidad |
| Trimpot (trimmer) | Pequeño, se ajusta con destornillador | Valores que se ajustan una vez (como el contraste del LCD) |
| Potenciómetro deslizante | Se desliza en línea recta | Mesas de mezclas y paneles de control |
| Joystick | Dos potenciómetros en uno | Control de dos ejes (X e Y) |
Conectar un potenciómetro a Arduino
- Conecta una pata exterior a 5V y la otra a GND (si las inviertes, solo cambia el sentido).
- Conecta la pata central a una entrada analógica, por ejemplo A0.
- Conecta un LED con una resistencia de 220 Ω al pin 9, que admite PWM.
- Carga el código de abajo y abre el monitor serie; al girar el mando cambian el valor y el brillo del LED.
const int POT_PIN = A0; // potansiyometre orta bacak / pot wiper
const int LED_PIN = 9; // PWM pini / PWM pin
void setup() {
pinMode(LED_PIN, OUTPUT); // LED çıkış / LED output
Serial.begin(9600); // seri monitör / serial monitor
}
void loop() {
int raw = analogRead(POT_PIN); // 0–1023 oku / read 0–1023
int brightness = map(raw, 0, 1023, 0, 255); // PWM'e çevir / scale to PWM
analogWrite(LED_PIN, brightness); // parlaklık / brightness
Serial.println(raw); // değeri yaz / print value
delay(20);
}La función map() convierte un valor de un rango a otro, por ejemplo una lectura de 0–1023 en un valor PWM de 0–255 o en un ángulo de servo de 0–180. Para ver la idea del divisor de tensión con números, usa la calculadora de divisor de tensión.
Rango de lectura analógica según la placa
| Placa | Resolución | Rango | Función |
|---|---|---|---|
| Arduino Uno / Nano | 10 bits | 0–1023 | analogRead() |
| ESP32 | 12 bits | 0–4095 | analogRead() |
| Raspberry Pi Pico | 12 bits (escalado a 16 bits) | 0–65535 | ADC.read_u16() |
Errores frecuentes
- Conectar la pata central directamente a 5V o GND: al llegar al final del recorrido se produce un cortocircuito y el potenciómetro puede quemarse. La alimentación siempre va a las patas exteriores.
- Valores que tiemblan: la lectura puede variar unas pocas unidades. Haz la media de varias lecturas o ignora los cambios pequeños.
- Usar un potenciómetro logarítmico: en el tipo A el valor cambia despacio al principio y rápido al final; para un control lineal usa el tipo B.
- Conectarlo a un pin digital: un potenciómetro da un valor analógico, así que debe ir a una entrada analógica como A0–A5.
Cómo ajustar el ángulo de un servo con un potenciómetro lo explicamos en ¿Qué es un servomotor?, y lo básico de la resistencia en ¿Qué es una resistencia?.
Preguntas frecuentes
¿De cuántos ohmios debe ser el potenciómetro para Arduino?
Uno lineal de 10 kΩ (B10K) es la opción más habitual. Valores de 1 kΩ a 100 kΩ también funcionan; los muy bajos consumen más corriente y los muy altos pueden dar lecturas con ruido.
¿Cómo distingo las patas de un potenciómetro?
Si lo sujetas con el eje hacia ti, la pata central es el cursor. El orden de las exteriores solo decide hacia qué lado sube el valor.
¿Por qué la lectura no llega exactamente a 0 o 1023?
La resistencia de contacto en los extremos y la tolerancia de fabricación desplazan unos pocos puntos los valores extremos. Dejar un margen de 5–10 unidades en el código lo resuelve.
¿Un joystick y un potenciómetro son lo mismo?
Un joystick contiene dos potenciómetros en ángulo recto y normalmente un botón. Cada eje se lee en su propia entrada analógica.
Proyectos para hacer después de leer esto
Ver todos los proyectos
Funcionamiento del servomotor con potenciómetro
Proyecto que controla el servomotor en tiempo real convirtiendo el valor del potenciómetro al rango 0-180°. enseña la función map() y la integración analógico-servo.

SG90 Servocontrol de ángulo con potenciómetro
Control de servomotor (SG90) con potenciómetro El objetivo principal de este proyecto es controlar con precisión la posición angular de un servomotor en tiempo real utilizando una unidad de entrada analógica, el potenciómetro. El proyecto es un ejemplo básico de ingeniería para comprender la lógica de la conversión analógico-digital (ADC) y el mapeo de señales. Lógica de funcionamiento: Lectura de Datos Analógicos: Cuando el usuario gira el potenciómetro, se aplica una señal de voltaje entre 0V

Brillo de LED con Potenciómetro en ESP32 (Analógico → PWM)
En este proyecto controlamos el brillo de un LED de forma analógica mediante un potenciómetro. El pin ADC del ESP32 lee la tensión de 0-3,3 V procedente del potenciómetro y este valor se convierte en una señal PWM (modulación por ancho de pulso) que se envía al LED. Al girar el potenciómetro, el LED se enciende y se apaga gradualmente. Con Arduino Core 3.0+ se usa directamente `analogWrite()`; en el ESP32-S2/S3, la resolución del ADC es de 12 bits.

Led de marcha de velocidad regulable
El proyecto que puede ajustar la velocidad de marcha del LED en tiempo real con el potenciómetro. Enseña el control dinámico del tiempo de retardo mediante la lectura del valor del potenciómetro con a

Velocidad Ajustable Rayo Negro Led
Proyecto con potenciómetro que permite ajustar en tiempo real la velocidad de la animación LED del rayo negro. Combina entrada analógica y control de bucle bidireccional.

Control Led con Joystick
Proyecto de control que enciende LEDs en 4 direcciones diferentes según los valores de los ejes X e Y del módulo joystick. Enseña la lectura analógica del joystick y la lógica de detección de direcció

Lámpara con mezclador de colores ESP32 (3 potenciómetros + LED RGB + OLED)
¡Una lámpara mezcladora de colores inteligente que combina el color que quieras girando tres potenciómetros con el ESP32! A medida que giras los potenciómetros de rojo, verde y azul, el LED RGB de cátodo común cambia de color al instante. En la pantalla OLED SSD1306 se muestran en tiempo real los valores de cada color en un rango de 0 a 255, barras de relleno visuales y el código de color HEX para la web (como #FF8040). Un miniestudio de color profesional: enseña la teoría del color RGB, la lect

Voltímetro digital con pantalla LCD
Proyecto de voltímetro digital que muestra el resultado en la pantalla LCD I2C midiendo el voltaje en el rango de 0-55V con un circuito divisor de voltaje. Enseña la fórmula del divisor de tensión y l
Más artículos
Aprende cómo un potenciómetro cambia su valor al girarlo, cómo conectarlo a Arduino y cómo usar el valor analógico para controlar un LED, un servo o el volumen.

