Objetivo y caso de uso
Qué construirás: Una entrada digital para un microcontrolador con un pulsador y un resistor en serie (p. ej. 10 kΩ) que limite la corriente y proteja el pin GPIO al trabajar con 5 V. Implementarás además un pequeño programa que muestre en el monitor serie los cambios de estado del botón.
Para qué sirve
- Proteger el pin GPIO cuando se conecta un pulsador a 5 V en placas como Arduino o ESP32.
- Evitar daños si el pin se configura por error como salida en estado contrario al nivel del botón.
- Reducir picos de corriente causados por los rebotes mecánicos del pulsador.
- Permitir la conexión segura de botones externos en protoboard o paneles de control simples.
- Ilustrar el uso práctico de un resistor en serie con entradas lógicas como patrón de diseño básico.
Resultado esperado
- El GPIO lee un nivel estable: ≈0 V (LOW) con el botón suelto y ≈5 V (HIGH) al pulsarlo.
- Corriente limitada a unos pocos cientos de microamperios al pulsar (I ≈ 5 V / 10 kΩ ≈ 0,5 mA).
- La tensión en el pin nunca supera el rango de alimentación del microcontrolador en uso normal.
- Un programa básico informa por el monitor serie cada cambio de estado sin provocar resets ni bloqueos.
- No se aprecia sobrecalentamiento en el microcontrolador ni en el resistor tras varios minutos de pruebas.
Público objetivo: Personas que empiezan a trabajar con microcontroladores y electrónica digital básica; Nivel: principiante–intermedio.
Arquitectura/flujo: Pulsador conectado a 5 V → resistor en serie (≈10 kΩ) → pin GPIO configurado como entrada (idealmente con resistencia interna de pull-down o pull-up complementaria) → firmware que lee el pin en bucle, detecta flancos y envía eventos al monitor serie.
Materiales
- 1 × Placa de desarrollo con microcontrolador (por ejemplo, Arduino Uno).
- 1 × Pulsador tipo botón (push-button) de 4 patas o 2 patas.
- 1 × Resistor de 10 kΩ (R1) para serie con la entrada GPIO.
- 1 × Resistor de 10 kΩ (R2) para pull-down (referencia a GND).
- 1 × Fuente de 5 V (puede ser la misma del Arduino, pin +5V).
- 1 × Protoboard.
- 6–8 × Cables de conexión tipo macho-macho.
Guía de conexionado
- Conecta el pin +5V del microcontrolador (por ejemplo, Arduino Uno) a la línea de alimentación positiva de la protoboard (etiquétala como +5V).
- Conecta el pin GND del microcontrolador a la línea de masa de la protoboard (etiquétala como GND).
- Elige un pin digital del microcontrolador, por ejemplo GPIO D2; este será el nodo GPIO.
- Conecta un extremo del pulsador a +5V.
- Conecta el otro extremo del pulsador al nodo VA (este será el nodo intermedio entre pulsador y resistor serie).
- Conecta el resistor R1 = 10 kΩ entre el nodo VA y el nodo GPIO (serie de protección de entrada).
- Conecta el resistor R2 = 10 kΩ entre el nodo GPIO y GND (pull-down para que el pin esté en 0 V cuando el botón no se pulsa).
- Verifica que no haya ninguna conexión directa (cable solamente) entre +5V y GND.
- En el código del microcontrolador, configura el pin D2 como entrada digital estándar (INPUT, sin pull-up interno).
Esquemático
+5V
|
|
[PULS] Pulsador
|
o VA node
|
[R1] 10kΩ (serie protección)
|
o GPIO node (pin D2 MCU)
|
[R2] 10kΩ (pull-down)
|
GND
Mediciones y pruebas
-
Comprobación básica con multímetro:
- Mide la continuidad del circuito con el multímetro en modo continuidad entre +5V y GND: no debe pitar (no debe haber cortocircuito directo).
- Verifica el valor aproximado de R1 y R2 midiendo su resistencia en ohmios antes de montarlos (alrededor de 10 kΩ cada uno).
-
Medición de tensión en el pin GPIO (V_GPIO):
- V_GPIO significa “tensión en el pin GPIO” respecto a GND.
- Coloca la punta negra del multímetro en GND y la punta roja en el nodo GPIO.
- Con el pulsador SUELTO: deberías medir aproximadamente 0 V (gracias al resistor R2 como pull-down).
- Con el pulsador PULSADO: deberías medir aproximadamente 5 V (la tensión se transmite a través de R1 hasta el pin GPIO).
-
Medición de corriente a través del resistor serie (I_R1):
- I_R1 significa “corriente que atraviesa el resistor R1”.
- Para medir corriente, el multímetro debe ponerse en serie con el componente:
- Desconecta el extremo de R1 que va al nodo VA.
- Conecta la punta roja del multímetro al nodo VA y la punta negra al extremo libre de R1 (así la corriente pasa por el multímetro).
- Pulsa el botón y lee la corriente: deberías obtener un valor del orden de 0,5 mA (5 V / 10 kΩ = 0,5 mA aproximadamente).
-
Prueba funcional con el microcontrolador:
- Sube un programa sencillo que lea el pin D2 y envíe por el puerto serie el texto “BOTON: PULSADO” o “BOTON: SUELTO”.
- Observa en el monitor serie que:
- Sin pulsar el botón: se reporte estado bajo (0 lógico) de forma estable.
- Pulsando el botón: se reporte estado alto (1 lógico) de forma clara.
- Si el microcontrolador se resetea o se cuelga al pulsar el botón, revisa las conexiones y valores de R1 y R2.
-
Criterios de éxito:
- V_GPIO ≈ 0 V con el pulsador suelto y V_GPIO ≈ 5 V al pulsarlo.
- I_R1 ≈ 0,5 mA (menos de 1 mA) al pulsar el botón.
- El microcontrolador detecta correctamente los cambios de estado sin comportamientos erráticos.
- No hay calentamiento apreciable en resistores ni en el microcontrolador al tacto.
Errores comunes
- Conectar el pulsador directamente entre +5V y el pin GPIO sin resistor serie:
- Esto funciona muchas veces, pero reduce la protección del pin: si se configura accidentalmente como salida en bajo, la corriente puede ser muy alta (limitada solo por la resistencia interna).
- Olvidar el resistor pull-down (R2):
- El pin queda “flotando” cuando el botón no se pulsa, provocando lecturas aleatorias (saltos espurios entre HIGH y LOW).
- Conectar mal el pulsador de 4 patas:
- En muchos botones las patas están unidas por parejas; si se cablea en paralelo en lugar de en serie, el botón puede quedar siempre activado.
- Poner el resistor R1 en el lugar equivocado:
- R1 debe ir entre el pulsador y el pin GPIO (nodo VA hacia nodo GPIO), no entre +5V y el pulsador, ni entre el GPIO y GND (esa función es de R2).
Seguridad y buenas prácticas
- Trabaja siempre con alimentación de 5 V o menos para estas prácticas básicas.
- No cambies el cableado con el circuito alimentado: primero desconecta el USB o la alimentación externa.
- Usa valores de resistor de al menos 1 kΩ cuando pongas algo en serie con un pin GPIO, a menos que tengas un motivo claro para usar menos.
- Lee en la hoja de datos de tu microcontrolador la corriente máxima recomendada por pin y por puerto para saber cuánta protección necesitas.
Posibles mejoras
- Añadir un condensador pequeño (por ejemplo, 100 nF) entre el nodo GPIO y GND para reducir aún más el rebote del pulsador (filtro RC simple).
- Implementar en el firmware un algoritmo de debounce por software (por ejemplo, ignorar cambios dentro de una ventana de 20 ms).
- Cambiar R2 por un pull-up (entre GPIO y +5V) y conectar el otro lado del pulsador a GND, con la misma idea de añadir R1 en serie para protección.
- Probar con diferentes valores de R1 (4,7 kΩ, 22 kΩ, 47 kΩ) y observar cómo cambia la corriente I_R1 y el ruido recogido en el pin GPIO.
Más Casos Prácticos en Prometeo.blog
Encuentra este producto y/o libros sobre este tema en Amazon
Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.



