Arduino Uno: Encender un LED con un Botón

Arduino Uno: Encender un LED con un Botón. El Blog de Joseca. Guayaquil - Ecuador.

Uno de los proyectos más básicos y útiles al iniciar con Arduino es controlar un LED mediante un botón. Este ejercicio permite comprender cómo funcionan las entradas digitales y las salidas digitales, base de casi todos los proyectos electrónicos.

🎯 Objetivo

Encender un LED al presionar un botón y apagarlo al soltarlo.

🧰 Materiales

    • 1 Arduino Uno
    • 1 LED
    • 1 botón (push button)
    • 2 resistencias (220Ω y 10kΩ)
    • Protoboard
    • Cables jumper

🔌 Descripción del Circuito

En este proyecto:

    • El LED se conecta a un pin digital de salida (por ejemplo, el pin 8).
    • El botón se conecta a un pin digital de entrada (por ejemplo, el pin 7).
    • Se usa una resistencia para proteger el LED y otra como pull-down para el botón.

👉 Cuando presionas el botón, el Arduino detecta un HIGH (1) y enciende el LED.


💻 Código Arduino

//Mientras mantenga presionado el botón
//se mantiene encendido el Led

int led=8;                //definimos el valor del pin para el led
int boton=7;              //definimos el valor del pin para el boton

void setup() {
  pinMode(led, OUTPUT);   //declaramos el pin led como salida
  pinMode(boton, INPUT);  //declaramos el pin boton como entrada
}

void loop() {
  if (digitalRead(boton) == HIGH) {   //si el botón esta presionado
    digitalWrite(led, HIGH);          //encendemos el led
  }
  else {                              //caso contrario
    digitalWrite(led, LOW);           //apagamos el led
  }
}


[warning title="Simulación en Wokwi" icon="check-circle"] https://wokwi.com/projects/458711382664387585 [/warning]


🔁 Encender LED con Botón en Modo Interruptor (Toggle)

En el ejemplo anterior, el LED solo se encendía mientras mantenías presionado el botón. Ahora vamos a mejorar el proyecto para que funcione como un interruptor real (modo toggle).

🎯 ¿Qué es el modo Toggle?

El modo toggle permite que:

    • 🔘 Presionas una vez → el LED se enciende
    • 🔘 Presionas otra vez → el LED se apaga

Es decir, cada pulsación cambia el estado del LED, igual que un interruptor de luz en casa.


🔌 Circuito

✔ Se utiliza exactamente el mismo circuito anterior

(No necesitas hacer ningún cambio en las conexiones)

🧠 ¿Cómo funciona?

El Arduino debe detectar el momento exacto en que presionas el botón, no solo si está presionado.

Para eso:

    • Se guarda el estado anterior del botón
    • Se compara con el estado actual
    • Si detecta un cambio (de LOW a HIGH), cambia el estado del LED

💻 Código en Arduino

//Presiona botón enciende LED
//Vuelve a presionar botón y se apaga el LED

int led = 8;
int boton = 7;

int estadoBoton = 0;
int estadoAnterior = 0;
int estadoLed = 0;

void setup() {
  pinMode(led, OUTPUT);
  pinMode(boton, INPUT);
}

void loop() {
  estadoBoton = digitalRead(boton);

  // Detecta cuando se presiona el botón
  if (estadoBoton == HIGH && estadoAnterior == LOW) {
    estadoLed = !estadoLed; // Cambia el estado del LED
    delay(200); // Pequeño anti-rebote
  }

  digitalWrite(led, estadoLed);

  estadoAnterior = estadoBoton;
}


[warning title="Simulación en Wokwi" icon="check-circle"] https://wokwi.com/projects/458764769388938241 [/warning]


🔍 Explicación del Código

    • estadoAnterior guarda el estado previo del botón
    • Se detecta el cambio de LOW → HIGH (cuando presionas)
    • estadoLed = !estadoLed invierte el estado:
      • Si estaba apagado → se enciende
      • Si estaba encendido → se apaga

⚠️ Importante: Anti-rebote

Los botones físicos generan pequeñas vibraciones eléctricas al presionarse (rebote), lo que puede hacer que el Arduino detecte múltiples pulsaciones.

Por eso usamos:

delay(200);


🚀 Aplicaciones del modo Toggle

Este tipo de control es muy útil en proyectos reales:

    • 💡 Encendido/apagado de luces
    • 🔐 Sistemas de seguridad
    • 🤖 Robots
    • 🎮 Interfaces con botones


🧾 Conclusión

Este proyecto es fundamental para entender cómo Arduino interactúa con el mundo físico mediante entradas (botón) y salidas (LED). Dominar este ejercicio te permitirá avanzar hacia proyectos más complejos como sistemas automatizados, alarmas o interfaces interactivas.

El modo toggle convierte un simple botón en un verdadero interruptor digital. Dominar esta técnica te permitirá crear interfaces más avanzadas y mejorar la interacción en tus proyectos con Arduino.

 

marzo 17, 2026

Publicar un comentario

[blogger]

MKRdezign

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Con tecnología de Blogger.
Javascript DisablePlease Enable Javascript To See All Widget