chapter 2 xbee無線傳輸

37
XBee 無線傳輸 Arduino 機器人研習 講師: 賴偉民

Upload: cavedu-education

Post on 15-May-2015

4.658 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

Page 1: Chapter 2 XBee無線傳輸

XBee 無線傳輸

Arduino 機器人研習

講師: 賴偉民

Page 2: Chapter 2 XBee無線傳輸

為什麼要用無線通訊?

1.設備間的通訊更靈活2.不受限於設備連結的長度

3.資料的運算不再受限於控制板

Page 3: Chapter 2 XBee無線傳輸

無線通訊模組

RF無線射頻

藍牙

RFID

XBee

WIFI

Page 4: Chapter 2 XBee無線傳輸

XBee 硬體介紹

Page 5: Chapter 2 XBee無線傳輸

硬體介紹

• XBee 硬體規格

– IEEE 802.15.4 ZigBee無線網路

– 非同步通訊裝置

– 工作電壓: 2.8-3.4 V

– 訊號發送消耗電流: 45-50mA

– 最大通訊速率250kbps

– 室內傳輸距離: 30公尺

– 室外傳輸距離: 100公尺

– 6個10-bits ADC輸入腳位及8個數位I/O腳位

Page 6: Chapter 2 XBee無線傳輸

硬體介紹

(1)互傳資料的XBee ID一定要相同

(2)發送和接收端名稱相反

ID:AAAA發送端(另一塊XBee):1234接收端(自己):5678

Data

ID:AAAA發送端(另一塊XBee):5678接收端(自己):1234

Page 7: Chapter 2 XBee無線傳輸

硬體介紹

• 一對多無線傳輸

ID:AAAA發送端(另一塊XBee):1234接收端(自己):5678

ID:AAAA發送端(另一塊XBee):5678接收端(自己):1234

ID:AAAA發送端(另一塊XBee):5678接收端(自己):1234

ID:AAAA發送端(另一塊XBee):5678接收端(自己):1234

Page 8: Chapter 2 XBee無線傳輸

XBee 硬體設定

Page 9: Chapter 2 XBee無線傳輸

XBee硬體設定

• XBee模組的設定需透過Digi公司開發的X-CTU軟體

– http://www.digi.com/support/productdetail?pid=3

352&osvid=57&type=utilities

Page 10: Chapter 2 XBee無線傳輸

XBee硬體設定

• XBee設定-步驟一

– 安裝XBee驅動程式

– 將XBee裝至XBee USB轉板上

– 連接電腦

– 開啟XBee設定程式

Page 11: Chapter 2 XBee無線傳輸

XBee硬體設定

• XBee設定-步驟二

– 選取連接XBee的USB COM點

– 確認下列設定

Baud: 9600

Flow Control: NONE

Data Bits: 8

Parity: NONE

Stop Bits: 1

– 按下Test/Query

Page 12: Chapter 2 XBee無線傳輸

XBee硬體設定

• 如果彈出的視窗如圖顯示,代表連線成功,按下OK

Page 13: Chapter 2 XBee無線傳輸

XBee硬體設定

• 如果彈出的視窗如圖顯示,代表有設定錯誤,請重新檢查一次

Page 14: Chapter 2 XBee無線傳輸

XBee硬體設定

• XBee設定-步驟三

– 點選Modem Configuration

– 點選Read並確認程式有顯示XBee的資訊

Page 15: Chapter 2 XBee無線傳輸

XBee硬體設定

• XBee設定-步驟四

– 將ID設定成AAAA

– 將DL(發送端)設定成5678

– 將MY(接收端)設定成1234

– 按下Write

– 設定完成

– 關閉程式後拔除USB

– 更換下一個XBee後,重覆上面的步驟

Page 16: Chapter 2 XBee無線傳輸

XBee 範例 : 無線聊天室

Page 17: Chapter 2 XBee無線傳輸

XBee 範例 : 無線聊天室

• 透過XBee無線傳輸裝置,在兩台電腦間互相傳遞訊息,並在X-CTU上顯示結果

