Seeeduino bluetooth sheild (哪裡買

我買的PIN腳得自己焊上,

配的零件是剛剛好的不會剩下喔!

詳細規格請見 WiKi

K1010021-A

目標;

藍牙與手機連線,

手機傳值'O' ->LED on

手機傳值‘F' ->LED off

 

第一步:組裝Bluetooth Shield

Arduino 接上USB或DC電源後,

將焊好的Bluetooth Shield插在Arduino板上,

Bluetooth Shield一通電綠燈開始快閃,

此時藍牙不會開啟配對模式,

所以手機裝置不會搜尋到它.

 

第二步:上傳程式

我們設定腳位7為序列傳送腳(BT_TX)

     設定腳位6為序列接收腳(BT_RX)

DSC_0194  

#include <SoftwareSerial.h>

SoftwareSerial blueToothSerial(7,6);

int ledPin=13;
char val;

void setup(){
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
blueToothSerial.begin(9600);
blueToothSerial.print("BT is ready!");
setupBlueToothConnection();
}

void loop(){

if (blueToothSerial.available()) {
val=blueToothSerial.read();
Serial.println(val);

switch(val) {
case 'F':
digitalWrite(ledPin,LOW);
break;

case 'O':
digitalWrite(ledPin,HIGH);
break;

}
}
}


void setupBlueToothConnection()
{
blueToothSerial.begin(38400); // Set BluetoothBee BaudRate to default baud rate 38400
blueToothSerial.print("\r\n+STWMOD=0\r\n"); // set the bluetooth work in slave mode
blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n"); // set the bluetooth name as "SeeedBTSlave"
blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me
blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here
delay(2000); // This delay is required.
blueToothSerial.print("\r\n+INQ=1\r\n"); // make the slave bluetooth inquirable
Serial.println("The slave bluetooth is inquirable!");
delay(2000); // This delay is required.
blueToothSerial.flush();
}

參考網站

程式上傳後,

Bluetooth Shield會開始閃紅綠燈,

此時才開啟藍牙配對模式,

手機裝置才能找到它.

 

第三步:下載通用APP,控制LED

SSP App已經寫好藍牙配對與傳值程式,

雖然界面不怎麼親切,

但基本溝通的功能都有了.

在手機安裝好SPP APP後,

打開APP搜尋裝置,

此時Bluetooth Shield閃紅綠燈,

找到SeeedBTSlave -> 連接設備 -> 字節流模式

傳送“O"  ---> LED  亮 (大寫英文字母"O")

傳送“F"  ---> LED  暗  (大寫英文字母"F")

成功!!!

 

後記:

如果val一開始宣告為int,

手機app傳值的過程會出現一些難以預期的錯誤,

(因為藍牙建立汗斷開連線的過程會拋出一些值,如果和定義開關的值重複,就會造成錯誤)

在PC端打開Serial Monitor可以了解app和Bluetooth傳值的過程。

 

這個程式並沒有寫到當手機藍牙與Bluetooth Shield斷線後的動作,

所以當藍牙連線中斷後,

Bluetooth Shield並不會主動進入配對模式,

手機也就找不到它了,

最快的方式,

就是重新啟動Arduino,

Bluetooth Shield就會再次開啟配對模式.

 

 

LED開關APP下載

SPP丟值來控制LED比較不直覺,

上方APP將丟值‘O' 'F' 做成開關圖示了,

可以更直覺的控制開關。

另外此APP優化藍牙配對後,

下次使用可以快速建立連線的功能,

有興趣也可以試試喔! ^^

 

備註:測試 Arduino 1.5.8 beta 無法正常運行。

 

創作者介紹
創作者 EXdesign 的頭像
EXdesign

EXdesign

EXdesign 發表在 痞客邦 留言(0) 人氣( 1882 )