ESP8266 LED Mờ dần
Hướng dẫn này chỉ cho bạn cách lập trình ESP8266 để làm mờ đèn LED. Chúng ta sẽ xem qua ba ví dụ và so sánh sự khác biệt giữa chúng:
- Cách lập trình ESP8266 để LED mờ dần bằng hàm delay()
- Cách lập trình ESP8266 để LED mờ dần bằng hàm millis()
- Cách lập trình ESP8266 để LED mờ dần bằng thư viện ezLED
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (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 Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Giới thiệu về LED
Cách bố trí các chân LED
LED có hai chân:
- Chân cathode(-): cần được kết nối với GND (0V)
- Chân anode(+): dùng để điều khiển trạng thái của LED

Cách hoạt động
Ngày khi cực âm (-) đã được nối với GND:
- Kết nối GND với anode (+) sẽ làm LED tắt.
- Kết nối VCC với anode (+) sẽ làm LED sáng.
- Tạo tín hiệu PWM tới anode (+) sẽ điều chỉnh độ sáng của LED, tùy thuộc vào giá trị PWM. Giá trị này có thể từ 0 đến 255, giá trị càng cao thì LED càng sáng và giá trị càng thấp khiến LED trông tối hơn.
- Nếu giá trị PWM bằng 0, tương tự như kết nối GND, thì LED sẽ tắt.
- Nếu giá trị PWM bằng 255, tương tự như kết nối VCC, thì LED sẽ sáng hoàn toàn.

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

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
Cách Lập Trình
- Đặt chân của ESP8266 ở chế độ đầu ra kỹ thuật số bằng hàm pinMode(). Ví dụ, điều này có thể được thực hiện cho chân D5:
- Điều chỉnh độ sáng của đèn LED bằng cách tạo tín hiệu PWM với hàm analogWrite().
Độ sáng có thể nằm trong khoảng từ 0 đến 255.
Mã ESP8266 - Ví dụ mờ dần từ Arduino IDE
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Hãy tham khảo bài hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu tiên bạn sử dụng ESP8266.
- Nối các thành phần như được thể hiện trong sơ đồ.
- Kết nối bo mạch ESP8266 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 ESP8266 phù hợp, như ví dụ: NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
- Gắn ESP8266 vào máy tính của bạn bằng cáp USB.
- Mở Arduino IDE, và chọn đúng bo mạch và cổng.
- Sao chép mã bên dưới và dán vào Arduino IDE.
- Nhấp vào nút Tải lên trên Arduino IDE để biên dịch và tải mã lên bo mạch ESP8266.

- Kiểm tra độ sáng của đèn LED.
Giải thích mã nguồn
Xem phần giải thích theo từng dòng được chứa trong các chú thích của mã nguồn!
※ Lưu ý:
Ví dụ ở trên sử dụng hàm [delay()] để mờ dần lên và mờ dần đi. Tuy nhiên, điều này khiến LED mờ dần một cách không mượt và chặn việc chạy các đoạn mã khác. Trong các phần sắp tới, chúng ta sẽ học cách mờ dần lên và mờ dần đi một cách mượt mà mà không làm gián đoạn mã khác bằng cách tận dụng hàm [millis()].
Cách làm LED sáng dần trong một khoảng thời gian mà không dùng delay()
Cách làm LED mờ 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.
Kiến thức bổ sung
- Hàm analogWrite() trên ESP8266 có thể tạo tín hiệu PWM, khiến một đèn LED mờ dần. Tuy nhiên, nếu một hàm tùy chỉnh được tạo ra với kiến thức chuyên sâu, nó có thể tạo tín hiệu PWM tần số thấp, dẫn đến đèn LED nhấp nháy thay vì mờ dần.
- Tóm lại, tín hiệu PWM có thể được sử dụng trên ESP8266 cho nhiều mục đích khác nhau, chẳng hạn như điều khiển động cơ servo, động cơ DC, tạo âm thanh bằng còi piezo, làm mờ các đèn LED và nhấp nháy các đèn LED.