Cómo leer puerto analógico con ESP32 usando un potenciómetro


En este post aprenderás cómo hacer la conexión del ESP32 a un potenciómetro y usar la función analogRead

Cómo leer puerto analógico con ESP32 usando un potenciómetro
oscar Escrito por oscar 21 July 2025 102 0

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

Pines esp32
Pines 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
Circuito ESP32 analogRead
Circuito ESP32 analogRead

⚠️ 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.

ESP32 analogRead
ESP32 analogRead

Comentario

Debe aceptar antes de enviar