El Arduino cuenta con entradas analógicas que nos permiten leer señales variables, como las que genera un potenciómetro. Estos datos pueden usarse para controlar luces, motores, o incluso para enviar información a una interfaz gráfica. En este post aprenderás a conectar y programar un potenciómetro con Arduino para leer valores analógicos en tiempo real.

Prerrequisitos
- Debe tener el entono de trabajo instalado correctamente, esto lo explico a detalle en instalar entorno trabajo windows e instalar arduino linux
Arduino
Aprende mas sobre estas placas en la Definición de Arduino que se ha creado.
El Arduino uno tiene el microcontrolador Atmel ATmega328 el cual posee solo un Conversor análogo a digital que se puede usar en los 6 pines (A0, A1 .... A5).

Para poder leer el valor del conversor analogo en uno de sus pines, podemos usar la funcion analogRead que nos retornara un valor de 0 a 1023 como se describe en la siguiente gráfica

Si deseamos obtener el valor del voltaje de la entrada analógica teniendo en cuenta los parámetros mencionados en el párrafo anterior, podemos multiplicar el valor leído del pin analógico por 5 voltios que es lo máximo que puede llegar y dividirlo por 1023 que es el mas grande dentro del rango de 10 bits.
De este modo, tenemos relacionada el voltaje de salida del sensor con los valores digitales de Arduino.
📦 Materiales
Componente | Cantidad |
---|---|
Arduino Uno (o similar) | 1 |
Potenciómetro de 10kΩ | 1 |
Protoboard | 1 |
Cables Dupont | 3 |
⚡ Conexión del circuito
Conecta tu potenciómetro de la siguiente forma:
- Terminal izquierda: GND
- Terminal derecha: 5V
- Terminal central (wiper): Pin A0 del Arduino

💻 Código
// Pin analógico donde está conectado el potenciómetro
const int potPin = A0;
void setup() {
Serial.begin(9600); // Inicia comunicación serial
}
void loop() {
// Leer el valor analógico del potenciómetro (0 - 1023)
int potValue = analogRead(potPin);
// Imprimir el valor leído por el puerto serial
Serial.print("Valor del potenciómetro: ");
Serial.println(potValue);
delay(100); // Pequeño retardo
}
Funcionamiento
