Menu
CoddyTech

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.

challenge icon

Desafío

Fácil

Los 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
}
quiz iconPonte a prueba

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