Leer un botón
Lee un pulsador con Arduino Uno y enciende un LED solo mientras lo mantienes presionado.
Qué vas a construir
Un pulsador conectado a una entrada del Arduino. Un LED externo se enciende solo mientras mantienes el botón presionado.
Lo que aprendes
- La diferencia entre una entrada y una salida.
- Qué es una resistencia pull-up y por qué la necesitas con un botón.
- Cómo leer un pin con
digitalRead(). - Cómo tomar una decisión con un valor lógico.
Materiales en Tinkercad
- Arduino Uno R3
- Pulsador (Pushbutton)
- LED y resistencia de 220 Ω
- Protoboard (Breadboard) y cables
Paso 1: Conecta el botón
- Coloca el pulsador en la protoboard, cruzando la división central.
- Conecta una de sus patas al pin 2 del Arduino.
- Conecta la pata diagonal a GND.
No necesitas resistencia externa: el código activa una resistencia interna con INPUT_PULLUP.
Paso 2: Conecta el LED
- Conecta el ánodo (pata larga) del LED al pin 8.
- Conecta el cátodo (pata corta) a una resistencia de 220 Ω.
- Conecta la otra punta de la resistencia a GND.
Paso 3: Escribe el código
const int BOTON = 2;
const int LED = 8;
void setup() {
pinMode(BOTON, INPUT_PULLUP); // activa la resistencia interna
pinMode(LED, OUTPUT);
}
void loop() {
bool presionado = digitalRead(BOTON) == LOW;
digitalWrite(LED, presionado ? HIGH : LOW);
}
Con INPUT_PULLUP, el pin lee HIGH cuando el botón está suelto y LOW cuando lo presionas, porque el botón conecta el pin a GND. Por eso comparamos con LOW.
Paso 4: Ejecuta la simulación
Haz clic en Start Simulation y presiona el botón con el mouse. El LED debe encenderse solo mientras lo mantienes presionado.
Cómo sabes que lo lograste
- El LED se enciende al presionar el botón.
- El LED se apaga al soltarlo.
Qué salió mal
El LED siempre está encendido. Revisa que el botón esté conectado a GND, no a 5 V, y que usaste INPUT_PULLUP.
El LED no responde. Confirma que el botón está en el pin 2 y el código también usa el pin 2.
Siguiente clase
En la siguiente clase vas a controlar el brillo de un LED con un potenciómetro.