Arduino LED Mờ dần
Trong bài hướng dẫn này, chúng ta sẽ học:
- Arduino làm mờ LED bằng cách sử dụng hàm delay()
- Arduino làm mờ LED bằng cách sử dụng hàm millis()
- Arduino làm mờ LED bằng cách sử dụng thư viện ezLED
※ Lưu ý:
Bài hướng dẫn này cung cấp kiến thức sâu sắc giúp bạn hiểu nguyên lý hoạt động. Để dễ hiểu hơn, bạn có thể sử dụng Arduino - Thư viện ezLED.
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) |
Về LED
Bản đồ các chân
LED có hai chân:
- Pin Cathode(-): cần được kết nối với GND (0V)
- Pin Anode(+): được sử dụng để điều khiển trạng thái của LED

Cách hoạt động
Sau khi kết nối điện cực catôt(-) với đất:
- Nếu nối GND với anode (+), LED tắt.
- Nếu nối VCC với anode (+), LED sáng.
- Nếu phát tín hiệu PWM cho anode (+), độ sáng của LED được thay đổi theo giá trị PWM. Giá trị PWM dao động từ 0 đến 255. Giá trị PWM càng lớn, LED càng sáng. Giá trị PWM càng nhỏ, LED càng tối.
- Nếu giá trị PWM bằng 0, nó tương đương với GND, do đó LED tắt
- Nếu giá trị PWM bằng 255, nó tương đương với VCC, do đó LED sáng hoàn toàn

※ Lưu ý:
Đối với hầu hết các LED, cần sử dụng một điện trở giữa anode (+) và VCC. Giá trị của điện trở phụ thuộc vào thông số kỹ thuật của LED.
Arduino - làm mờ đèn LED
Một số pin của Arduino có thể được lập trình để tạo tín hiệu PWM. Ta có thể làm mờ LED bằng cách kết nối chân anode (+) của LED với một pin của Arduino, chân cathode (-) của LED với GND, và lập trình để tạo PWM trên pin của Arduino.
Sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image
Cách Lập Trình
- Cấu hình một chân của Arduino ở chế độ đầu ra số bằng cách sử dụng hàm pinMode(). Ví dụ, chân 9:
- Thiết lập độ sáng của LED bằng cách phát sinh tín hiệu PWM tương ứng bằng hàm analogWrite():
Trong đó độ sáng có giá trị từ 0 đến 255.
Mã Arduino - Ví dụ làm mờ dần từ Arduino IDE
Hướng dẫn từng bước
- Kết nối Arduino với máy tính qua cáp USB
- Mở Arduino IDE, chọn bo mạch và cổng phù hợp
- Sao chép mã dưới đây và dán vào Arduino IDE
- Nhấn nút Tải lên trên Arduino IDE để tải mã lên Arduino

- Xem độ sáng của đèn LED
Giải thích mã nguồn
Bạn có thể tìm lời giải thích trong dòng bình luận của mã Arduino ở trên.
Cách để làm mờ dần LED trong một khoảng thời gian mà không dùng delay()
Cách làm LED sáng dần trong một khoảng thời gian mà không dùng delay()
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.
Thử thách bản thân
Thay đổi độ sáng của LED bằng biến trở. Gợi ý: Tham khảo Arduino - Biến trở.
Kiến thức bổ sung
- Tín hiệu PWM được tạo bởi hàm analogWrite() sẽ làm mờ một đèn LED. Điều này là do PWM ở tần số cao. Nếu chúng ta tạo một hàm tùy chỉnh (yêu cầu kiến thức nâng cao), hàm đó sẽ phát tín hiệu PWM với tần số thấp, đèn LED sẽ nhấp nháy thay vì mờ.
- Tóm tắt: Tín hiệu PWM có thể được sử dụng trong Arduino để: điều khiển động cơ servo, điều khiển động cơ DC, phát âm thanh bằng buzzer piezo, làm mờ LED, nhấp nháy LED ...