El microcontrolador ESP32 es un potente microcontrolador que incluye múltiples entradas analógicas, lo que nos permite medir variaciones de voltaje desde sensores, como por ejemplo un potenciómetro. En este post aprenderás cómo hacer la conexión y cómo utilizar la función analogRead() para leer su valor.
🔹 ESP32
Puede revisar los pines y caracteristicas adicionales del ESP32 en si Hoja de dato esp32

🧠 ¿Qué son los pines analógicos en el ESP32?
El ESP32 cuenta con 18 entradas analógicas distribuidas en dos ADCs (ADC1 y ADC2). Puedes usar cualquiera de los siguientes pines para leer valores analógicos:
Pines ADC1 (recomendados):
- GPIO 32
- GPIO 33
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
✅ Recomendación: Usa pines del ADC1 (GPIO 32 al 39) porque ADC2 puede verse afectado si usas WiFi.
🔌 Materiales
- ESP32 (por ejemplo, ESP32 Dev Board)
- Potenciometro
- Cables jumper
- Breadboard (opcional)
🔌 Conexión del potenciómetro al ESP32
Un potenciómetro tiene tres pines:
- Pin 1 (izquierdo): Conectar a GND
- Pin 2 (centro): Es el pin de salida analógica, se conecta al pin analógico del ESP32
- Pin 3 (derecho): Conectar a 3.3V

⚠️ Importante: El ESP32 trabaja con 3.3V en sus entradas analógicas. No conectes señales de 5V a estos pines.
📥 Código para leer el valor del potenciómetro
// Pin analógico conectado al pin central del potenciómetro
const int pinPotenciometro = 34; // Usa un pin ADC1
void setup() {
Serial.begin(115200);
delay(1000); // Espera para que el monitor serial esté listo
}
void loop() {
int valor = analogRead(pinPotenciometro);
Serial.println(valor);
delay(500);
}
📈 ¿Qué valor devuelve analogRead()?
La función analogRead(pin)
en el ESP32 devuelve un valor entre 0 y 4095, porque usa un ADC de 12 bits.
Voltaje de entrada | Valor devuelto por analogRead() |
---|---|
0V | 0 |
1.65V | ~2048 |
3.3V | 4095 |
🧪 Resultado en el monitor serial
Cuando giras el potenciómetro, deberías ver cómo el valor en el monitor serial cambia entre 0 y 4095, dependiendo de la posición del eje.
