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ả

Vấn đề của số chấm động và số nguyên trong ngôn ngữ lập trình C++ trên board mạch Arduino

Có bao giờ bạn tự hỏi: "Dự án của mình làm tốt thế này, chạy ngon lành rành rành thế này, chắc không có bugs đâu?". Thực sự, nếu dự án của bạn không có phần xử lý số thực chấm động trong đó thì mình nghĩ phần code của bạn sẽ hoạt động ngon lành theo thời gian. Nhưng mà có số thực thì từ từ, chúng ta cần xét lại code. Trước đây, có một số bạn nhắn tin riêng hỏi mình về code với điểm chung là "code mình chạy ngon lành lúc đầu, sau đó bị lỗi, không rõ nguyên nhân". Loại trừ các phần code logic sai ra, thì hầu hết đều là do lỗi khi xử lý số chấm động mà không quan tâm đến nền tảng lập trình bên dưới! Mà cũng đúng, chúng ta rất dễ bị đánh lừa bởi chính đoạn code chúng ta viết. Vì nó có báo lỗi biên dịch đâu mà, kaka. Qua bài viết này, mình muốn phân tích và cùng các bạn rút kinh nghiệm về số chấm động float, cách hạn chế lỗi sai với số chấm động.

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

Lập trình PLC cơ bản - Bài 005 - Hướng dẫn kết nối iNut PLC tới server nội bộ / server tại biên / server không cần qua bên thứ 3

Khi sử dụng một thiết bị IoT trong công nghiệp, đại đa số chủ đầu tư sẽ quan tâm đến việc máy chủ của họ sẽ nằm ở đâu trong quá trình lưu trữ và sử dụng một hệ thống IoT. Vì sao lại như thế? Vì họ không bị phụ thuộc vào nhà cung cấp dịch vụ hoặc là nhà cung cấp Internet,... Máy móc thiết bị mua thì phải thuộc sỡ hữu của họ chứ không phải là đi thuê mướn,... Và giải pháp cho toàn bộ  việc đó chính là iNut PLC với khả năng tích hợp vào một máy chủ bên thứ 3 nhưng vẫn đảm bảo lưu thông của toàn bộ hệ thống IoT. Đem IoT từ trên mây (clouding) về nhà máy (tại biên - edge computing). Cùng khám phá nhé.

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