Data

Page 18: Chapter 2 XBee無線傳輸

XBee 範例 : 無線聊天室

• 步驟一

– 兩兩成員之間互相配對相同的ID,以及相反的DL和MY

– 開啟X-CTU程式並連接

– 點選Terminal

Page 19: Chapter 2 XBee無線傳輸

XBee 範例 : 無線聊天室

• 步驟二

– 在下面的空白處輸入資料

(藍色字是送出的資料,紅色字是接收的資料)

Page 20: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

Page 21: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

• Arduino具備通訊用腳位

TX : 送出資料 RX : 接收資料

Page 22: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

• Serial.begin(鮑率);

– 開啟與裝置間的通訊,針對不同的裝置,在初始化時給予不同的鮑率值,例如與電腦的通訊設定成9600

<補>什麼是鮑率?鮑率是資料傳輸的速率,也就是每秒傳送的資料多寡,單位是bps(bits per second),常見的鮑率有1200、2400、4800、9600、38400等,較常用的是9600

Page 23: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

Serial.begin(9600);

Serial3.begin(9600);Serial2.begin(9600);Serial1.begin(9600);

Page 24: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

• Serial.available();

– 判別是否有資料正被輸入Arduino,如果有的話,此函

式會大於0;此指令較常用在判斷式的條件上

ex.if(Serial.available()>0){}

Page 25: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

• Serial.read();

– 當電腦或其它設備要送資料給Arduino時,可以用此函式接收,但輸入的值只限於ASCII碼上有的

ex.int c;c=Serial.read( );

Page 26: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

• ASCII

– 大部份的電腦都用8bits來儲存字元,因此用0到255這256個數字來對應不同的字元。

Page 27: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

• Serial.print(字串);

• Serial.println(字串);

– 用於將資料輸出給其它裝置,如果是輸出給電腦,寫法如上面所示:如果是從Arduino的1號和2號通訊接腳輸出給其它裝置,則需寫成:

Serial1.println(字串);Serial2.println(字串);

Page 28: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

• 輸出資料型態:

– Serial.println(a,DEC); 以10進位形式輸出

– Serial.println(a,HEX); 以16進位形式輸出

– Serial.println(a,BIN); 以2進位形式輸出

– Serial.println(a,OCT); 以8進位形式輸出

– Serial.println(a); 以字串形式輸出

Page 29: Chapter 2 XBee無線傳輸

Serial 通訊函式庫

• Serial.write();

– 將資料以ASCII的型式輸出(較舊的版本是用Serial.println( ,BYTE)來輸出ASCII的資料,新版的改用此函式)

ex.Serial.write(123); //根據ASCII表可知會輸出{Serial.println( );

Page 30: Chapter 2 XBee無線傳輸

XBee 範例 : PC與Arduino

Page 31: Chapter 2 XBee無線傳輸

XBee 範例 : PC與Arduino

• 透過XBee無線傳輸裝置,從電腦傳送資料給Arduino,並透過Arduino上的USB將資料回傳至電腦上的Serial Monitor

Page 32: Chapter 2 XBee無線傳輸

XBee 範例 : PC與Arduino

• 材料

– Arduino X 1

– XBee X 2

– XBee USB轉接板 X 1

– XBee Explorer轉板 X 1

– 麵包板 X 1

Page 33: Chapter 2 XBee無線傳輸

XBee 範例 : PC與Arduino

• XBee Explorer轉板

Dout: 從XBee送值給Arduino

Din : 接收Arduino傳給XBee的值

Page 34: Chapter 2 XBee無線傳輸

XBee 範例 : PC與Arduino

• 接線

將XBee USB轉接板連接至電腦

Page 35: Chapter 2 XBee無線傳輸

XBee 範例 : PC與Arduino

Page 36: Chapter 2 XBee無線傳輸

XBee 範例 : PC與Arduino

• 開啟XBee驅動程式

• 選擇正確的COM點

• 連線成功後點選Terminal

Page 37: Chapter 2 XBee無線傳輸

XBee 範例 : PC與Arduino