簡介
藍(lán)牙,顧名思義旷祸,藍(lán)色的牙齒耕拷,并不能用來咬人,而是一種無線數(shù)據(jù)傳輸標(biāo)準(zhǔn)托享。
HC-05和HC-06是現(xiàn)在使用較多的兩種藍(lán)牙模塊骚烧。兩者之間的區(qū)別是HC-05是主從一體機(jī),既能向自己的'主子'打小報(bào)告闰围,也可以接收下達(dá)的命令止潘;而HC-06只能工作在從機(jī)模式下,那就只能乖乖接收上級(jí)的命令啦辫诅。
在很多情況下凭戴,我們都想當(dāng)“霸道總裁”,讓下級(jí)乖乖聽話就OK了炕矮,不需要他多廢話么夫。那就用HC-06就夠了。
下面是HC-06的模塊示意圖:
可以看到它有4個(gè)引腳肤视,那么它接線如下:
在這里档痪,我并沒有使用Arduino的0,1號(hào)口,而是使用了兩個(gè)數(shù)字口邢滑。這樣就不會(huì)占用Arduino自身的串口腐螟。
AT模式
在按照上面的接線之后,HC-06會(huì)自動(dòng)進(jìn)入AT模式,在這個(gè)模式下乐纸,可以通過串口對(duì)藍(lán)牙模塊進(jìn)行一些諸如修改名稱衬廷、密碼的操作。
注意:AT命令一定要大寫汽绢,中間的+不可省略
指令 | 返回 | 功能 |
---|---|---|
AT | OK | 確認(rèn)連接 |
AT+VERSION | OKlinvorV1.8 | 查看版本 |
AT+NAMExxxx | OKsetname | 設(shè)置藍(lán)牙名稱 |
AT+PINxxxx | OKsetPIN | 設(shè)定密碼 |
---- | ---- | ---- |
AT+BAUD1 | OK1200 | 波特率設(shè)為1200 |
AT+BAUD2 | OK2400 | 波特率設(shè)為2400 |
AT+BAUD3 | OK4800 | 波特率設(shè)為4800 |
AT+BAUD4 | OK9600 | 波特率設(shè)為9600 |
AT+BAUD5 | OK19200 | 波特率設(shè)為19200 |
AT+BAUD6 | OK38400 | 波特率設(shè)為38400 |
AT+BAUD7 | OK57600 | 波特率設(shè)為57600 |
AT+BAUD8 | OK115200 | 波特率設(shè)為115200 |
其中xxx替換成自己想要的吗跋。
不建議設(shè)置更高的波特率,通信會(huì)不穩(wěn)定
/*
Name: Bluetooth.ino
Created: 2016/7/30 13:26:47
Author: Fing
*/
#include <SoftwareSerial.h>
//使用軟件串口宁昭,能講數(shù)字口模擬成串口
SoftwareSerial BT(8, 9); //新建對(duì)象跌宛,接收腳為8,發(fā)送腳為9
char val; //存儲(chǔ)接收的變量
void setup() {
Serial.begin(9600); //與電腦的串口連接
Serial.println("BT is ready!");
BT.begin(9600); //設(shè)置波特率
}
void loop() {
//如果串口接收到數(shù)據(jù)积仗,就輸出到藍(lán)牙串口
if (Serial.available()) {
val = Serial.read();
BT.print(val);
}
//如果接收到藍(lán)牙模塊的數(shù)據(jù)疆拘,輸出到屏幕
if (BT.available()) {
val = BT.read();
Serial.print(val);
}
}
連接Arduino,寫入程序寂曹。進(jìn)入串口哎迄,輸入AT,看看是不是有OK返回稀颁。
之后就可以愉快地使用HC-06模塊了芬失。
手機(jī)連接調(diào)試藍(lán)牙
通過SPP藍(lán)牙助手可以實(shí)現(xiàn)連接藍(lán)牙和與藍(lán)牙之間的通信楣黍。
我用的是unWired Lite匾灶,可以在Play市場上下載到。
有些國內(nèi)開發(fā)者也有相關(guān)的作品租漂,自行搜索便可阶女。