Pulsadores en Arduino
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.
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.
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
}
}