Uso de Pulsadores en ESP32: Pull-up y Pull-down

El ESP32 es un microcontrolador versátil que permite manejar entradas digitales mediante pulsadores. En esta guía, aprenderás el uso de pulsadores en ESP32 usando resistencias pull-up y pull-down para garantizar lecturas estables.

Pulsadores en ESP32: ¿Qué es un Pull-up y Pull-down?

  • Pull-up: Mantiene la entrada en un estado alto (HIGH) por defecto y la cambia a bajo (LOW) cuando se presiona el pulsador.
  • Pull-down: Mantiene la entrada en un estado bajo (LOW) por defecto y la cambia a alto (HIGH) cuando se presiona el pulsador.

Materiales Necesarios

  • ESP32 DevKit V1
  • Pulsador (push button)
  • Resistencia de 10kΩ (opcional, si no se usa la interna del ESP32)
  • Protoboard y cables de conexión

Esquemático de Conexión

Conexión con Pull-up Interno

El ESP32 tiene resistencias pull-up internas que pueden activarse por software.

  • Un pin del pulsador a GND
  • El otro pin a un GPIO del ESP32

Conexión con Pull-down Externo

Si prefieres usar una resistencia externa:

  • Un pin del pulsador a 3.3V
  • El otro pin a un GPIO del ESP32
  • Una resistencia de 10kΩ entre el GPIO y GND

Circuito con pulsadores en configuración Pull-Down

Circuito con pulsadores en configuración Pull-Up

Código para Leer un Pulsador en ESP32

Sube el siguiente código a tu ESP32:

#define BOTON 4  // Pin donde está conectado el pulsador

void setup() {
    pinMode(BOTON, INPUT); // Activa la resistencia pull-up interna
    pinMode(2,OUTPUT);
    Serial.begin(115200);
}

void loop() {
    if (digitalRead(BOTON) == HIGH) {
      Serial.println("SEÑAL EN ALTO");
      digitalWrite(2,HIGH);
    }

    if (digitalRead(BOTON) == LOW) {
      Serial.println("SEÑAL EN BAJO");
      digitalWrite(2,LOW);
    }
    Serial.println("...");
    delay(100);
}

Errores Comunes y Soluciones

  • Lecturas inestables (rebotes): Usa una técnica de debouncing por software o hardware.
  • El botón no responde: Revisa las conexiones y que el GPIO sea válido.

Ampliaciones del Proyecto

  • Controlar un LED con el pulsador.
  • Implementar interrupciones en lugar de digitalRead().
  • Usar un pulsador con ESP32 para activar eventos en una aplicación IoT.

Con esta guía, ya sabes cómo conectar y usar pulsadores con ESP32 de manera correcta. ¡Sigue experimentando y creando proyectos! 🚀

Publicar comentario