藍牙(ya)接(jie)口:如(ru)何(he)與藍牙(ya)模(mo)塊接口
- 發(fa)表時間:2021-10-09 08:21:35
- 來(lai)源(yuan):本站
- 人(ren)氣:950
當(dang)大(da)多數(shu)人(ren)開始使用(yong) Arduino 微控(kong)制器(qi)時(shi),他們(men)並(bing)不了(le)解(jie)所(suo)有的(de)擴(kuo)展(zhan)模塊(kuai)和擴展(zhan)板。雖(sui)然 Arduino Uno 是全球最受(shou)歡(huan)迎的(de)微控(kong)制器(qi)之(zhi)壹(yi),但(dan)它(ta)不具備藍牙(ya)接(jie)口功(gong)能(neng)。
實際(ji)上(shang),您(nin)可以購買(mai)帶(dai)有內置藍牙(ya)功(gong)能(neng)的(de)開(kai)發(fa)板,例如(ru) Arduino BT 或(huo) Raspberry Pi 4,它(ta)們(men)具有內置藍牙(ya)功(gong)能(neng)。然而,這(zhe)些板更貴、更笨(ben)重,而且在(zai)您(nin)的(de)項目(mu)中使(shi)用(yong)起來可能(neng)不太(tai)有(you)趣(qu)。那(na)麽,當(dang)您(nin)想為沒有藍牙(ya)連(lian)接的(de)微控(kong)制器(qi)添加(jia)藍牙(ya)連(lian)接時,您(nin)會怎麽做?
您(nin)最好的(de)選擇(ze)是將(jiang)其與藍牙(ya)模(mo)塊連接。因(yin)此(ci),本指南(nan)將(jiang)向您(nin)展(zhan)示如(ru)何(he)將(jiang)微控(kong)制器(qi)與藍牙(ya)模(mo)塊連接。這(zhe)將(jiang)允許您(nin)將(jiang)微控(kong)制器(qi)無(wu)線(xian)連接(jie)到(dao)支持藍(lan)牙(ya)的(de)設備,例如(ru)智能(neng)手機和計(ji)算(suan)機(ji)。
什麽(me)是藍(lan)牙(ya)接(jie)口

藍牙(ya)傳感(gan)器、面包板(ban)和 Arduino Uno
今天,藍(lan)牙(ya)是世界(jie)上(shang)最普遍(bian)的(de)無(wu)線連(lian)接(jie)標準之(zhi)壹(yi)。我(wo)們(men)使(shi)用(yong)它(ta)在(zai)設備之(zhi)間傳輸和交(jiao)換(huan)數(shu)據(ju),藍牙(ya)接(jie)口描(miao)述(shu)了使(shi)用(yong)或啟用(yong)藍牙(ya)設備。雖(sui)然我(wo)們(men)使(shi)用(yong) Wi-Fi 等標準進(jin)行長(chang)距離連接,但(dan)我(wo)們(men)使(shi)用(yong)藍牙(ya)進(jin)行短距離連接和數(shu)據(ju)傳輸。但(dan)是,最(zui)新(xin)的(de)藍(lan)牙(ya)標(biao)準 (5.2) 可以達(da)到 400m,數(shu)據(ju)速(su)率為 2 Mbps。
我(wo)們(men)可(ke)以期待未來的(de)版(ban)本以更高(gao)的(de)閾(yu)值和吞吐量(liang)實現(xian)更遠(yuan)的(de)距離。然而,每(mei)次您(nin)使用(yong)手機傳輸數(shu)據(ju)或連接到(dao)另壹(yi)臺(tai)設備時(shi),本質(zhi)上(shang)都是藍(lan)牙(ya)接(jie)口。同樣,許多微控(kong)制器(qi)沒有內置藍牙(ya)功(gong)能(neng)。因(yin)此(ci),如(ru)果要實現(xian)與它(ta)們(men)的(de)藍(lan)牙(ya)接(jie)口,則(ze)需要擴展(zhan)它(ta)們(men)或(huo)添加(jia)另壹(yi)塊(kuai)板。
接(jie)下來(lai),我(wo)們(men)將(jiang)向您(nin)展(zhan)示如(ru)何(he)使(shi)用(yong)藍牙(ya)模(mo)塊向微控(kong)制器(qi)添加(jia)藍牙(ya)接(jie)口。
藍牙(ya)模(mo)塊及其工(gong)作原理

該藍牙(ya)模(mo)塊
藍牙(ya)模(mo)塊允許您(nin)將(jiang)微控(kong)制器(qi)和單(dan)板計(ji)算(suan)機(ji)與外(wai)部(bu)設備連(lian)接起來。我(wo)們(men)也(ye)可以將(jiang)它(ta)們(men)稱為藍牙(ya)傳感(gan)器。然而,只有在(zai)您(nin)的(de)主(zhu)板沒有任何(he)內置藍牙(ya)功(gong)能(neng)時才需(xu)要這(zhe)些設備。最(zui)常見的(de)藍(lan)牙(ya)模(mo)塊是 HC-05 和 HC-06。
當(dang)您(nin)購買(mai)藍(lan)牙(ya)模(mo)塊時,您(nin)會發(fa)現(xian)它(ta)在(zai)壹(yi)塊(kuai)方(fang)形的(de)藍(lan)色分線(xian)板(ban)上(shang)呈綠色矩(ju)形。分線(xian)板(ban)為藍牙(ya)模(mo)塊提(ti)供(gong)引(yin)腳(jiao),讓您(nin)可以快速(su)將(jiang)其插(cha)入面包板(ban)。
對(dui)於簡(jian)單(dan)的(de)應(ying)用(yong),HC-05 和 HC-06 在它(ta)們(men)的(de)從模(mo)式(shi)下(xia)工(gong)作相(xiang)同。但(dan)是,我(wo)們(men)建(jian)議您(nin)使用(yong) HC-05,因(yin)為它(ta)允許您(nin)在從模(mo)式(shi)和主(zhu)模式(shi)之(zhi)間切(qie)換(huan)。
相(xiang)比(bi)之(zhi)下,HC-06 只能(neng)作為從設備運(yun)行。
因(yin)此(ci),如(ru)果您(nin)想連(lian)接兩個(ge) Arduino 項目(mu),您(nin)需要壹(yi)個(ge) HC-05 藍牙(ya)模(mo)塊,以便它(ta)可(ke)以啟動藍牙(ya)連(lian)接並(bing)進(jin)行設置。
如(ru)果您(nin)查看藍牙(ya)模(mo)塊的(de)背(bei)面,您(nin)會發(fa)現(xian)引(yin)腳(jiao)分配的(de)標(biao)簽。在(zai)大(da)多數(shu)情(qing)況下,您(nin)只需要擔(dan)心(xin)電(dian)源(yuan)引(yin)腳(jiao)。主(zhu)要是VCC和地(di)(GND)。然而,除了這(zhe)些引(yin)腳(jiao)之(zhi)外(wai),我(wo)們(men)還有(you)數(shu)據(ju)引(yin)腳(jiao)——RXD 和 TXD。
RXD 接收(shou)數(shu)據(ju),TXD 發(fa)送(song)數(shu)據(ju)。如(ru)果您(nin)使用(yong)的(de)是 HC-05,您(nin)會註意(yi)到(dao) HC-06 沒有的(de)兩個(ge)引(yin)腳(jiao)。我(wo)們(men)將(jiang)這(zhe)些引(yin)腳(jiao)稱為使能(neng) (EN) 和狀態(tai)輸出(chu)引(yin)腳(jiao) (STATE)。您(nin)可能(neng)還會(hui)聽到(dao)人(ren)們(men)將(jiang)啟用(yong)引(yin)腳(jiao)稱為關(guan)鍵引(yin)腳(jiao)。
使用(yong)藍牙(ya)模(mo)塊時,需要特(te)別(bie)註(zhu)意(yi)電(dian)源(yuan)電(dian)壓。3.6 伏到(dao) 6 伏之(zhi)間的(de)任(ren)何電(dian)壓都是安(an)全的(de),數(shu)據(ju)引(yin)腳(jiao)需要 3.3 伏數(shu)字信號(hao)。
如(ru)何(he)將(jiang)藍牙(ya)模(mo)塊與您(nin)的(de) Arduino 項目(mu)和手機(ji)連(lian)接

藍(lan)牙(ya)傳感(gan)器
為了向您(nin)展(zhan)示藍(lan)牙(ya)接(jie)口的(de)工(gong)作原理,我(wo)們(men)提(ti)供(gong)了有(you)關(guan)如(ru)何(he)使(shi)用(yong)藍牙(ya)模(mo)塊將(jiang) Arduino 項目(mu)連接(jie)到(dao)手(shou)機的(de)基(ji)本教(jiao)程(cheng)。在(zai)嘗(chang)試(shi)此(ci)項目(mu)之(zhi)前(qian),您(nin)需要了解編碼(ma)和應用(yong)程序開發(fa)中的(de)壹(yi)些基本概念(nian)。此(ci)外(wai),使(shi)用(yong)Arduino IDE並(bing)將(jiang)草圖(tu)上(shang)傳到(dao) Arduino 微控(kong)制器(qi)的(de)經(jing)驗至關(guan)重要。
所需組件(jian)
藍(lan)牙(ya)模(mo)塊 HC-05 或藍牙(ya)模(mo)塊 HC-06
面包板(ban)
阿杜諾烏諾
2.2kΩ 電(dian)阻
5.7KΩ 電(dian)阻
實芯線
Arduino IDE 軟(ruan)件
指(zhi)示
設置硬(ying)件
從 Arduino Uno 上(shang)的(de) 5V 和 GND 引(yin)腳(jiao)連接電(dian)線(xian),將(jiang)它(ta)們(men)安(an)裝到面包板(ban)上(shang)的(de)電(dian)源(yuan)軌(gui)上(shang);然後將(jiang)它(ta)們(men)饋送(song)到您(nin)的(de)藍(lan)牙(ya)模(mo)塊,連接到(dao) VCC 和 GND 引(yin)腳(jiao)。
將(jiang) Arduino Uno 的(de)傳輸引(yin)腳(jiao)連接到(dao)面包板(ban),同時(shi)使用(yong)電(dian)阻器創(chuang)建(jian)與 GRAND 串聯的(de)分壓器。中(zhong)心應該斷(duan)開並(bing)連接(jie)到 RXC 引(yin)腳(jiao)。這(zhe)是因(yin)為藍牙(ya)模(mo)塊需要較低(di)的(de)傳輸電(dian)壓電(dian)平(ping)。
通過將(jiang)電(dian)線(xian)從 Arduino Uno 上(shang)的(de)接(jie)收引(yin)腳(jiao)穿過面包板(ban),為 HC-05 上(shang)的(de) TXD 引(yin)腳(jiao)供(gong)電(dian)。
如(ru)果您(nin)正(zheng)確(que)地(di)遵(zun)循上(shang)述(shu)接線(xian)步驟,您(nin)的(de)項目(mu)應該(gai)如(ru)下(xia)所(suo)示:

Arduino Uno 連接到 HC-05 模(mo)塊(kuai)
資料來源:維(wei)基共(gong)享(xiang)資源
設置軟件(jian)
為了讓我(wo)們(men)的(de)項目(mu)正(zheng)常運(yun)行,我(wo)們(men)需(xu)要編寫(xie)代(dai)碼(ma),讓我(wo)們(men)能(neng)夠偵聽數(shu)據(ju)並(bing)從藍(lan)牙(ya)源(yuan)接收數(shu)據(ju)。然後我(wo)們(men)將(jiang)使用(yong)我(wo)們(men)的(de)串行端(duan)口將(jiang)結果打(da)印(yin)回(hui)計(ji)算(suan)機(ji)。
所(suo)以(yi)我(wo)們(men)基(ji)本上(shang)將(jiang)這(zhe)個(ge)項目(mu)用(yong)作計(ji)算(suan)機(ji)的(de)藍(lan)牙(ya)接(jie)收器。因(yin)此(ci),我(wo)們(men)必(bi)須(xu)為藍牙(ya)終(zhong)端(duan)寫(xie)壹(yi)個(ge)草圖(tu)。

