Lập trình điều khiển led đơn với board mạch Arduino

1. Thiết kế mạch điều khiển led đơn với board mạch Arduino

Mạch điều khiển gồm 1 board Arduino UNO, 1 điện trở 220Ω, 1 led. Lưu ý, chân dương (+) của led kết nối với chân digital của board mạch Arduino, chân âm (-) của led kết nối vào GND của board mạch Arduino.

Có thể sử dụng mạch điều khiển giả lập trên Proteus.

2. Viết chương trình điều khiển led chớp tắt dùng delay

int led = 6;//chân kết nối với led void setup() { pinMode(led, OUTPUT);//khai báo chân led là ngõ ra } void loop() { digitalWrite(led, HIGH);//Bật led (HIGH - có nghĩa là mức điện áp 5V) delay(1000);//Chờ 1000 mili giây = 1 giây digitalWrite(led, LOW);//Tắt led (LOW - có nghĩa là mức điện áp 0V) delay(1000);//Chờ 1000 mili giây = 1 giây }

Hàm delay() dừng toàn bộ chương trình trong thời gian quy định. Không thể thực hiện thao tác khác trong khi thực thi hàm delay().

Chương trình trên làm đèn led sáng rồi dừng 1s, tắt đèn led rồi dừng 1s. Cứ như thế lặp đi lặp lại liên tục sẽ tạo nên hiệu ứng chớp tắt của đèn led.

3. Viết chương trình điều khiển led chớp tắt dùng định thời

Khi sử dụng hàm delay(), vi điều khiển của Arduino phải chờ cho đến khi hết thời gian delay mới thực hiện các tác vụ khác. Việc này có thể làm ảnh hưởng đến các tác vụ khác khi chạy cùng thời điểm, làm tăng độ trễ khi thực thi chương trình hoặc làm cho chương trình chạy không chính xác. Việc dùng định thời với hàm millis() sẽ khắc phục tình trạng trên.

int led = 6;//chân kết nối với led int ledState = LOW;//khai báo biến lưu trạng thái của led unsigned long previousMillis = 0; const long interval = 1000; void setup(){ pinMode(led, OUTPUT);//khai báo chân led là ngõ ra } void loop(){ unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; if (ledState == LOW){ ledState = HIGH; // Đổi trạng thái led }else{ ledState = LOW; // Đổi trạng thái led } digitalWrite(led, ledState); } }

Biến ledState nhằm lưu trữ trạng thái của led tại thời điểm hiện tại. Biến interval là giá trị của 1 bước thời gian tính theo mili giây. Lúc đầu giá trị previousMillis = 0.

Hàm millis() sẽ trả về số mili giây từ khi board Arduino hoạt động. Lệnh currentMillis = millis(); sẽ gán giá trị trả về của hàm millis() cho biến curentMillis. Nếu thời gian hiện tại – thời gian bắt đầu >= interval, chương trình sẽ thực hiện 2 việc:

    • Gán previousMillis = curentMillis; để bắt đầu tính lại thời gian đã chạy chương trình.
    • Đổi trạng thái của led (nếu là LOW thì chuyển sang HIGH và ngược lại).

Việc bật tắt led chỉ thực hiện khi currentMillis – previousMillis >= interval. Trong khoản thời gian này thì ta có thể thực hiện các tác vụ khác của chương trình.

Bạn đang xem bài viết: Lập trình điều khiển led đơn với board mạch Arduino. Thông tin do Wingroup VN chọn lọc và tổng hợp cùng với các chủ đề liên quan khác.

Sale off:

Best post:

