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.

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:

ESP8266 NodeMCU đèn LED Bluetooth

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.
sơ đồ nối dây LED Bluetooth ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Xem thêm Sơ đồ chân ESP8266Cá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.
sơ đồ mạch LED ble cho ESP8266 NodeMCU

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.

/* * Mã ESP8266 NodeMCU này được phát triển bởi newbiely.vn * Mã ESP8266 NodeMCU này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp8266/esp8266-control-led-via-bluetooth */ #include <SoftwareSerial.h> #define SOFT_RX D7 // The ESP8266 pin connected to the TX of the bluetooth module #define SOFT_TX D6 // The ESP8266 pin connected to the RX of the bluetooth module #define LED_PIN 8 SoftwareSerial bluetooth(SOFT_RX, SOFT_TX); void setup() { Serial.begin(9600); bluetooth.begin(9600); pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin as a digital output pin } void loop() { if (bluetooth.available()) { // if there is data comming String command = bluetooth.readStringUntil('\n'); // read string until meet newline character if (command == "LED OFF") { digitalWrite(LED_PIN, LOW); // turn off LED bluetooth.println("LED is turned OFF"); // reports action to smartphone app } else if (command == "LED ON") { digitalWrite(LED_PIN, HIGH); // turn on LED bluetooth.println("LED is turned ON"); // reports action to smartphone app } } }

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.
Ứng dụng giám sát Bluetooth serial
  • Kết nối ứng dụng Bluetooth với mô-đun HC-05 Bluetooth hoặc mô-đun HM-10 BLE.
ghép đôi Bluetooth serial monitor
  • 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
Ứng dụng màn hình nối tiếp Bluetooth
  • 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.
Ứng dụng giám sát nối tiếp Bluetooth

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.

Tham khảo Hàm