Arduino UNO R4 LED Nháy Mà Không Dùng Delay
Hãy tưởng tượng Arduino UNO R4 cần thực hiện hai nhiệm vụ: làm LED nháy và phát hiện khi nút nhấn được bấm. Nếu chúng ta sử dụng hàm delay(), Arduino UNO R4 có thể bỏ lỡ một số lần bấm nút. Trong hướng dẫn này, chúng ta sẽ học cách làm cho Arduino UNO R4 vừa làm LED nháy vừa giám sát nút nhấn để đảm bảo nó phát hiện được mọi lần bấm nút.
Chúng ta sẽ đi qua ba ví dụ dưới đây và so sánh sự khác biệt giữa chúng:
- Arduino UNO R4 làm LED nháy bằng hàm delay()
- Arduino UNO R4 làm LED nháy bằng hàm millis()
- Arduino UNO R4 làm LED nháy bằng thư viện ezLED

※ Lưu ý:
- Phương pháp này không chỉ làm LED nháy và kiểm tra trạng thái nút nhấn. Nó cho phép Arduino UNO R4 thực hiện nhiều tác vụ đồng thời mà không bị gián đoạn.
- Hướng dẫn này cung cấp thông tin chi tiết để giúp bạn hiểu cách nó hoạt động. Để đơn giản hóa, bạn có thể sử dụng Arduino UNO R4 - thư viện LED.
Phần Cứng Cần Thiết
| 1 | × | Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima | ||
| 1 | × | (Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi | ||
| 1 | × | Arduino UNO R4 Minima (Thay thế) | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | LED Kit | ||
| 1 | × | LED (red) | ||
| 1 | × | LED Module | ||
| 1 | × | Điện trở 220 ohm | ||
| 1 | × | Nút Nhấn Gắn Breadboard Có Nắp | ||
| 1 | × | Bộ Kit Nút Nhấn Gắn Breadboard | ||
| 1 | × | Nút Nhấn Gắn Bảng Điều Khiển | ||
| 1 | × | mô-đun nút nhấn | ||
| 1 | × | breadboard | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Power Splitter for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về LED và Nút Nhấn
Tìm hiểu về LED và nút nhấn (sơ đồ chân, cách hoạt động, cách lập trình, v.v.) trong các hướng dẫn này:
Sơ Đồ Kết Nối

This image is created using Fritzing. Click to enlarge image
Code Arduino UNO R4 - Có Delay
Các Bước Thực Hiện
Thực hiện theo các hướng dẫn sau từng bước:
- Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
- Kết nối các linh kiện theo sơ đồ được cung cấp.
- Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
- Khởi động Arduino IDE trên máy tính của bạn.
- Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
- Sao chép code được cung cấp và dán vào Arduino IDE.
- Nhấp vào nút Upload trong Arduino IDE để chuyển code lên Arduino UNO R4.

- Mở Serial Monitor.
- Nhấn nút nhấn bốn lần.
- Quan sát LED: Nó bật và tắt mỗi giây.
- Kiểm tra hiển thị trên Serial Monitor.
- Một số lần nhấn nút không được hiển thị trên Serial Monitor vì Arduino UNO R4 không thể thực hiện bất kỳ tác vụ nào trong thời gian delay. Kết quả là nó bỏ lỡ việc phát hiện những lần nhấn đó.
Code Arduino UNO R4 - Không Delay
Các Bước Thực Hiện
Thực hiện theo các hướng dẫn sau từng bước:
- Upload code được cung cấp lên Arduino Uno R4
- Nhấn nút nhấn bốn lần.
- Quan sát LED: Nó chuyển đổi giữa BẬT và TẮT mỗi giây.
- Kiểm tra kết quả trên Serial Monitor.
- Tất cả các lần nhấn nút đều được phát hiện.
Giải Thích Code
Giải thích được đặt trong phần comment của code Arduino ở trên.
Thêm Nhiều Tác Vụ Hơn
Code này làm hai LED nháy ở những thời điểm khác nhau và cũng kiểm tra xem nút nhấn có được bấm hay không.
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.