2台のArduinoどうしでXbeeによる通信が行える。
このボードはArduinoの0番から7番ピン、A0からA5ピンの上に装着する。このようなボードをArduinoのシールドという。0番、1番の2本のピン以外は、シールドの上の青色のピンで利用できる。また、Arduinoの電源(5V, 3.3V, Vin)が隠れてしまうが、ArduinoにはAREFピン(13番ピンの2つ隣)の内側に5Vのピンがある。
ボードには2つのスイッチがついていて、動作を設定できる。
赤 | 黄 | 動作 |
PROG | - | Arduinoにスケッチを書き込む |
RUN | USB | PCとXbeeを直結する |
RUN | Xbee | ArduinoとXbeeを接続する |
void setup(){} void loop(){}次にXbeeボードの赤のスイッチをRUN、黄色のスイッチをUSBにして、Arduinoにボードを挿す。 この設定をすれば、XCTUで通信設定を行うことができる(XCTUによる簡単な設定方法の説明)。
2台のArduinoの0番ピンと1番ピンを交差して接続したのと同じ動作が行われるので、 ハードウェアシリアルのみを利用できる。 プログラムはシリアル通信と同様である。
一方の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 ); } }