- Mô-đun HM10 BLE 4.0 là gì?
- Sự khác biệt giữa HM10 và các Mô-đun Bluetooth khác
- Thành phần bắt buộc
- Sơ đồ mạch
- Ứng dụng Android Bộ điều khiển Arduino Bluetooth (Mô-đun HM-10)
- Lập trình Arduino UNO để điều khiển đèn LED bằng Mô-đun Bluetooth HM-10
Bluetooth là một trong những công nghệ không dây phổ biến và dễ sử dụng nhất. Trong những năm qua đã có nhiều sự nâng cấp của chuẩn Bluetooth để bắt kịp với công nghệ đang phát triển hiện nay với công nghệ tương lai và đáp ứng nhu cầu của người dùng. Bắt đầu từ phiên bản Bluetooth 1.0 đến Bluetooth phiên bản 5.0, có nhiều thứ đã thay đổi bao gồm tốc độ dữ liệu cao hơn, khả năng được sử dụng cho IoT với mức tiêu thụ hiện tại thấp, bảo mật được cải thiện, v.v. Để học giao tiếp Bluetooth, có nhiều mô-đun có sẵn có thể giao diện với vi điều khiển. Mô-đun Bluetooth như vậy là HM10 dựa trên Bluetooth 4.0.
Mô-đun HM10 BLE 4.0 là gì?
HM10 là mô-đun BLE nối tiếp (Bluetooth-Low-Energy) được thiết kế để sử dụng cho các ứng dụng tiêu thụ điện năng thấp và có thể hoạt động lâu dài ngay cả với pin có kích thước bằng đồng xu. Các HM10 là một mô-đun Bluetooth 4.0 dựa trên Texas Instruments CC2540 hoặc CC2541 BLE hệ thống SoC (System on Chip). Phần sụn và thiết kế của mô-đun được tạo ra và quản lý bởi Jinan Huamao Technology. Mô-đun đi kèm với lớp nối tiếp / UART giúp thiết bị có thể giao tiếp với các bộ vi điều khiển khác nhau. HM10 lý tưởng để tạo các kết nối đơn giản và sử dụng nó với hoặc như một iBeacon.
HM10 đã trở thành một mô-đun Bluetooth 4.0 BLE rất phổ biến. HM10 chỉ là mô-đun dựa trên Bluetooth 4.0, vì vậy nó sẽ không kết nối với mô-đun Bluetooth 2 / 2.1 như HC-05, HC-06 và các mô-đun Bluetooth khác. HM10 được điều khiển thông qua các lệnh AT được gửi qua kết nối UART nối tiếp. HM-10 là mô-đun Bluetooth Low Energy (BLE), để biết thêm về BLE, hãy theo liên kết. Đồng thời tìm hiểu cách sử dụng mô-đun nRF24L01 làm mô-đun BLE với Arduino.
Sự khác biệt giữa HM10 và các Mô-đun Bluetooth khác
Sự khác biệt chính mà HM10 sở hữu là Phiên bản Bluetooth. HM10 là mô-đun Bluetooth 4.0, vì vậy nó đi kèm với tất cả các tính năng của Bluetooth Phiên bản 4.0 như tốc độ, thông lượng và phạm vi. Các HM10 Mời một tốc độ dữ liệu lên đến 24 Mbps với mức tiêu thụ năng lượng thấp / công suất thấp. Cùng với đó, HM10 cung cấp phạm vi khoảng cách 100 mét trong không gian mở. So với các mô-đun Bluetooth khác như HC-05 là mô-đun dựa trên Bluetooth 2.0, HM10 chắc chắn hoạt động tốt hơn HC-05. HC-05 chỉ cung cấp 3 Mbps so với HM10, khá ít hơn.
Mô-đun Bluetooth HC-05 và HC-06 vẫn rất phổ biến trong giới sản xuất và những người yêu thích vì chúng rẻ và dễ giao diện. Chúng tôi cũng đã thực hiện nhiều dự án sử dụng HC-05/06 và giao tiếp chúng với nhiều bộ vi điều khiển khác:
- Giao diện mô-đun Bluetooth với ESP8266: Điều khiển đèn LED
- Giao tiếp Bluetooth HC-05 với STM32F103C8 Blue Pill: Đèn LED điều khiển
- Giao tiếp mô-đun Bluetooth HC-05 với Bộ vi điều khiển AVR
- Giao tiếp Mô-đun Bluetooth HC-06 với Bộ vi điều khiển PIC
- Đèn LED điều khiển bằng giọng nói sử dụng Arduino và Bluetooth
- Đèn điều khiển bằng giọng nói sử dụng Raspberry Pi
Tất cả các dự án liên quan đến Bluetooth có thể được tìm thấy tại liên kết này.
Hôm nay chúng ta sẽ giao diện HM-10 BLE Module với Arduino Uno để điều khiển đèn LED không dây bằng giao thức Bluetooth. Các lệnh Bật / Tắt sẽ được gửi bằng điện thoại thông minh.
Thành phần bắt buộc
Phần cứng:
- Arduino UNO
- Mô-đun Bluetooth HM10
- Điện trở (1 kΩ, 470 Ω)
- Dây nhảy
Phần mềm:
- Arduino IDE
- Ứng dụng Android Bộ điều khiển Arduino Bluetooth (Mô-đun HM-10)
- Điện thoại thông minh Android
Sơ đồ mạch
Sơ đồ mạch kết nối Arduino và module Bluetooth HM-10 rất đơn giản như hình bên dưới.
Trước khi bắt đầu với dự án, hãy đảm bảo rằng mô-đun HM-10 của bạn là mô-đun HM-10 chính hãng. Hiện có rất nhiều mô-đun HM-10 nhân bản của Trung Quốc. Để xác định sự khác biệt giữa mô-đun HM-10 Chính hãng và Nhân bản, chỉ cần nhìn sự hiện diện của Bộ tạo dao động tinh thể 32KHz trên Bảng HM-10. Nếu có Bộ tạo dao động tinh thể thì đó là Mô-đun HM-10 chính hãng và bạn không cần thay đổi Phần mềm điều khiển. Nhưng nếu bạn không thể nhìn thấy Bộ tạo dao động tinh thể ở vị trí của nó thì đó là mô-đun HM10 được nhân bản và bạn cần thay đổi Phần mềm cơ sở của mô-đun HM-10 được nhân bản. Nếu không thay đổi phần sụn HM-10, bạn không thể truy cập mô-đun HM-10 bằng lệnh AT cũng như không thể ghép nối nó với điện thoại thông minh. Ở đây chúng tôi cũng đang sử dụng mô-đun sao chép vì vậy chúng tôi đã flash phần sụn của nó trước khi kết nối nó với Ardruino. Để thay đổi chương trình cơ sở của mô-đun HM-10 nhân bản, chỉ cần làm theo hướng dẫn của chúng tôi về Cách thay đổi hoặc cài đặt chương trình cơ sở của mô-đun nhân bản HM-10.
Ứng dụng Android Bộ điều khiển Arduino Bluetooth (Mô-đun HM-10)
Bộ điều khiển Bluetooth Arduino (Mô-đun HM-10) là một ứng dụng Android có sẵn miễn phí trên Cửa hàng Google Play. Ứng dụng này có giao diện dễ dàng và đơn giản cho Mô-đun HM-10 BLE. Trong khi thử nghiệm, nó có thể nhanh chóng tìm thấy HM-10 và kết nối ngay lập tức với HM-10. Ứng dụng có một số tính năng thú vị như bạn có thể tạo một nút và tùy chỉnh nó với tên và chức năng tùy chỉnh. Ở đây chúng tôi sẽ hướng dẫn cách tạo hai nút trong ứng dụng điều khiển Bluetooth này để bật và tắt đèn LED được kết nối với Arduino.
Cách thiết lập Bộ điều khiển Bluetooth Arduino (Mô-đun HM-10) Ứng dụng Android:
- Tải xuống ứng dụng từ Cửa hàng Google Play.
- Trang chủ của ứng dụng sẽ giống như bên dưới, nơi bạn có thể tìm thấy các tính năng như, kết nối Thiết bị, Biểu tượng tìm kiếm, Xóa biểu tượng, Trạng thái thiết bị, Gửi văn bản, Thêm mẫu, v.v. Bắt đầu tìm kiếm Thiết bị bằng cách nhấp vào Biểu tượng tìm kiếm hoặc nhấp vào vào ba dấu chấm ở góc trên bên phải và chọn kết nối Thiết bị .
- Tất cả các thiết bị có sẵn sẽ được hiển thị trên màn hình. Chọn đúng Mô-đun HM-10.
- Bây giờ HM-10 sẽ được kết nối thành công và bạn sẽ có thể thấy trạng thái của HM-10 ở Đầu màn hình.
- Giờ đây, bạn có thể trực tiếp gửi một văn bản hoặc Chuỗi bằng cách viết trên phần văn bản và nhấn mũi tên để gửi hoặc bạn có thể tạo một mẫu tùy chỉnh.
- Để tạo một mẫu tùy chỉnh để tiết kiệm thời gian. Nhấp vào biểu tượng “ + ” ở góc trên bên phải và điền các chi tiết. “ Tên ” là tên nút, trường “ Văn bản ” dành cho văn bản hoặc chuỗi sẽ được gửi đến HM-10 và “ Mô tả ” chỉ là mô tả nút về cách nút sẽ hoạt động.
- Đầu tiên, tạo một nút để BẬT LED và cung cấp cho nó Màu xanh lục. Nút sẽ gửi chữ cái “N” đến HM-10, nút này sẽ bật đèn LED được kết nối với Arduino. Tương tự, tạo một nút cho đèn LED TẮT và cung cấp cho nó Màu đỏ.. Nút sẽ gửi chữ cái “F” tới HM-10 để tắt đèn LED được kết nối với Arduino.
- Bây giờ bạn có thể thấy hai nút được tạo ngay bên dưới Trường Văn bản. Bây giờ nếu bạn muốn điều khiển đèn LED thì chỉ cần nhấp vào Các nút.
Điều này hoàn tất quá trình thiết lập ứng dụng Android để điều khiển mô-đun HM-10. Bây giờ chúng ta sẽ bắt đầu với lập trình Arduino Uno để lấy các ký tự từ Ứng dụng Android.
Lập trình Arduino UNO để điều khiển đèn LED bằng Mô-đun Bluetooth HM-10
Như mọi khi, chương trình hoàn chỉnh với video trình diễn có thể được tìm thấy ở cuối hướng dẫn này. Lập trình Arduino UNO cho dự án này không đòi hỏi nhiều nỗ lực cũng như bất kỳ thư viện nào. Bạn có thể sử dụng thư viện nối tiếp phần cứng và phần mềm. Nếu bạn đang sử dụng nối tiếp phần mềm thì chỉ cần bao gồm thư viện nối tiếp phần mềm, còn lại thì tiến hành nối tiếp phần cứng. Trong dự án này, chúng tôi đang sử dụng SoftwareSerial. Vì vậy, hãy bắt đầu với việc bao gồm Thư viện nối tiếp phần mềm. Các chân Rx và Tx được kết nối tại 2 và 3 chân của Arduino.
#include
Hai biến được sử dụng để lưu trữ dữ liệu nhận được từ HM10 và ứng dụng android.
char appData; Chuỗi inData = "";
Chỉ cần khởi động Serial Phần cứng và Phần mềm ở tốc độ 9600 baud và in một số câu lệnh gỡ lỗi. Chân LED được đặt làm đầu ra và ban đầu nó tắt.
Serial.begin (9600); Serial.println ("Sê-ri HM10 bắt đầu từ 9600"); HM10.begin (9600); // thiết lập nối tiếp HM10 ở 9600 tốc độ baud pinMode (13, OUTPUT); // LED tích hợp digitalWrite (13, LOW); // chuyển TẮT LED
Bắt đầu lắng nghe cổng HM10 và đọc chuỗi cho đến khi HM10 khả dụng và gửi dữ liệu. Lưu dữ liệu trong chuỗi.
HM10.listen (); // lắng nghe cổng HM10 while (HM10.available ()> 0) {// nếu HM10 gửi nội dung nào đó thì hãy đọc appData = HM10.read (); inData = String (appData); // lưu dữ liệu dưới dạng chuỗi Serial.write (appData); }
Để gỡ lỗi HM10 bằng lệnh AT, chỉ cần viết dòng mã dưới đây sẽ gửi chuỗi đến HM10.
if (Serial.available ()) {// Đọc thông tin nhập của người dùng nếu có. chậm trễ (10); HM10.write (Serial.read ()); }
Nếu chuỗi nhận được là “F” thì in thông báo trên màn hình nối tiếp và TẮT đèn led còn lại nếu chuỗi nhận được là “N” thì in thông báo trên màn hình nối tiếp và đèn led nhấp nháy với độ trễ 500ms.
if (inData == "F") { Serial.println ("LED TẮT"); digitalWrite (13, THẤP); // chuyển OFF LED delay (500); } if (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, CAO); // chuyển OFF LED delay (500); digitalWrite (13, THẤP); // chuyển OFF LED delay (500); }
Phần này kết thúc hướng dẫn đầy đủ về cách điều khiển đèn LED bằng Arduino và mô-đun Blutooth 4.0 BLE HM10. Một lần nữa hãy nhớ rằng , nếu bạn có mô-đun HM10 chính hãng thì bạn không cần phải flash phần sụn của nó mà có thể sử dụng ngay lập tức. Nhưng nếu bạn đang sử dụng mô-đun HM-10 nhân bản thì hãy flash chương trình cơ sở trên mô-đun HM10 BLE nhân bản. Nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào thì hãy bình luận bên dưới hoặc viết thư cho diễn đàn của chúng tôi.