Volver

LED controlado por pulsador: tu primer proyecto de entrada con Arduino

Introducción

¡Bienvenido a tu primer proyecto de entrada con Arduino! En este tutorial, construirás un circuito donde un pulsador controla un LED. Cuando presiones el botón, el LED se encenderá; al soltarlo, se apagará. Este proyecto sencillo te introduce en la lectura de entradas digitales, el uso de resistencias pull-up internas y la escritura de código limpio para Arduino.

Usaremos el simulador en navegador de Velxio, que proporciona un entorno preciso a nivel SPICE para que puedas probar tu circuito sin necesidad de hardware. ¡Vamos allá!

Recorrido del circuito

Diagrama del circuito del LED controlado por pulsador en el lienzo del simulador Velxio

El circuito consta de tres componentes principales:

Detalles del cableado

  1. Pulsador a Arduino:

    • Una pata del pulsador (pin 1.l) se conecta al pin digital 2 de Arduino mediante un cable azul (#00aaff).
    • La otra pata (pin 2.l) se conecta a GND mediante un cable negro.
  2. LED a Arduino:

    • El ánodo (pata larga, pin A) se conecta al pin digital 13 de Arduino mediante un cable rojo (#ff0000).
    • El cátodo (pata corta, pin C) se conecta a GND mediante un cable negro.

Observa que el pulsador no tiene una resistencia pull-up externa. En su lugar, usaremos la resistencia pull-up interna de Arduino en el código. Cuando el pulsador no está presionado, el pin de entrada se mantiene en HIGH; al presionarlo, se lee LOW.

Recorrido del código

Código fuente del LED controlado por pulsador en el editor Monaco de Velxio

Aquí está el sketch completo de Arduino:

// Button LED Control
// Press button to turn LED on

const int BUTTON_PIN = 2;
const int LED_PIN = 13;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(BUTTON_PIN);

  if (buttonState == LOW) {
    digitalWrite(LED_PIN, HIGH);
  } else {
    digitalWrite(LED_PIN, LOW);
  }
}

Explicación

Conceptos clave

Entrada digital y resistencias pull-up

Cuando un pin digital se configura como entrada, lee HIGH (5V) o LOW (0V). Sin una resistencia pull-up o pull-down, el pin puede quedar flotante entre estados, provocando lecturas erráticas. La resistencia pull-up interna (normalmente de 20k-50k ohmios) garantiza un HIGH estable cuando el pulsador está abierto. Al presionar el pulsador, se conecta el pin directamente a GND, anulando el pull-up y dando una lectura LOW.

Antirrebote

Los pulsadores mecánicos suelen rebotar, provocando múltiples transiciones rápidas. En este ejemplo sencillo, ignoramos el antirrebote porque el LED responde rápidamente y el efecto es mínimo. Para aplicaciones más críticas, puedes añadir un pequeño retardo o usar una librería de antirrebote.

Uso de constantes

Definir los números de pin como constantes al principio del sketch facilita cambiar el cableado sin tener que buscar en el código. También mejora la legibilidad.

Errores comunes y consejos de depuración

Uso del simulador Velxio

Barra de herramientas del editor Velxio con controles de compilación y ejecución

Haz clic en el botón Ejecutar de la barra de herramientas para compilar e iniciar la simulación. Luego puedes hacer clic en el pulsador del lienzo para ver cómo responde el LED.

Barra de herramientas del lienzo Velxio sobre la ventana de simulación

Usa la barra de herramientas del lienzo para pausar, reiniciar o ajustar la velocidad de la simulación.

Selector de componentes de Velxio que muestra las piezas por categoría

Para añadir más componentes, abre el selector y explora categorías como “Entrada” o “Salida”.

Gestor de librerías de Velxio que lista las librerías de Arduino instaladas

Si necesitas librerías adicionales (por ejemplo, para antirrebote), usa el Gestor de Librerías.

Extensiones sugeridas

Una vez que tengas el circuito básico funcionando, prueba estas mejoras:

  1. Modo alternar: Modifica el código para que cada pulsación encienda o apague el LED en lugar de mantenerlo.
  2. Varios LEDs: Añade más LEDs y pulsadores para crear un panel de entrada simple.
  3. Antirrebote: Implementa antirrebote por software usando un retardo de 50 ms o un temporizador.
  4. Monitor serie: Imprime el estado del pulsador en el Monitor Serie para depuración.
  5. Brillo PWM: Sustituye el digital write por analogWrite() para controlar el brillo del LED según la duración de la pulsación.

Llamada a la acción

¿Listo para construir tu propio LED controlado por pulsador? Abre el ejemplo en vivo en Velxio y empieza a experimentar: Ejemplo de LED con pulsador. No necesitas hardware, solo tu navegador. ¡Feliz experimentación!


Compartir en:
David Montero

Escrito por

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Artículos relacionados


Artículo anterior
Atenuar un LED con PWM en Arduino – Tutorial para principiantes
Artículo siguiente
Construye un simulador de semáforo con Arduino en Velxio