Arduino Nhấp nháy nhiều đèn LED
Hướng dẫn này dạy bạn cách lập trình Arduino để làm cho nhiều đèn LED nhấp nháy đồng thời mà không sử dụng hàm delay. Hướng dẫn cung cấp mã nguồn theo hai cách:
- Arduino nhấp nháy nhiều đèn LED
- Arduino nhấp nháy nhiều đèn LED sử dụng các mảng
Chúng ta sẽ dùng ba đèn LED làm ví dụ. Bạn có thể dễ dàng chỉnh sửa nó để phù hợp với hai đèn LED, bốn đèn LED, hoặc thậm chí nhiều hơn.
Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | LED Kit | ||
| 1 | × | LED (red) | ||
| 1 | × | LED Module | ||
| 1 | × | 220Ω Resistor | ||
| 1 | × | breadboard | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Giới thiệu về LED
Chúng tôi có một hướng dẫn LED chi tiết bao gồm sơ đồ chân phần cứng, nguyên lý hoạt động, cách kết nối Arduino và các hướng dẫn mã. Tìm hiểu thêm tại đây:
Sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image
Mã Arduino - Nhấp nháy nhiều đèn LED
Để nháy đồng thời nhiều LED, chúng ta không thể dựa vào hàm delay(). Điều này xảy ra vì việc sử dụng delay() ngăn chặn việc thực thi mã khác, khiến chúng ta không thể nháy nhiều LED cùng lúc. Thay vào đó, chúng ta sử dụng hàm millis() để quản lý thời điểm đánh dấu một cách hiệu quả.
Đối với người mới bắt đầu, việc quản lý dấu thời gian khi nhấp nháy nhiều đèn LED có thể gặp khó khăn. May mắn thay, thư viện ezLED (BASE_URL/tutorials/arduino/arduino-led-library) đơn giản hóa quá trình này bằng cách xử lý quản lý dấu thời gian ở bên trong. Điều này loại bỏ gánh nặng quản lý dấu thời gian khỏi người dùng khi sử dụng thư viện. Ngoài ra, việc sử dụng một mảng các đèn LED có thể cải thiện tính rõ ràng và tính ngắn gọn của mã.
Hướng dẫn từng bước
- Nối dây như hình ở trên.
- Kết nối bo mạch Arduino với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch Arduino đúng (ví dụ Arduino Uno) và cổng COM.
- Nhấp vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm “ezLED”, sau đó tìm thư viện ezLED do ArduinoGetStarted cung cấp.
- Nhấp nút Install để cài đặt thư viện ezLED.

- Sao chép đoạn mã ở trên và dán vào Arduino IDE.
- Biên dịch và tải mã lên bo mạch Arduino bằng cách nhấp vào nút Tải lên trên Arduino IDE.

- Xem trạng thái của đèn LED
Mã Arduino - Chớp nhiều LED bằng cách sử dụng mảng
Chúng ta có thể cải thiện mã ở trên bằng cách sử dụng một mảng các đèn LED. Mã dưới đây sử dụng mảng này để xử lý các đối tượng LED.
Bằng cách sử dụng thư viện Arduino - Thư viện ezLED, chúng ta có thể nháy nhiều LED một cách linh hoạt như sau:
- Nháy nhiều đèn LED với các tần số khác nhau
- Nháy nhiều đèn LED với các thời điểm bắt đầu khác nhau
- Nháy mỗi đèn LED trong một khoảng thời gian
- Nháy mỗi đèn LED với một số lần (chu kỳ)
Xem mã ví dụ trong thư viện.
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.