Bài 8: Dùng button (nút bấm) để điều khiển một đèn LED

Nội dung chính, cần nắm

Chúng ta đã tìm được cách để đọc được trạng thái của một button qua bài viết Bài 3: Xác định trạng thái của một nút nhấn (button) rồi, đúng không nào? Bây giờ, chúng ta sẽ dựa vào trạng thái của các button ấy để điều khiển các đèn LED. Thực chất, đây là một bài viết vô cùng đơn giản, bạn có thể bỏ qua nếu đã biết và xem bài tiếp theo!

Phần cứng

Lắp mạch

Click vào ảnh để xem kích thước thật và lắp mạch bạn nhé

Lập trình

int button = 11;
int led = 2;
void setup() {
  pinMode(button, INPUT);  //Cài đặt chân D11 ở trạng thái đọc dữ liệu
  pinMode(led,OUTPUT); // Cài đặt chân D2 dưới dạng OUTPUT
}

void loop() {
  int buttonStatus = digitalRead(button);    //Đọc trạng thái button
  if (buttonStatus == HIGH) { // Nếu mà button bị nhấn
    digitalWrite(led,HIGH); // Đèn led sáng
  } else { // ngược lại
    digitalWrite(led,LOW);
  }
}

Giải thích cụ thể

Bài viết này chỉ thêm phần câu lệnh rẻ nhánh if và bỏ đi phần Serial so với bài 3 thôi. Tôi nghĩ đến đây, bạn đã nắm rõ gần hết những điều cơ bản về Arduino rồi đấy. Hãy tiếp tục nhé!

lên
29 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Dùng ATTiny13 để shiftOut ra IC 595 điều khiển nhiều LED

Qua bài viết Bài 2: Attiny13 - Trợ thủ đắc lực của Arduino - Lập trình nó?, chúng ta đã biết được cách lập trình một bé ATTiny13 để làm nhấp nháy một chú đèn LED. Hôm nay, chúng ta sẽ nâng cao một tí nữa, chúng ta sẽ lập trình chú ATTiny13 này để shiftOut ra 8 LED và hơn thế nữa!

Nếu bạn chưa biết về shiftOut, bạn có thể xem bài viết này và thực hiện nó trước!

lên
10 thành viên đã đánh giá bài viết này hữu ích.

const - biến hằng

Giới thiệu

Với một từ khóa "const" nằm trước một khai báo biến, bạn sẽ làm cho biến này thành một biến chỉ có thể đọc "read-only". Nếu bạn có "lỡ lầm" thay đổi giá trị của một biến hằng thì đừng lo lắng, chương trình dịch sẽ báo lỗi cho bạn!

lên
9 thành viên đã đánh giá bài viết này hữu ích.