Menu
CoddyTech

Đọc nút bấm

Thuộc phần Mạch điện đầu tiên trong hành trình Arduino của Coddy. Bài học 22 trên 22.

Một chân cũng có thể là đầu vào: bo mạch đọc xem chân đó ở mức HIGH hay LOW.

Nút bấm này nối chân 2 với đất (0 vôn) khi bạn nhấn giữ. Khi nút ở trạng thái nhả, chân này không nối với gì cả và sẽ đọc các giá trị ngẫu nhiên. INPUT_PULLUP bật điện trở kéo lên bên trong bo mạch, giữ chân ở mức HIGH cho đến khi nút bấm kéo chân xuống mức LOW:

pinMode(2, INPUT_PULLUP);

digitalRead(2) trả về mức tín hiệu của chân. Khi có điện trở kéo lên, nút bấm được nhấn sẽ cho kết quả đọc là LOW:

if (digitalRead(2) == LOW) {
  // nút đang được nhấn
}

Phần còn lại thì bạn đã biết: dùng if và else để chọn, digitalWrite() để điều khiển đèn LED, Serial.println() để báo kết quả.

challenge icon

Thử thách

Dễ

Nút nhấn được nối với chân 2 và đèn LED với chân 13. Hãy bật đèn LED trong lúc nhấn giữ nút:

  • đặt chân 2 thành INPUT_PULLUP
  • khi digitalRead(buttonPin) là LOW, bật đèn LED, in ra Pressed và chờ 200 ms (để màn hình giám sát không bị tràn dữ liệu)
  • nếu không, tắt đèn LED

Nhấn Run, nhấn giữ nút màu xanh lá trên bo mạch, rồi nhấn Check.

Tự làm thử

const int buttonPin = 2;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {

}
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 Mạch điện đầu tiên

Tự luyện tập: Playground Arduino