Dos botones a la vez
Parte de la sección Entradas del Journey de Arduino de Coddy. Lección 7 de 22.
Cada botón tiene su propio pin y su propio digitalRead(). La placa los lee uno tras otro, pero tan rápido que para ti ocurre en el mismo instante.
Las máquinas de fábrica suelen tener dos botones muy separados, y solo funcionan mientras ambos están presionados. Las dos manos están en los botones, así que ninguna puede estar cerca de la cuchilla. Esa regla es &&, de Combinar condiciones:
bool left = digitalRead(2) == LOW;
bool right = digitalRead(3) == LOW;
if (left && right) {
// ambos botones están presionados
}Ambos pines necesitan INPUT_PULLUP. Si olvidas uno, ese pin queda flotante, lo que aquí se lee como LOW, como si su botón estuviera siempre presionado.
Desafío
FácilLos botones están conectados a los pines 2 y 3, ambos unidos a GND, y el LED está en el pin 13. Enciende el LED solo mientras se mantengan presionados ambos botones:
- configura los pines 2 y 3 como
INPUT_PULLUP - lee cada botón en un
bool - enciende el LED cuando ambos estén presionados; de lo contrario, apágalo
Presiona Run, mantén presionado un botón, después ambos y, a continuación, Check.
Pruébalo tú mismo
const int leftPin = 2;
const int rightPin = 3;
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
// configura los pines de ambos botones como INPUT_PULLUP
}
void loop() {
// lee ambos botones y enciende el LED solo mientras los dos estén presionados
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Entradas
Practica por tu cuenta: Playground de Arduino