Menu
CoddyTech

Nhấn hai nút cùng lúc

Thuộc phần Đầu vào trong hành trình Arduino của Coddy. Bài học 7 trên 22.

Mỗi nút có chân riêng và digitalRead() riêng. Bo mạch đọc từng nút một, nhưng nhanh đến mức bạn cảm thấy như chúng được đọc cùng một lúc.

Máy móc trong nhà máy thường có hai nút đặt cách xa nhau và chỉ chạy khi cả hai nút được nhấn giữ. Hai tay đều đặt trên các nút, nên không tay nào ở gần lưỡi dao. Quy tắc đó dùng toán tử && để kết hợp các điều kiện (condition):

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

if (left && right) {
  // Cả hai nút đều đang được nhấn giữ
}

Cả hai chân đều cần INPUT_PULLUP. Nếu quên cấu hình một chân, chân đó sẽ bị thả nổi, và trong trường hợp này sẽ đọc là LOW, như thể nút của nó luôn được nhấn giữ.

challenge icon

Thử thách

Dễ

Các nút được nối vào chân 2 và 3, cả hai đều nối với GND, còn LED nối vào chân 13. Chỉ bật LED khi bạn nhấn giữ cả hai nút:

  • đặt chân 2 và 3 thành INPUT_PULLUP
  • đọc trạng thái mỗi nút vào một bool
  • bật LED khi bạn nhấn cả hai nút, nếu không thì tắt LED

Nhấn Chạy, giữ một nút, rồi giữ cả hai, sau đó nhấn Kiểm tra.

Tự làm thử

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

void setup() {
  pinMode(ledPin, OUTPUT);
  // Đặt cả hai chân nút nhấn thành INPUT_PULLUP
}

void loop() {
  // Đọc trạng thái của cả hai nút nhấn, chỉ bật đèn LED khi cả hai đều đang được nhấn
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Đầu vào

Tự luyện tập: Playground Arduino