藍牙(ya)終(zhong)端(duan)草(cao)圖(tu)1
我(wo)們(men)需(xu)要使用(yong)壹(yi)些函數(shu)和類(lei)從 該(gai)軟件序列(lie)庫(ku)。它(ta)們(men)將(jiang)允許 Arduino 通過藍牙(ya)進(jin)行通信。因(yin)此(ci),您(nin)必須(xu)將(jiang)其包含在草圖中(zhong)。
導(dao)入庫(ku)後(hou),您(nin)需要指定用(yong)於發(fa)送(song)和接收(shou)數(shu)據(ju)的(de)串行引(yin)腳(jiao)。在上(shang)面的(de)示(shi)例中(zhong),我(wo)們(men)將(jiang)引(yin)腳(jiao) 9 用(yong)作接收引(yin)腳(jiao) (rxPin),將(jiang)引(yin)腳(jiao) 8 用(yong)作發(fa)送(song)引(yin)腳(jiao) (txPin)。
接下來(lai),使(shi)用(yong)我(wo)們(men)在(zai)上(shang)壹(yi)步(bu)中定(ding)義的(de)值(zhi)作為參(can)數(shu)實例化(hua)壹(yi)個(ge)軟件(jian)序列 (SoftwareSerial) 對(dui)象。在上(shang)面的(de)示(shi)例中(zhong),我(wo)們(men)將(jiang)軟件(jian)串行對(dui)象命名(ming)為 BTSerial。
接下(xia)來(lai),定義(yi)壹(yi)個(ge)名(ming)為 setup 的(de)新(xin)函數(shu)。它(ta)定(ding)義了(le)哪(na)些引(yin)腳(jiao)用(yong)於輸入和輸出(chu)。默(mo)認(ren)情(qing)況下,HC-05 藍(lan)牙(ya)模(mo)塊以 9600 波特(te)率與 Arduino 通信;我(wo)們(men)可(ke)以修改它(ta)。但(dan)是,我(wo)們(men)在(zai)示例中(zhong)保持不變(bian),因(yin)為它(ta)更接(jie)近(jin)準確(que)的(de)波特(te)率。
接(jie)下來,定(ding)義兩個(ge)用(yong)於消息的(de)字符(fu)串變量(liang)。最後(hou),創(chuang)建(jian)壹(yi)個(ge)帶有(you) while 循環的(de) Arduino 循(xun)環函數(shu)。我(wo)們(men)將(jiang)使用(yong)這(zhe)個(ge)循環(huan)來監聽 Arduino 和藍牙(ya)設備之(zhi)間的(de)任(ren)何通信。
如(ru)果 Arduino 收(shou)到(dao)任何(he)數(shu)據(ju),它(ta)將(jiang)打(da)印(yin)出(chu)來(lai),使(shi)用(yong)分號(hao)作為行終(zhong)止(zhi)符(fu)。

