這篇要講如何綁上bluetooth shield到arduino上面!
首先要先介紹bluetooth shield上的pin腳,
先看到下圖,下圖中右邊有一排pin腳,
主要會用到前面4隻pin腳,
而4隻pin腳依序為:
- 5V:供電的(+)
- TX:傳送訊號
- RX:接收訊號
- GND:接地線(-)
而arduino板上也一定會有上述對應的pin腳,
基本上都插上去就可以,
不過有一點比較特別,
在於RX/TX的點,
Arduino板上的TX要接到Bluetooh shield上的RX,
Arduino板上的RX反而接到Bluetooth shield上的TX,
可以看到參考下面的表,
Arduino | Bluetooth Shield |
RX | TX |
TX | RX |
5V | 5V |
GND | GND |
對了,基本上arduino板上的RX/TX都是預設pin0和pin1!
至少uno和duemilanove這兩塊板子上都是!
所以就差在對應上的pin0和pin1吧!
(當然你也可以插在別的pin腳上,但是在寫code時就得稍為設定)
差上去以後,基本上你的bluetooth shield會一直閃紅燈,
一直閃一直閃,直到有人連結上這台bluetooth上,紅燈才會恆亮!
接著來寫個sample測試!
int iLedPin = 13;
void setup(){
// define the PIN as OUTPUT
pinMode(iLedPin ,OUTPUT);
// using baud rate 9600 to listen.
Serial.begin(9600);
}
void loop(){
while (Serial.available()){
char cCmd = Serial.read();
if (cCmd =='o'){
digitalWrite(iLedPin,HIGH);
}else if (cCmd == 'c'){
digitalWrite(iLedPin,LOW);
}
}
}
把上述的code deploy進去arduino以後,
就可以用你的電腦來測試了!
不管你是windows,osx,linux,只要你的OS連接到藍牙以後,
都會被模擬成serial port!
所以如果你用的是linux或者mac,
你會發現在你的/dev/底下多了一個device,
像我的就是/dev/tty.KENarduino-DevB,
那麼就可以用下列的指令連結到你的藍牙了,
sudo cu -s 9600 -l /dev/tty.KENarduino-DevB
如果連結成功應該會在你的terminal上看到下列字樣
Connected
那麼就代表你成功連結到藍牙裝置,就可以透過藍牙下指令給arduino了!
最後可以試著輸入o和c,然後觀察你的pin13那顆led有無變化!
PS:如果你用的是windows,直接去載putty吧!透過putty去連結藍芽,只要輸入你的藍牙是COM幾就可以連線!