03 January 2013
先前講過arduino的基本介紹,
這篇要講如何綁上bluetooth shield到arduino上面!


首先要先介紹bluetooth shield上的pin腳,
先看到下圖,下圖中右邊有一排pin腳,
主要會用到前面4隻pin腳,
而4隻pin腳依序為:

  1. 5V:供電的(+)
  2. TX:傳送訊號
  3. RX:接收訊號
  4. 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幾就可以連線!





blog comments powered by Disqus