#author("2019-04-21T23:00:50+09:00","default:qua","qua")
* Xbeeボード [#nada1392]
2台のArduinoどうしでXbeeによる通信が行える。
#ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/xbee.png)
[[製品情報:http://akizukidenshi.com/catalog/g/gM-07030/]]
** Arduinoへの装着 [#qb123ed0]
このボードはArduinoの0番から7番ピン、A0からA5ピンの上に装着する。このようなボードをArduinoのシールドという。0番、1番の2本のピン以外は、シールドの上の青色のピンで利用できる。また、Arduinoの電源(5V, 3.3V, Vin)が隠れてしまうが、ArduinoにはAREFピン(13番ピンの2つ隣)の内側に5Vのピンがある。
#ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/arduino.png,352x264)
#author("2019-04-21T23:18:04+09:00","default:qua","qua")

** 動作モード [#d0de256a]
ボードには2つのスイッチがついていて、動作を設定できる。
|赤|黄|動作|
|PROG|-|Arduinoにスケッチを書き込む|
|RUN|USB|PCとXbeeを直結する|
|RUN|Xbee|ArduinoとXbeeを接続する|
- PCとXbeeを直結させる場合~
XCTUなどを用いて、Xbeeの設定をするときに、このモードを用いる。
Arduinoに次のスケッチを書き込んでおく
 void setup(){}
 void loop(){}
次にXbeeボードの赤のスイッチをRUN、黄色のスイッチをUSBにして、Arduinoにボードを挿す。
この設定をすれば、XCTUで通信設定を行うことができる([[XCTUによる簡単な設定方法の説明:http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/pdf/xctu.pdf]])。~
また、Arduino IDEのシリアルモニタを立ち上げれば、PCを通してXbeeと通信を行うこともできる。

- Arduinoどうしを通信させる場合~
Xbeeボードの赤のスイッチをPROGにして、Arduinoに挿す。スケッチを書き込み、
ボードの赤のスイッチをRUN、黄色のスイッチをXbeeにして、通信を行う。

** プログラム [#kecab772]
2台のArduinoの0番ピンと1番ピンを交差して接続したのと同じ動作が行われるので、
ハードウェアシリアルのみを利用できる。
プログラムは[[シリアル通信>シリアル通信.]]と同様である。
*** 簡単な通信の例 [#ucb40d30]
一方のArduinoが0.5秒間隔でHとLの文字を送信する。他方のArduinoがそれを受信して、LEDを点灯、消灯する。
- 送信側
 setup(){
   Serial.begin( 9600 );
 }
 loop(){
   Serial.send( 'H' );
   delay( 500 );
   Serial.send( 'L' );
   delay( 500 );
 }
- 受信側
 const int LED_PIN=13;
 void setup(){
   Serial.begin( 9600 );
   pinMode( LED_PIN, OUTPUT );
   digitalWrite( LED_PIN, LOW );
 }
 byte state = LOW;
 void loop(){
   byte x;
   if( Serial.available() ){
     x = Serial.read();
     if( x=='H' ) state = HIGH;
     if( x=='L' ) state = LOW;
     digitalWrite( LED_PIN, state );
   }
 }


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS