ESP8266 Điều khiển đèn LED qua Bluetooth
Hướng dẫn này chỉ cho bạn cách lập trình ESP8266 để điều khiển một đèn LED qua Bluetooth hoặc BLE.
- Để điều khiển đèn LED bằng Bluetooth, nên sử dụng mô-đun HC-05 Bluetooth.
- Để điều khiển đèn LED bằng BLE, nên sử dụng mô-đun HM-10 BLE.
Bài hướng dẫn này cung cấp chỉ dẫn về cách sử dụng cả hai mô-đun.
Chúng ta sẽ sử dụng ứng dụng Bluetooth Serial Monitor trên một chiếc điện thoại thông minh để gửi các lệnh cho ESP8266.
Các lệnh này bao gồm:
- LED BẬT: để bật đèn LED
- LED TẮT: để tắt đè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 | × | HC-05 Bluetooth Module | ||
| 1 | × | (Hoặc) HM-10 BLE Module | ||
| 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) |
Thông tin về LED và Mô-đun Bluetooth
Nếu bạn chưa quen với LED và mô-đun Bluetooth (bao gồm sơ đồ chân, chức năng và lập trình), các bài hướng dẫn sau đây có thể giúp bạn:
Sơ đồ đấu dây
- Nếu bạn muốn điều khiển đèn LED thông qua Bluetooth, mô-đun Bluetooth HC-05 nên được sử dụng với sơ đồ đấu nối được cung cấp ở dưới đâ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.
- Nếu bạn muốn điều khiển LED thông qua BLE, mô-đun HM-10 BLE nên được sử dụng với sơ đồ kết nối được cung cấp dưới đây.

This image is created using Fritzing. Click to enlarge image
Mã ESP8266 - điều khiển LED qua Bluetooth/BLE
Mã này hoạt động với cả hai mô-đun Bluetooth HC-10 và HM-10 BLE. Nó áp dụng được cho cả hai.
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 dây các thành phầ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, ví dụ như (NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
- Tải xuống và cài đặt Ứng dụng Bluetooth Serial Monitor trên điện thoại thông minh của bạn.
- Sao chép mã và mở nó bằng Arduino IDE. Sau đó, nhấp nút Tải lên để tải mã lên ESP8266. Nếu bạn gặp bất kỳ khó khăn nào khi tải mã lên, hãy thử ngắt kết nối các chân TX và RX từ mô-đun Bluetooth, tải mã lên, và sau đó kết nối lại các chân RX/TX.
- Khi mã đã được tải lên, mở Ứng dụng Bluetooth Serial Monitor trên điện thoại thông minh của bạn và chọn Classic Bluetooth hoặc BLE, tùy thuộc vào mô-đun bạn đã dùng.

- Kết nối ứng dụng Bluetooth với mô-đun HC-05 Bluetooth hoặc mô-đun HM-10 BLE.

- Nhập một trong hai tùy chọn “LED BẬT” hoặc “LED TẮT” và nhấn nút Gửi

- Kiểm tra trạng thái đèn LED trên bo mạch ESP8266. Nó sẽ ở trạng thái BẬT hoặc TẮT.
- Chúng ta cũng có thể xem trạng thái đèn LED trên Ứng dụng Bluetooth.
- Xem kết quả trên Ứng dụng Android.

Bạn có thể tự hỏi làm thế nào ESP8266 có thể hiểu được toàn bộ một lệnh? Ví dụ, khi chúng ta truyền chỉ thị “OFF”, làm thế nào ESP8266 có thể nhận biết liệu lệnh có phải là “O”, “OF” hoặc “OFF” hay không?
Khi gửi một lệnh, Ứng dụng Bluetooth thêm ký tự xuống dòng ('\\n') bằng cách chọn tùy chọn “newline” trên ứng dụng. ESP8266 đọc dữ liệu cho đến khi gặp ký tự xuống dòng. Ký tự xuống dòng đóng vai trò là dấu phân cách lệnh.
Nếu bạn thấy ứng dụng Bluetooth Serial Monitor hữu ích, vui lòng đánh giá 5 sao trên Play Store. Sự ủng hộ của bạn được đánh giá cao!
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.