ESP8266 Đèn LED
Hướng dẫn này chỉ cho bạn cách sử dụng ESP8266 để điều khiển một đèn LED. Cụ thể, chúng ta sẽ học:
- Cách kết nối đèn LED với ESP8266
- Cách lập trình ESP8266 để bật hoặc tắt đèn LED.
- Cách lập trình ESP8266 để nháy đèn LED.
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) |
Về LED
Sơ đồ chân LED
LED có hai chân:
- Pin Cathode(-): nên được nối với cực âm của nguồn cấp điện
- Pin Anode(+): nên được nối với cực dương của nguồn cấp điện thông qua một điện trở

Cách hoạt động
Bảng dưới đây cho thấy trạng thái của LED tùy thuộc vào cách nguồn điện được kết nối với chân của LED.
| LED cathode(-) pin | LED anode(+) pin | Condition | LED state |
|---|---|---|---|
| GND | VCC | via a resistor | ON |
| GND | PWM | via a resistor | ON, variable brightness |
| GND | GND | any | OFF |
| VCC | VCC | any | OFF |
| VCC | GND | any | burned! cautious! |

Như được trình bày trong bảng ở trên, bằng cách tạo tín hiệu PWM cho cực dương (anode) của một LED, độ sáng của LED thay đổi theo giá trị PWM. Điều này đã được giải thích chi tiết trong bài hướng dẫn ESP8266 - LED - Mờ dần.
※ Lưu ý:
- Đối với hầu hết các LED, một điện trở là cần thiết để bảo vệ LED khỏi dòng điện. Có hai tùy chọn đặt điện trở: giữa anốt (+) và VCC, hoặc giữa catôt (-) và GND. Giá trị của điện trở phụ thuộc vào thông số kỹ thuật của LED.
- Một số loại LED có điện trở tích hợp sẵn. Trong trường hợp này, điện trở không cần thiết.
ESP8266 - Đèn LED
Khi một chân của ESP8266 được thiết lập làm đầu ra kỹ thuật số, nó có thể được lập trình để có điện áp ở mức GND hoặc VCC.
Kết nối chân của ESP8266 với chân anode (+) của LED bằng một điện trở. Việc này sẽ cho phép chúng ta điều khiển trạng thái của LED thông qua lập trình.
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
- Thiết lập một chân của ESP8266 ở chế độ đầu ra số bằng cách sử dụng hàm pinMode(). Ví dụ, chân GPIO9:
- Gán chân về GND bằng hàm digitalWrite() để tắt LED:
- Lập trình chân để cấp nguồn VCC bằng hàm digitalWrite() để BẬT đèn LED.
Mã ESP8266 để điều khiển đèn LED
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:
- Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Nối các linh kiện như được hiển thị 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, chẳng hạn như (ví dụ NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
- Nhấn nút Tải lên trên Arduino IDE để biên dịch và tải mã lên bo mạch ESP8266.

- Xem kết quả: Đèn LED nội bộ chuyển giữa bật và tắt theo một mẫu đều đặn mỗi giây.
Giải thích mã nguồn
Hãy xem giải thích theo từng dòng được ghi trong các bình luận của mã nguồn!
※ Lưu ý:
Đoạn mã ở trên sử dụng delay(). Hàm này ngăn ESP8266 thực hiện các tác vụ khác trong suốt thời gian trễ. Nếu dự án của bạn yêu cầu hoàn thành một số tác vụ, bạn nên tránh làm ESP8266 bị chặn bằng cách sử dụng ESP8266 - đèn LED - Nháy 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
- Một lúc, một chân pin chỉ có thể đảm nhận một nhiệm vụ duy nhất. Nếu nó đã được gán cho một công việc khác (ví dụ: đầu vào kỹ thuật số, đầu vào tương tự, PWM, UART, v.v.), thì nó không nên được sử dụng như một đầu ra kỹ thuật số để điều khiển một LED. Ví dụ, nếu chúng ta sử dụng hàm Serial.println(), các chân GPIO1 (TX) và GPIO3 (RX) không nên được sử dụng cho bất kỳ mục đích nào khác vì chúng được dành riêng cho Serial.
- Hướng dẫn này trình bày cách sử dụng chân ra của ESP8266 để điều khiển một đèn LED. Chúng ta có thể sử dụng đoạn mã này để bật/tắt bất kỳ thiết bị nào, thậm chí cả các máy móc lớn.
- Đối với các thiết bị/máy móc đòi hỏi nguồn cấp điện lớn hơn 5 volt và/hoặc tiêu thụ dòng điện cao, một relay phải được đặt giữa chân ra và thiết bị/máy móc. Thông tin thêm có thể được tìm thấy tại ESP8266 - rơ-le.