Cách Mở Nắp Hộp Cơm Bị Hấp Hơi, Mẹo Vặt: Mở Nắp Chai Lọ Khi Vô Tình Vặn Quá Chặt
Cách Mở Nắp Hộp Cơm Bị Hấp Hơi, Mẹo Vặt: Mở Nắp Chai Lọ Khi Vô Tình Vặn Quá Chặt
Cách Hấp Má Heo Ngon – Cách Làm Đầu Heo Hấp Hành
Cách Hấp Má Heo Ngon – Cách Làm Đầu Heo Hấp Hành
Cách Hấp Khi Không Có Nồi Hấp, Cách Hấp Cách Thuỷ Bằng Bếp Ga Và Nồi Cơm Điện
Cách Hấp Khi Không Có Nồi Hấp, Cách Hấp Cách Thuỷ Bằng Bếp Ga Và Nồi Cơm Điện
Cách Đuổi Quỷ Hấp Tinh Quỷ” Theo, Quỷ Hấp Tinh Là Gì
Cách Đuổi Quỷ Hấp Tinh Quỷ” Theo, Quỷ Hấp Tinh Là Gì
Cách Hấp Bánh Bột Lọc Bằng Lò Vi Sóng ), Bánh Lọc Ngon Tại Đà Nẵng
Cách Hấp Bánh Bột Lọc Bằng Lò Vi Sóng ), Bánh Lọc Ngon Tại Đà Nẵng
Cách Làm Óc Bò Hấp Gừng Cực Ngon, Bổ Mà Không Bị Tanh, 3 Cách Chưng Óc Heo Vừa Đơn Giản Lại Dinh Dưỡng
Cách Làm Óc Bò Hấp Gừng Cực Ngon, Bổ Mà Không Bị Tanh, 3 Cách Chưng Óc Heo Vừa Đơn Giản Lại Dinh Dưỡng
Cá Mòi Kho & Cách Kho Cá Mòi Rục Xương, 3 Cách Kho Cá Mòi Bằng Nồi Áp Suất Ngon Bá Cháy
Cá Mòi Kho & Cách Kho Cá Mòi Rục Xương, 3 Cách Kho Cá Mòi Bằng Nồi Áp Suất Ngon Bá Cháy
Chế Biến Ngọc Dương Dê Đúng Cách Chế Biến Ngọc Dương Hấp Gừng
Chế Biến Ngọc Dương Dê Đúng Cách Chế Biến Ngọc Dương Hấp Gừng
Cách Tính Hàng Tồn Kho Chậm Luân Chuyển, Kiểm Toán Phần Hành Hàng Tồn Kho
Cách Tính Hàng Tồn Kho Chậm Luân Chuyển, Kiểm Toán Phần Hành Hàng Tồn Kho
Cách Hấp Lại Bánh Chưng Bằng Lò Vi Sóng Đúng Cách, An Toàn, Cách Rã Đông Bằng Lò Vi Sóng Đúng Cách, An Toàn
Cách Hấp Lại Bánh Chưng Bằng Lò Vi Sóng Đúng Cách, An Toàn, Cách Rã Đông Bằng Lò Vi Sóng Đúng Cách, An Toàn
Cách Làm Dúi Hấp Nguyên Con Dúi Chế Biến Món Gì Ngon Nhất, Hướng Dẫn Làm Thịt Dúi
Cách Làm Dúi Hấp Nguyên Con Dúi Chế Biến Món Gì Ngon Nhất, Hướng Dẫn Làm Thịt Dúi
Món Ngon, Cách Pha Nước Chấm Thịt Mèo Hấp Ngon Đúng Vị, Cách Làm Nước Chấm Thịt Mèo
Món Ngon, Cách Pha Nước Chấm Thịt Mèo Hấp Ngon Đúng Vị, Cách Làm Nước Chấm Thịt Mèo
Cách Tải Kho Báu Huyền Thoại Bản Trung Quốc, Kho Báu Huyền Thoại Vip 11
Cách Tải Kho Báu Huyền Thoại Bản Trung Quốc, Kho Báu Huyền Thoại Vip 11
Top 18 Cách Kho Cá Chuồn Kho Thơm Mới Nhất 2022, Top 18 Cách Nấu Cá Chuồn Kho Thơm Mới Nhất 2022
Top 18 Cách Kho Cá Chuồn Kho Thơm Mới Nhất 2022, Top 18 Cách Nấu Cá Chuồn Kho Thơm Mới Nhất 2022
New Bật Mí Cách Hấp Thịt Mèo Với Ngải Cứu, Hướng Dẫn Làm Thịt Mèo Cực Ngon
New Bật Mí Cách Hấp Thịt Mèo Với Ngải Cứu, Hướng Dẫn Làm Thịt Mèo Cực Ngon

Categories