中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
如何使用Arduino和HM

藍(lán)牙是最受歡迎且易于使用的無線技術(shù)之一。幾年來,藍(lán)牙標(biāo)準(zhǔn)進(jìn)行了許多升級,以跟上當(dāng)前正在發(fā)生的技術(shù)改變與未來技術(shù)的步伐,并滿足用戶的需求。從藍(lán)牙1.0版本到藍(lán)牙5.0版本,有很多變化,包括更高的數(shù)據(jù)速率,能夠用于物聯(lián)網(wǎng)的低電流消耗,提高安全性等。要學(xué)習(xí)藍(lán)牙通信,可以使用許多模塊,這些模塊可以與微控制器連接。其中一種藍(lán)牙模塊是HM10,它基于藍(lán)牙4.0。


什么是HM10 BLE 4.0模塊?

HM10是一個串行BLE模塊(藍(lán)牙低功耗),旨在用于低功耗應(yīng)用,即使使用硬幣大小的電池也可以持續(xù)很長時間。 HM10是基于Texas Instruments CC2540或CC2541 BLE系統(tǒng)SoC(片上系統(tǒng))的藍(lán)牙4.0模塊。該模塊的固件和設(shè)計由濟(jì)南華茂科技制作和管理。該模塊帶有串行/ UART層,使器件能夠與不同的微控制器接口。 HM10非常適合創(chuàng)建簡單連接并與iBeacon一起使用或作為iBeacon使用。


HM10已經(jīng)成為非常流行的藍(lán)牙4.0 BLE模塊。 HM10僅是一個基于藍(lán)牙4.0的模塊,因此不會連接藍(lán)牙2 / 2.1模塊,如HC-05、HC-06和其他藍(lán)牙模塊。 HM10通過串行UART連接發(fā)送的AT命令控制。


HM10與其他藍(lán)牙模塊的區(qū)別

HM10的主要區(qū)別是藍(lán)牙版本。 HM10是藍(lán)牙4.0模塊,因此它具有所有藍(lán)牙4.0版功能,如速度、吞吐量和范圍。 HM10提供高達(dá)24 Mbps的數(shù)據(jù)速率和低能耗/低功耗。除此之外,HM10在開放空間中提供100米的距離。與其他藍(lán)牙模塊(如基于藍(lán)牙2.0的模塊HC-05)相比,HM10的性能確實(shí)優(yōu)于HC-05。與HM10相比,HC-05只能提供3 Mbps的速度。


藍(lán)牙模塊HC-05和HC-06仍然在創(chuàng)客和業(yè)余愛好者中非常受歡迎,因為它們便宜且易于連接。我們還使用HC-05/06制作了許多項目,并將它們與許多其他微控制器連接:

●    使用HC-05藍(lán)牙模塊控制Arduino開發(fā)板

●    Arduino開發(fā)板使用HC05藍(lán)牙模塊入門


今天我們將HM-10 BLE模塊連接到Arduino Uno開發(fā)板,以使用藍(lán)牙協(xié)議無線控制LED。開/關(guān)命令將由智能手機(jī)發(fā)送。


需要的組件

●     Arduino UNO開發(fā)板

●     HM10藍(lán)牙模塊

●     電阻(1kΩ、470Ω)

●     跳線

●     Arduino IDE

●     Arduino藍(lán)牙控制器(HM-10模塊)Android應(yīng)用程序

●     Android智能手機(jī)


電路原理圖

Arduino開發(fā)板與HM-10藍(lán)牙模塊連接的電路圖非常簡單,如下所示。


在開始項目之前,請確保您的HM-10模塊是真正的HM-10模塊。市場上有很多HM-10模塊的克隆版本。要確定原裝和克隆HM-10模塊之間的區(qū)別,只需在HM-10板上查看32KHz的晶振。如果有晶振,那么它是一個原裝的HM-10模塊,您無需更改固件。相反,如果您沒有看到晶振,那么它就是克隆HM10模塊,您需要更改克隆HM-10模塊的固件。在不更改HM-10固件的情況下,既不能使用AT命令訪問HM-10模塊,也不能將其與智能手機(jī)配對。在這里我們也使用克隆模塊,因此我們在將其與Ardruino連接之前刷新了它的固件。


Arduino藍(lán)牙控制器(HM-10模塊)Android應(yīng)用程序

Arduino藍(lán)牙控制器(HM-10模塊)是一款A(yù)ndroid應(yīng)用程序,可在Google Play商店免費(fèi)下載。這個應(yīng)用程序具有易于使用的HM-10 BLE模塊接口。在測試時,它能夠快速找到HM-10并立即與HM-10連接。該應(yīng)用程序有一些很酷的功能,如您可以創(chuàng)建一個按鈕并使用自定義名稱和功能進(jìn)行自定義。在這里,我們將介紹如何在該藍(lán)牙控制器應(yīng)用程序中創(chuàng)建兩個按鈕,以打開和關(guān)閉與Arduino連接的LED。


以下是如何設(shè)置Arduino藍(lán)牙控制器(HM-10模塊)Android應(yīng)用程序的步驟:

?    從Google Play商店下載該應(yīng)用。

?    該應(yīng)用程序的主頁如下所示,您可以在其中找到許多功能,如連接設(shè)備、搜索圖標(biāo)、刪除圖標(biāo)、設(shè)備狀態(tài)、發(fā)送文本、添加模板等。首先通過單擊搜索圖標(biāo)或單擊搜索設(shè)備右上角有三個點(diǎn),然后選擇連接設(shè)備。


