¿Por qué usar resistencias con pulsadores e interruptores en Arduino?
Este tutorial explica por qué usar una resistencia con pulsadores e interruptores conectados a un Arduino es crucial para un funcionamiento fiable. Entender este concepto es fundamental para cualquier proyecto con Arduino que implique entrada por parte del usuario. Este conocimiento evita comportamientos inesperados y garantiza que tus proyectos funcionen correctamente. Aquí tienes algunas ideas de proyectos en las que este conocimiento es esencial:
- Interruptor simple de encendido/apagado para un LED
- Controlador de juego interactivo
- Control remoto para electrodomésticos
- Sistema de seguridad con activación por pulsador
Exploremos las razones para usar resistencias en estos circuitos.

Hardware/Componentes
Los componentes básicos necesarios para este proyecto son mínimos: una placa Arduino, un interruptor pulsador y una resistencia (mayor de 300 ohmios). El valor de la resistencia no es crítico; valores como 1kΩ, 10kΩ o incluso 100kΩ generalmente funcionan bien (en el vídeo en 00:41).
Guía de cableado
Hay dos configuraciones principales de cableado (en el video a 00:30):
- Configuración 1:Conecta el pulsador entre el pin del Arduino y +5V. El otro lado del pulsador está conectado a tierra a través de una resistencia. Cuando se pulsa el botón, el pin lee HIGH; cuando se suelta, lee LOW.
- Configuración 2:Conecta el pulsador entre el pin de Arduino y la masa. El otro lado del pulsador está conectado a +5V a través de una resistencia. Cuando se pulsa el botón, el pin lee LOW; cuando se suelta, lee HIGH.

Un diagrama de cableado visual sería beneficioso aquí.
Explicación del código
El código de Arduino utiliza elpinMode()función para configurar el pin como entrada. La parte crucial es el uso deINPUT_PULLUP(en el vídeo en 04:06, 04:23). Esta resistencia pull-up interna elimina la necesidad de una resistencia externa en ciertas configuraciones, simplificando el cableado. EldigitalRead()La función lee el estado del pin, y un simpleif-elseLa instrucción determina si el botón está presionado (LOW) o no (HIGH) (en el video a las 08:34).
pinMode(2, INPUT_PULLUP); // Configures pin 2 as input with internal pull-up resistor
int pushButton = digitalRead(2); // Reads the state of pin 2
if (pushButton == LOW) {
// Button is pressed
} else {
// Button is not pressed
}
Proyecto/Demostración en vivo
El vídeo muestra ambas configuraciones de cableado y sus respectivos comportamientos. Destaca los problemas que pueden surgir cuando se omite la resistencia, como lecturas erráticas debidas al ruido y al acoplamiento capacitivo (en el vídeo en 06:18, 06:39, 07:21). La demostración muestra claramente el funcionamiento estable y fiable que se logra con la resistencia en su lugar (en el vídeo en 08:08).
Capítulos
- [00:00] Introducción
- [00:30] Configuraciones de cableado
- [04:12] Explicación del código usando INPUT_PULLUP
- [05:36] Retirar la resistencia: demostración práctica
- [08:33] Explicación del código
Imágenes
Cosas que podrías necesitar
-
Amazonas
Recursos y referencias
Aún no hay recursos.
Archivos📁
No hay archivos disponibles.
