Cómo conectar un botón a Arduino y leer su estado
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.
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.
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.
| Desde | Hacia |
|---|---|
| Uno D2 | Un terminal del pulsador |
| Otro terminal del pulsador | Uno GND |
| Resistencia de referencia | Interna: INPUT_PULLUP |
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.
Esquema y pasos de preparación
Las fotografías identifican los productos. La lista inferior muestra cada conexión por separado.

ARDUINO UNO R3 GENÉRICO
SKU 01025

MICRO PUSH BUTTON 2T
SKU 02115
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.
- Con el USB desconectado, cablea D2 y GND a través del pulsador.
- Carga el programa y abre el monitor a 115200.
- Presiona y libera el botón para comparar los mensajes.
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.
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.
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.
Prepara tu siguiente proyecto
- ARDUINO UNO ORIGINAL · SKU 01016
- ARDUINO UNO R3 GENÉRICO · SKU 01025
- ARDUINO UNO SMD GENÉRICO · SKU 02784
- MICRO PUSH BUTTON 2T · SKU 02115
- PROTOBOARD GRANDE 830P · SKU 02398
Guía general: Arduino Uno, Nano o ESP32, ¿cuál elegir? →
Ver tarjetas de desarrollo →Continúa aprendiendo
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 →