?    所有可用的設(shè)備都將顯示在這個界面上。選擇正確的HM-10模塊。

?    現(xiàn)在HM-10將成功連接,您將能夠在界面頂部看到HM-10的狀態(tài)。

?    現(xiàn)在,您可以在文本部分寫入要發(fā)送的內(nèi)容,然后點(diǎn)擊箭頭發(fā)送,直接發(fā)送文本或字符串,也可以創(chuàng)建自定義模板。

?    創(chuàng)建自定義模板可以節(jié)省時間。單擊右上角的“+”圖標(biāo)并填寫詳細(xì)信息。 “Name”是按鈕名稱,“Text”字段用于發(fā)送到HM-10的文本或字符串,“Description”只是按鈕說明按鈕的功能。

?    首先,創(chuàng)建一個用于打開LED的按鈕并將其設(shè)置為綠色。按鈕將向HM-10發(fā)送“N”字母,這將點(diǎn)亮連接到Arduino的LED。同樣為LED關(guān)閉創(chuàng)建一個按鈕,并為其指定紅色。 按鈕將向HM-10發(fā)送“F”字母,這將熄滅連接到Arduino的LED。


?    現(xiàn)在,您可以看到在文本字段正下方創(chuàng)建的兩個按鈕。現(xiàn)在,如果你想控制LED,那么只需點(diǎn)擊按鈕。

這樣就完成了設(shè)置android app來控制HM-10模塊。現(xiàn)在我們開始編程Arduino Uno開發(fā)板,從Android應(yīng)用程序獲取字符。


編程Arduino UNO使用HM-10藍(lán)牙模塊控制LED

在本文的末尾處給出了完整代碼。為這個項目編程Arduino UNO既不需要太多努力也不需要任何庫。您可以使用硬件串行和軟件串行庫。如果您使用的是軟件串口,則只需包含軟件串行庫,否則請繼續(xù)使用硬件串口。在本文中,我們使用的是SoftwareSerial。首先包含軟件串口庫。引腳Rx和Tx連接在Arduino的2和3引腳上。

  1. #include <SoftwareSerial.h>
  2. SoftwareSerial HM10(2, 3); // RX = 2, TX = 3

定義兩個變量用于存儲從HM10和Android app收到的數(shù)據(jù)。

  1. char appData;  
  2. String inData = '';

以9600波特率啟動硬件和軟件串口并打印一些調(diào)試語句。 LED引腳設(shè)置為輸出,初始狀態(tài)設(shè)置為OFF。

  1. Serial.begin(9600);
  2.   Serial.println('HM10 serial started at 9600');
  3.   HM10.begin(9600); // set HM10 serial at 9600 baud rate
  4.   pinMode(13, OUTPUT); // onboard LED
  5.   digitalWrite(13, LOW); // switch OFF LED

開始偵聽HM10端口并讀取字符串,直到HM10可用并發(fā)送數(shù)據(jù)。將數(shù)據(jù)保存在字符串中。

  1.   HM10.listen();  // listen the HM10 port
  2.   while (HM10.available() > 0) {   // if HM10 sends something then read
  3.     appData = HM10.read();
  4.     inData = String(appData);  // save the data in string format
  5.     Serial.write(appData);
  6.   }

要使用AT命令調(diào)試HM10,只需編寫下面的代碼行,該代碼行將字符串發(fā)送到HM10。

  1. if (Serial.available()) {           // Read user input if available.
  2.     delay(10);
  3.     HM10.write(Serial.read());
  4.   }

如果接收到的字符串為“F”,則在串口監(jiān)視器上打印消息,然后熄滅LED燈;如果接收到的字符串為“N”,然后在串行監(jiān)視器上打印消息,并以500ms的間隔閃爍LED。

  1. if ( inData == 'F') {
  2.     Serial.println('LED OFF');
  3.     digitalWrite(13, LOW); // switch OFF LED
  4.     delay(500);
  5.   }
  6.   if ( inData == 'N') {
  7.     Serial.println('LED ON');
  8.     digitalWrite(13, HIGH); // switch OFF LED
  9.     delay(500);
  10.     digitalWrite(13, LOW); // switch OFF LED
  11.     delay(500);
  12.   }

這完成了關(guān)于如何使用Arduino和BLE HM10 Blutooth 4.0模塊控制LED的完整內(nèi)容。再次記住,如果你有一個原裝的HM10模塊,那么你不需要重刷固件,可以立即使用。但如果您使用克隆的HM-10模塊,則在克隆HM10 BLE模塊上刷新固件。如果您有任何疑問或建議,請在本帖下面進(jìn)行回復(fù)。


代碼

以下是本文使用的完整代碼:

main.rar(543 Bytes)
(下載次數(shù): 14, 2019-6-13 09:58 上傳)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Phyphox用藍(lán)牙HC08反控Arduino
HC05藍(lán)牙模塊Arduino即插即用開發(fā)板
HC05藍(lán)牙模塊的使用
IoT
打開硬件交互世界的新大門,在UXD學(xué)設(shè)計入門硬件交互真太簡單太有趣了!
好玩又好做的智能語音控制機(jī)器人設(shè)計
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服