Menu
CoddyTech

Dwa przyciski jednocześnie

Część sekcji Wejścia ścieżki Arduino w Coddy. Lekcja 7 z 22.

Każdy przycisk ma własny pin i własne digitalRead(). Płytka odczytuje je jeden po drugim, ale tak szybko, że dla ciebie dzieje się to w tej samej chwili.

Maszyny fabryczne często mają dwa przyciski umieszczone daleko od siebie i działają tylko wtedy, gdy oba są wciśnięte. Obie ręce spoczywają na przyciskach, więc żadna z nich nie może znaleźć się blisko ostrza. Ta zasada to &&, z lekcji Łączenie warunków:

bool left = digitalRead(2) == LOW;
bool right = digitalRead(3) == LOW;

if (left && right) {
  // oba przyciski są przytrzymane
}

Oba piny muszą mieć ustawienie INPUT_PULLUP. Jeśli o jednym zapomnisz, ten pin będzie niepodłączony, co w tym przypadku daje odczyt LOW, tak jakby jego przycisk był zawsze wciśnięty.

challenge icon

Wyzwanie

Łatwy

Przyciski są podłączone do pinów 2 i 3, oba do GND, a dioda LED do pinu 13. Włączaj diodę LED tylko wtedy, gdy oba przyciski są wciśnięte:

  • ustaw piny 2 i 3 na INPUT_PULLUP
  • odczytaj stan każdego przycisku do zmiennej bool
  • włącz diodę LED, gdy oba przyciski są wciśnięte, w przeciwnym razie ją wyłącz

Naciśnij Run, przytrzymaj jeden przycisk, a następnie oba, po czym naciśnij Check.

Spróbuj swoich sił

const int leftPin = 2;
const int rightPin = 3;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  // ustaw piny obu przycisków na INPUT_PULLUP
}

void loop() {
  // odczytaj stan obu przycisków; zapal diodę LED tylko wtedy, gdy oba są wciśnięte
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wejścia

Poćwicz samodzielnie: Edytor online Arduino