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ữ.
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
}
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
3Nhập liệu qua cổng nối tiếp
Đọc một ký tự qua cổng nối tiếpLệnh bằng từĐiều chỉnh tốc độ nhấp nháy qua cổng nối tiếpNhấp nháy theo lệnhTự luyện tập: Playground Arduino