藍牙(ya)終(zhong)端(duan)草(cao)圖(tu)2
編寫(xie)草(cao)圖(tu)後(hou),您(nin)需要將(jiang)其上(shang)傳到(dao)您(nin)的(de) Arduino。接(jie)下來(lai),您(nin)需要將(jiang)手機(ji)與 Arduino 項目(mu)配對(dui),這(zhe)將(jiang)允許您(nin)的(de)手(shou)機與藍牙(ya)模(mo)塊進(jin)行通信。
與藍牙(ya)設備通信
當(dang)您(nin)使用(yong)按鈕開關(guan)打(da)開 Arduino 時(shi),您(nin)應該註意(yi)到(dao)藍(lan)牙(ya)模(mo)塊發(fa)出(chu)閃(shan)爍的(de)紅燈。這(zhe)表明(ming)它(ta)處於配對(dui)模式(shi)。您(nin)需要進(jin)入手(shou)機(ji)的(de)藍(lan)牙(ya)設置並(bing)掃描(miao)附(fu)近(jin)的(de)任(ren)何設備。
在(zai)可用(yong)設備下(xia),您(nin)應該會看(kan)到與您(nin)的(de)模(mo)塊相(xiang)關(guan)的(de)條目(mu)。選擇(ze)該(gai)條目(mu)並(bing)將(jiang)其與您(nin)的(de)手(shou)機配對(dui)。它(ta)會(hui)要求您(nin)提(ti)供(gong)配對(dui)代(dai)碼(ma)。配對(dui)碼(ma)通常為“1234”。現(xian)在(zai)您(nin)已將(jiang)設備配對(dui),您(nin)可以開始與其通信。但(dan)是,您(nin)需要壹(yi)個(ge)移動(dong)應用(yong)程序來執(zhi)行此(ci)操作。
導航到您(nin)手機的(de)應(ying)用(yong)程序商(shang)店並(bing)下載(zai)串行藍(lan)牙(ya)終(zhong)端(duan)應(ying)用(yong)程序。該應(ying)用(yong)程序需要壹(yi)個(ge)終(zhong)端(duan),允許您(nin)鍵入消(xiao)息(xi),然後將(jiang)它(ta)們(men)發(fa)送(song)到您(nin)的(de)項目(mu)。此(ci)外(wai),您(nin)還需(xu)要能(neng)夠查看從設備收(shou)到的(de)通知(zhi)。
確(que)保您(nin)決定(ding)使(shi)用(yong)的(de)應(ying)用(yong)程序與經(jing)典(dian)藍(lan)牙(ya)(Bluetooth Classic)兼(jian)容,否(fou)則(ze)可能(neng)不適(shi)用(yong)於您(nin)的(de)項目(mu)。
下載(zai)應(ying)用(yong)程序後,返(fan)回(hui)您(nin)的(de)計(ji)算(suan)機(ji),打(da)開 Arduino IDE 並(bing)打(da)開藍(lan)牙(ya)草(cao)圖的(de)串行監視器。確(que)保串行監視器使用(yong) 9600 波特(te)或您(nin)之(zhi)前(qian)指定(ding)的(de)波特(te)數(shu)。
回(hui)到手機上(shang)的(de)藍(lan)牙(ya)終(zhong)端(duan)應(ying)用(yong),選擇(ze)Arduino藍(lan)牙(ya)項目(mu)作為設備。連(lian)接後,您(nin)可以在終(zhong)端(duan)應(ying)用(yong)程序中鍵入壹(yi)條消(xiao)息(xi)。確(que)保在(zai)消(xiao)息末尾添加(jia)分號(hao) (;) 以(yi)表示消息(xi)結(jie)束(shu)。
如(ru)果它(ta)工(gong)作正(zheng)常,您(nin)應該會收(shou)到壹(yi)條消(xiao)息(xi),通知(zhi)您(nin) Arduino 項目(mu)已收(shou)到(dao)壹(yi)條消(xiao)息(xi)。此(ci)外(wai),該(gai)字母(mu)還應(ying)通過 Arduino IDE 的(de)串行終(zhong)端(duan)出(chu)現(xian)在(zai)您(nin)的(de)計(ji)算(suan)機(ji)屏(ping)幕上(shang)。
概括(kuo)
在上(shang)述(shu)指南(nan)中,我(wo)們(men)簡(jian)要探討了藍(lan)牙(ya)與微控(kong)制器(qi)的(de)接(jie)口。我(wo)們(men)提(ti)供(gong)了壹(yi)個(ge)簡單(dan)的(de)教(jiao)程(cheng),該(gai)教(jiao)程(cheng)說明(ming)了(le)藍牙(ya)模(mo)塊的(de)工(gong)作原理,以幫助您(nin)擴展(zhan)微控(kong)制器(qi)的(de)功(gong)能(neng)並(bing)與之(zhi)交(jiao)互。壹(yi)旦了(le)解(jie)了(le)基(ji)礎知(zhi)識(shi),就可以(yi)制(zhi)作更復(fu)雜的(de)項目(mu)。例如(ru),您(nin)可以添加(jia)按鈕、板(ban)載(zai) LED 或(huo)直(zhi)流(liu)電(dian)機(ji)。您(nin)甚(shen)至可以(yi)使(shi)用(yong)它(ta)通過電(dian)子(zi)郵(you)件(jian)發(fa)送(song)帖子(zi)。盡(jin)管如(ru)此(ci),我(wo)們(men)希(xi)望您(nin)發(fa)現(xian)本指南(nan)對(dui)您(nin)有所幫助。壹(yi)如(ru)既(ji)往(wang),感謝(xie)您(nin)的(de)閱(yue)讀。
【上(shang)壹(yi)篇(pian):】運(yun)算(suan)放(fang)大(da)器(qi)遲滯(zhi):終(zhong)極(ji)指南(nan)
【下壹(yi)篇(pian):】RTC 模塊(kuai):簡單(dan)項目(mu)的(de)絕(jue)對(dui)指南(nan)
- 2025-02-20深(shen)圳SMT貼片加(jia)工(gong)如(ru)何(he)計(ji)算(suan)報價?
- 2025-12-31如(ru)何(he)科學評估與投資PCBA智能(neng)工(gong)廠?ROI測算(suan)與關(guan)鍵自動化設備選型指(zhi)南
- 2025-12-30元器件(jian)國(guo)產化(hua)替代(dai)進(jin)入深(shen)水(shui)區(qu),在PCBA加(jia)工(gong)中如(ru)何(he)進(jin)行系統性的(de)驗證(zheng)與導入?
- 2025-12-30經(jing)濟(ji)周(zhou)期中,PCBA加(jia)工(gong)企(qi)業(ye)如(ru)何(he)通過產品(pin)與客戶結(jie)構調(tiao)整(zheng)實現(xian)逆勢(shi)增(zeng)長(chang)?
- 2025-12-26PCBA來(lai)料質(zhi)量(liang)風險(xian)轉移,JDM模式(shi)與傳統代(dai)工(gong)模式(shi)的(de)責(ze)任邊(bian)界(jie)如(ru)何(he)界(jie)定?
- 2025-12-26PCBA加(jia)工(gong)企(qi)業(ye)的(de)技(ji)術護城(cheng)河(he)是什麽(me)?是工(gong)藝專利、設備集(ji)群還是供(gong)應鏈生態(tai)?
- 2025-12-26PCBA加(jia)工(gong)未來五(wu)年趨(qu)勢(shi):從傳統組裝到系統級封(feng)裝(SiP)的(de)技(ji)術躍遷
- 2025-12-26無鉛(qian)焊點(dian)在(zai)嚴(yan)苛環境(jing)下的(de)裂(lie)紋(wen)失效機理與工(gong)藝改善(shan)方(fang)案(an)咨(zi)詢
- 2025-03-11AI智能(neng)硬(ying)件的(de)趨(qu)勢是什麽(me)?
- 2025-03-11要做好SMT貼片加(jia)工(gong)需要註意(yi)哪(na)幾點(dian)?
- 1深(shen)圳SMT貼片加(jia)工(gong)如(ru)何(he)計(ji)算(suan)報價?
- 2如(ru)何(he)科學評估與投資PCBA智能(neng)工(gong)廠?ROI測算(suan)與關(guan)鍵自動化設備選型指(zhi)南
- 3元器件(jian)國(guo)產化(hua)替代(dai)進(jin)入深(shen)水(shui)區(qu),在PCBA加(jia)工(gong)中如(ru)何(he)進(jin)行系統性的(de)驗證(zheng)與導入?
- 4經(jing)濟(ji)周(zhou)期中,PCBA加(jia)工(gong)企(qi)業(ye)如(ru)何(he)通過產品(pin)與客戶結(jie)構調(tiao)整(zheng)實現(xian)逆勢(shi)增(zeng)長(chang)?
- 5PCBA來(lai)料質(zhi)量(liang)風險(xian)轉移,JDM模式(shi)與傳統代(dai)工(gong)模式(shi)的(de)責(ze)任邊(bian)界(jie)如(ru)何(he)界(jie)定?
- 6PCBA加(jia)工(gong)企(qi)業(ye)的(de)技(ji)術護城(cheng)河(he)是什麽(me)?是工(gong)藝專利、設備集(ji)群還是供(gong)應鏈生態(tai)?
- 7PCBA加(jia)工(gong)未來五(wu)年趨(qu)勢(shi):從傳統組裝到系統級封(feng)裝(SiP)的(de)技(ji)術躍遷
- 8無鉛(qian)焊點(dian)在(zai)嚴(yan)苛環境(jing)下的(de)裂(lie)紋(wen)失效機理與工(gong)藝改善(shan)方(fang)案(an)咨(zi)詢
- 9AI智能(neng)硬(ying)件的(de)趨(qu)勢是什麽(me)?
- 10要做好SMT貼片加(jia)工(gong)需要註意(yi)哪(na)幾點(dian)?




