ESP32 LED Fade (Hiệu Ứng Mờ Dần)
Hướng dẫn này sẽ chỉ bạn cách sử dụng:
- ESP32 tạo hiệu ứng fade LED bằng hàm delay()
- ESP32 tạo hiệu ứng fade LED bằng hàm millis()
- ESP32 tạo hiệu ứng fade LED bằng thư viện ezLED
Linh Kiện Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | LED Kit | ||
| 1 | × | LED (red) | ||
| 1 | × | LED Module | ||
| 1 | × | Điện trở 220 ohm | ||
| 1 | × | breadboard | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Tùy chọn) DC Power Jack | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về LED
Sơ Đồ Chân LED
LED bao gồm hai chân:
- Chân Cathode(-): kết nối chân này với GND (0V)
- Chân Anode(+): được sử dụng để điều khiển trạng thái của LED

Cách LED Hoạt Động
Sau khi kết nối cathode(-) với GND:
- Nếu chúng ta kết nối GND với anode(+), LED sẽ TẮT.
- Nếu chúng ta kết nối VCC với anode(+), LED sẽ SÁNG.
- Nếu chúng ta tạo tín hiệu PWM tới chân anode(+), độ sáng của LED sẽ tỉ lệ với chu kỳ nhiệm vụ PWM (duty cycle). Chu kỳ nhiệm vụ PWM thay đổi từ 0 đến 255. Chu kỳ nhiệm vụ PWM càng lớn, LED càng sáng.
- Nếu giá trị PWM là 0, nó tương đương với GND ⇒ LED TẮT
- Nếu giá trị PWM là 255, nó tương đương với VCC ⇒ LED SÁNG ở độ sáng cao nhất.

※ Lưu ý:
Thông thường, cần một điện trở để bảo vệ LED khỏi bị cháy. Giá trị điện trở phụ thuộc vào thông số kỹ thuật của LED.
ESP32 - Tạo Hiệu Ứng Fade LED
Các chân đầu ra số của ESP32 có thể được lập trình để tạo tín hiệu PWM. Bằng cách kết nối chân anode(+) của LED với một chân của ESP32, cathode(-) của LED với GND, và sau đó lập trình ESP32 để thay đổi chu kỳ nhiệm vụ của PWM, chúng ta có thể tạo hiệu ứng fade cho LED.
Sơ Đồ Kết Nối giữa LED và ESP32

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
Cách Lập Trình
- Cấu hình một chân ESP32 làm chân đầu ra số bằng cách sử dụng hàm pinMode(). Ví dụ, chân GPIO18:
- Đặt độ sáng của LED bằng cách tạo tín hiệu PWM với chu kỳ nhiệm vụ tương ứng bằng hàm analogWrite():
Trong đó brightness là một giá trị từ 0 đến 255.
Code ESP32 - Ví Dụ Fade Đơn Giản
Các Bước Nhanh
- Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Thực hiện kết nối theo hình ảnh trên.
- Kết nối board ESP32 với PC của bạn qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Sao chép code bên dưới và dán vào Arduino IDE.
- Biên dịch và upload code lên board ESP32 bằng cách nhấn nút Upload trên Arduino IDE

- Quan sát độ sáng của LED
Giải Thích Code Từng Dòng
Code ESP32 ở trên có chứa giải thích từng dòng. Hãy đọc các comment trong code!
Cách tạo hiệu ứng fade-in LED trong một khoảng thời gian mà không sử dụng delay()
Cách tạo hiệu ứng fade-out LED trong một khoảng thời gian mà không sử 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.