藍(lán)牙技術(shù)在單片機(jī)控制中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
(1)藍(lán)牙技術(shù)是一種無(wú)線數(shù)據(jù)傳輸技術(shù),在短距離無(wú)線數(shù)據(jù)傳送中有很大的應(yīng)用需求。藍(lán)牙無(wú)線通信在單片機(jī)應(yīng)用系統(tǒng)中可以實(shí)現(xiàn)兩個(gè)單片機(jī)串口之間的無(wú)線通信,也可實(shí)現(xiàn)手機(jī)和單片機(jī)之間的無(wú)線通信,并能實(shí)現(xiàn)雙向數(shù)字傳輸,這就給單片機(jī)無(wú)線控制和應(yīng)用提供了新的方法。
在單片機(jī)中應(yīng)用藍(lán)牙技術(shù),可以實(shí)現(xiàn)近程無(wú)線通信,搭建藍(lán)牙新功能的單片機(jī)系統(tǒng)應(yīng)用平臺(tái),可以為單片機(jī)開發(fā)應(yīng)用技術(shù)增加新的內(nèi)容。
(2)本文使用的藍(lán)牙無(wú)線通信模塊是HC-05藍(lán)牙應(yīng)用模塊,它有兩種工作模式,即接收指令工作模式和自動(dòng)連接工作模式。在自動(dòng)連接工作模式下,模塊的工作模式有3種,分別為主機(jī)模式、從機(jī)模式和回環(huán)模式。常用的自動(dòng)連接工作模式分別是主機(jī)模式和從機(jī)模式配對(duì)進(jìn)行數(shù)據(jù)傳輸。選定使用的工作模式并再次上電后,模塊就會(huì)自動(dòng)按照設(shè)定好的工作模式進(jìn)行數(shù)據(jù)發(fā)送和接收。
模塊實(shí)物圖如圖1所示。
模塊引腳說(shuō)明如表1所示,電路原理圖如圖2所示。
2HC-05藍(lán)牙無(wú)線通信模塊的設(shè)置
HC-05藍(lán)牙無(wú)線通信模塊需要在設(shè)置后才能使用,具體的設(shè)置過(guò)程如下:
(1)首先要準(zhǔn)備UsB轉(zhuǎn)TTL模塊,將UsB轉(zhuǎn)TTL轉(zhuǎn)換模塊連接到電腦的UsB口上,然后利用串口調(diào)試助手進(jìn)行藍(lán)牙模塊的AT命令調(diào)試,這時(shí)藍(lán)牙模塊的工作方式是接收指令工作模式。
(2)UsB轉(zhuǎn)TTL模塊與HC-05的連接如圖3所示,UsB轉(zhuǎn)TTL模塊的RxD接HC-05藍(lán)牙無(wú)線通信模塊的TxD端,UsB轉(zhuǎn)TTL模塊的TxD接HC-05藍(lán)牙無(wú)線通信模塊的RxD端,然后兩個(gè)模塊的VCC端相連接,兩個(gè)模塊的GND端相連接。
圖3USB轉(zhuǎn)TTL模塊與HC-05的連接
(3)當(dāng)藍(lán)牙模塊的工作方式是接收指令工作模式時(shí),能執(zhí)行AT命令,用戶可通過(guò)串口調(diào)試助手向模塊發(fā)送各種AT指令,為模塊設(shè)定控制參數(shù)或發(fā)布控制命令。HC-05藍(lán)牙應(yīng)用模塊常用的AT指令詳細(xì)介紹如表2所示。
進(jìn)入命令響應(yīng)工作模式有兩種方法:)1)模塊上電,未配對(duì)情況下就是AT模式,波特率為模塊本身的波特率,默認(rèn)為9600,發(fā)送一次AT指令時(shí)需要置高一次PIО11;)2)PIО11置高電平后,再給模塊上電,此時(shí)模塊進(jìn)入AT模式,波特率固定為38400,可以直接發(fā)送AT指令。
置高一次PIО11是指在藍(lán)牙模塊中有一個(gè)小按鍵,按一下就置高一次PIО11。也就是說(shuō),第一種方法需要每發(fā)送一次AT指令按一次;而第二種方式是長(zhǎng)按的過(guò)程中上電,之后就無(wú)須再管了,直接發(fā)送AT命令即可。需要注意的是,兩種進(jìn)入命令響應(yīng)工作模式的方式使用的波特率是不一樣的,建議使用第二種方式。
怎么區(qū)分是否進(jìn)入了命令響應(yīng)工作模式呢?在藍(lán)牙模塊上有燈,當(dāng)燈快閃的時(shí)候,就是自動(dòng)連接工作模式;當(dāng)燈慢閃的時(shí)候,就是命令響應(yīng)工作模式。
(4)AT命令簡(jiǎn)介:進(jìn)入到命令響應(yīng)工作模式之后,就可以使用串口調(diào)試助手進(jìn)行藍(lán)牙調(diào)試了。需要注意的是,AT指令不區(qū)分大小寫,均以回車、換行結(jié)尾。
(5)藍(lán)牙模塊的配對(duì)設(shè)置:
1)設(shè)置第一個(gè)HC-05藍(lán)牙無(wú)線通信模塊。
串口調(diào)試助手xCОM將藍(lán)牙模塊1恢復(fù)默認(rèn)設(shè)置:AT+ОRGL,并發(fā)送。
設(shè)置藍(lán)牙模塊1配對(duì)碼,配置藍(lán)牙1的配對(duì)碼:AT+PsWD="0000",并發(fā)送。藍(lán)牙1與藍(lán)牙2的配對(duì)碼自己隨意設(shè)置,但必須一樣,這樣才能成功配對(duì)。
設(shè)置1主模式串口調(diào)試助手A,將藍(lán)牙A配置為從機(jī)模式:AT+RОLE=1,并發(fā)送。
藍(lán)牙模塊1綁定藍(lán)牙模塊2地址。AT+BIND=98d3,32,30d8ea,這個(gè)地址是查詢藍(lán)牙模塊2的地址后得出的數(shù)據(jù)。
確認(rèn)綁定地址,串口調(diào)試助手xCОM輸入:AT+BIND?設(shè)置串口波特率串口調(diào)試助手xCОM,設(shè)置藍(lán)牙1的串口波特率,輸入AT+UART=56700,0,0。
設(shè)置藍(lán)牙模塊1的連接模式為0,即AT+CMОDE=0。數(shù)據(jù)0的含義是藍(lán)牙連接模塊必須按照指定藍(lán)牙地址進(jìn)行連接,這樣第一個(gè)藍(lán)牙模塊1才能自動(dòng)連接第二個(gè)藍(lán)牙模塊2。
2)用另外一個(gè)串口助手設(shè)置另外一個(gè)HC-05。
與設(shè)置藍(lán)牙模塊1的方式相同,先恢復(fù)藍(lán)牙模塊2默認(rèn)設(shè)置。
設(shè)定藍(lán)牙模塊2配對(duì)碼,要與藍(lán)牙模塊1的配對(duì)碼相同。
設(shè)置藍(lán)牙模塊2為主模式,將藍(lán)牙模塊2配置為主機(jī)模式:AT+RОLE=0,并發(fā)送,因?yàn)榇饲八{(lán)牙模塊1已經(jīng)配置成為從機(jī)模式了。
查詢藍(lán)牙模塊2地址,查詢藍(lán)牙模塊2地址的AT命令是:AT+ADDR?發(fā)送得到藍(lán)牙2的地址:98d3:32:30d8ea,將這個(gè)地址返回給藍(lán)牙模塊1,這樣才能夠在藍(lán)牙1中使用指定地址連接模式。
設(shè)置串口波特率,設(shè)置藍(lán)牙模塊2的串口波特率,輸入AT+UART=56700,0,0。兩個(gè)藍(lán)牙模塊的串口波特率的設(shè)定要相同,如果使用串口調(diào)試助手發(fā)送和接收數(shù)據(jù),波特率可以是56700,這樣傳輸數(shù)據(jù)比較快速。如果使用藍(lán)牙模塊傳輸數(shù)據(jù),那么波特率最好使用9600,這樣傳輸數(shù)據(jù)比較穩(wěn)定。
(6)常規(guī)工作模式:重新上電后兩個(gè)藍(lán)牙模塊都進(jìn)入常規(guī)工作模式,各自的藍(lán)牙模塊會(huì)自動(dòng)搜索相同綁定地址的藍(lán)牙配對(duì)模塊,完成配對(duì)。之后,兩個(gè)藍(lán)牙模塊之間就能通過(guò)單片機(jī)的串行口傳遞主模塊發(fā)給從模塊的數(shù)據(jù)了。
3利用兩個(gè)HC-05藍(lán)牙無(wú)線通信模塊連接兩個(gè)單片機(jī)進(jìn)行串行通信
兩個(gè)HC-05藍(lán)牙無(wú)線通信模塊設(shè)置好之后,兩個(gè)單片機(jī)就可以像串口通信一樣使用HC-05藍(lán)牙無(wú)線通信模塊進(jìn)行單片機(jī)之間的數(shù)據(jù)傳送。兩個(gè)連接在各自單片機(jī)上的藍(lán)牙模塊傳輸單片機(jī)實(shí)時(shí)時(shí)鐘數(shù)據(jù)如圖4所示。通過(guò)HC-05藍(lán)牙無(wú)線通信模塊,可以實(shí)現(xiàn)單片機(jī)之間和單片機(jī)與外設(shè)之間的短距離無(wú)線數(shù)據(jù)傳輸,從而簡(jiǎn)化了單片機(jī)控制系統(tǒng)的接線,提高了單片機(jī)控制方式的多樣性、便捷性和智能化程度。
圖4兩個(gè)連接在各自單片機(jī)上的藍(lán)牙模塊傳輸單片機(jī)時(shí)鐘數(shù)據(jù)
4結(jié)語(yǔ)
通過(guò)兩個(gè)藍(lán)牙模塊的設(shè)置,可以實(shí)現(xiàn)單片機(jī)之間的無(wú)線短程通信,取消單片機(jī)串口之間需要導(dǎo)線連接的通信線路,提高單片機(jī)應(yīng)用的靈活性,有利于進(jìn)一步開發(fā)應(yīng)用各種單片機(jī)無(wú)線控制技術(shù)。