Envíos a todo MéxicoCompra protegidaAsesoría de especialistas

Cómo conectar un botón a Arduino y leer su estado

Serie Arduino y ESP32 · Guía 11 / 20

Un botón, una nueva entrada.

Lee un pulsador con la resistencia interna INPUT_PULLUP y observa el cambio en el monitor serial. Una práctica sencilla de entrada digital.

Lo que vas a lograr

Distinguir botón presionado y liberado sin una resistencia externa de pull-up.

Plataforma del ejemplo: Arduino Uno R3 / ATmega328P. Identifica la versión de tu unidad antes de cargar el sketch o conectar periféricos.

01 / Entiende el montaje

Lo que conviene revisar antes de empezar

Por qué usamos INPUT_PULLUP

Una entrada sin referencia puede cambiar de valor aunque no toques el botón. INPUT_PULLUP habilita una resistencia interna que mantiene la entrada en HIGH mientras el contacto está abierto.

En esta conexión, presionado significa LOW

El pulsador conecta D2 con GND al cerrarse. El programa interpreta ese nivel como presionado. No se conecta el botón a 5 V en este circuito.

Usa un contacto normalmente abierto

El ejemplo utiliza un pulsador de dos terminales. Si usas uno de cuatro patas, comprueba qué terminales ya están unidos internamente. No adivines por el lado del encapsulado.

DesdeHacia
Uno D2Un terminal del pulsador
Otro terminal del pulsadorUno GND
Resistencia de referenciaInterna: INPUT_PULLUP
02 / Prepara tus materiales

Lista para esta práctica

  • Uno R3
  • Pulsador normalmente abierto SKU 02115
  • Jumpers, USB y protoboard

Consulta contenido y disponibilidad en cada ficha. La fotografía identifica una referencia del catálogo; no confirma por sí sola la versión electrónica ni que incluya los accesorios de la práctica.

Descargar Arduino IDE · sitio oficial ↗

03 / Conecta y configura

Esquema y pasos de preparación

Conecta cada terminal por su etiqueta

Las fotografías identifican los productos. La lista inferior muestra cada conexión por separado.

ARDUINO UNO R3 GENÉRICO · SKU 01025

ARDUINO UNO R3 GENÉRICO
SKU 01025

Tarjeta del ejemplo
Conexiones detalladas
MICRO PUSH BUTTON 2T · SKU 02115

MICRO PUSH BUTTON 2T
SKU 02115

Pulsador normalmente abierto
1
D2Entrada del Uno
Terminal 1Un lado del pulsador
2
Terminal 2Otro lado del pulsador
GNDTierra del Uno

Usa INPUT_PULLUP como indica el código. Este montaje no lleva el pulsador a 5 V; al presionarlo conecta D2 con GND. Desconecta la alimentación antes de modificar cables. Las fotos no representan la posición exacta de cada pin: sigue las etiquetas de tu unidad.

  1. Con el USB desconectado, cablea D2 y GND a través del pulsador.
  2. Carga el programa y abre el monitor a 115200.
  3. Presiona y libera el botón para comparar los mensajes.
04 / Copia y prueba

Programa de ejemplo

Copia el sketch completo en un archivo nuevo. Selecciona la placa y el puerto correspondientes; pulsa Verificar y después Subir. Las bibliotecas adicionales, cuando se necesitan, están indicadas en la preparación.

const byte BOTON = 2;
void setup() {
  pinMode(BOTON, INPUT_PULLUP);
  Serial.begin(115200);
}
void loop() {
  if (digitalRead(BOTON) == LOW) {
    Serial.println("Presionado");
  } else {
    Serial.println("Liberado");
  }
  delay(100);
}

Cómo funciona

  • LOW corresponde al contacto cerrado a GND.
  • La pausa hace legible la salida; no implementa un contador de pulsaciones con antirrebote.
Resultado esperado

Liberado cambia a Presionado al cerrar el contacto.

Primero confirma este resultado con el montaje básico. Después cambia una sola variable, como el mensaje o una pausa, y observa el efecto antes de agregar más componentes.

05 / Si algo no funciona

Errores frecuentes y qué revisar

  • Si siempre aparece presionado, revisa un cortocircuito o terminales unidos.
  • Para contar un solo evento por pulsación debes añadir antirrebote y detección de cambio.

Guarda el mensaje de error completo y anota placa, paquete y versión de biblioteca. Para pedir ayuda, comparte también el diagrama del montaje y el SKU de los componentes.

Preguntas frecuentes

¿Necesito una resistencia externa?

No en esta conexión con INPUT_PULLUP.

¿Por qué LOW al presionar?

Porque el contacto une la entrada con GND.

¿Sirve para contar pulsos?

El ejemplo muestra estado; un contador necesita tratar los rebotes.

Materiales del catálogo

Prepara tu siguiente proyecto

Guía general: Arduino Uno, Nano o ESP32, ¿cuál elegir? →

Ver tarjetas de desarrollo →

Continúa aprendiendo

Cómo leer un potenciómetro con Arduino →

Cómo conectar una pantalla LCD 16×2 I2C a Arduino Uno →

Karen Muller

Karen Muller · Tienda de Electrónica MX

Ejemplo educativo revisado contra documentación; no se ha probado físicamente en las unidades del catálogo. Sigue el pinout y los límites eléctricos de la versión que tengas.

Referencia técnica: button ↗

TIENDA DE ELECTRÓNICA MX · PUEBLA

¿Dónde comprar los materiales de tu proyecto?

Consulta modelos, accesorios, ubicación y horarios de nuestra tienda en el Centro de Puebla. Revisa tu lista antes de visitarnos o prepara tu compra en línea.

Arduino en Puebla · modelos y dónde comprar →

Componentes electrónicos en Puebla · modelos y dónde comprar →

Quiero un Arduino · WhatsApp ↗

Compartir ahora:
01Compra informadaPrecio, existencia y características antes de pagar.
02Garantía claraProcedimiento documentado para solicitar ayuda.
03PrivacidadTus datos se utilizan únicamente para fines informados.
Consultar políticas ↗