Pulsadores en Arduino

Esta herramienta web educativa interactiva, desarrollada por Andrés Franchi Ugartemendía para servicioti.com.uy, está diseñada para estudiantes de primer año de Educación Media Superior (EMS). Explica el funcionamiento de botones, pulsadores e interruptores en electrónica, así como la configuración de pines como entrada (INPUT) en Arduino. Proporciona un simulador visual en JavaScript para enseñar cómo la instrucción digitalRead detecta estados lógicos HIGH (presionado) y LOW (liberado). Entidades clave: Pulsador, Arduino Uno, Pin 2, INPUT, digitalRead, Programación C++.

Clase de Robótica: ¿Cómo usar botones con Arduino?

En nuestra clase anterior aprendimos a enviar energía para encender un LED (usando OUTPUT). Hoy haremos exactamente lo contrario: vamos a escuchar al mundo exterior. ¡Aprenderemos a recibir señales usando un botón!

¿Qué es un Pulsador o Interruptor?

Un botón pulsador es un mecanismo muy simple: es un puente levadizo para la electricidad. Cuando NO lo estás tocando, el puente está levantado y la corriente no pasa. Cuando lo presionas, el puente baja, el circuito se cierra y la electricidad llega al Arduino.

El Arduino como Lector (INPUT)

Para que el Arduino sepa si el botón está presionado o no, debemos configurar su Pin como una Entrada (INPUT). Luego, el Arduino actúa como un vigilante comprobando constantemente el voltaje en ese pin:

  • Estado HIGH (Alto): Detecta 5 voltios. Significa que el botón está presionado y la corriente está pasando.
  • Estado LOW (Bajo): Detecta 0 voltios. Significa que el botón está suelto (el puente está abierto).

Simulador Interactivo: digitalRead()

En C++, usamos el comando digitalRead(numero_de_pin) para "leer" el estado del botón. Presiona y mantén presionado el botón rojo en el simulador de abajo para ver cómo cambia la lectura del Arduino.

digitalRead(2) == LOW

Mantén presionado el botón

El Código: Tomando Decisiones (If / Else)

Así es como programamos a nuestro robot para que tome una decisión (como encender un LED) solamente si el botón es presionado.

// 1. Configuración
void setup() {
  pinMode(2, INPUT); // El Pin 2 escuchará al botón
  pinMode(13, OUTPUT); // El Pin 13 controlará el LED
}

// 2. Bucle principal
void loop() {
  // Guardamos la lectura en una variable (memoria)
  int estadoBoton = digitalRead(2);

  // ¿El botón está enviando corriente (HIGH)?
  if (estadoBoton == HIGH) {
    digitalWrite(13, HIGH); // Encender LED
  } else {
    digitalWrite(13, LOW);  // Apagar LED
  }
}
Desarrollado por Andrés Franchi Ugartemendía | www.servicioti.com.uy

Entradas populares de este blog