②Arduinoと接続
Arduino側 XBee側
Rx(0番) ⇔ Tx
Tx(1番) ⇔ Rx
5V ⇔ Vcc
GND ⇔ GND
④接続の確認
通信の設定があっていればペアリングが出来、RSSIの赤ランプが点灯する。
光らなかったら、設定が間違っているので、X-CTUで確認。
⑤シリアルモニタで確認
・シリアルポートをArduino側ではない方に設定し(今回はCOM9、ArduinoはCOM10)、「Hello New World!」が1秒ごとに出てくればOK
・PC⇔Arduino間の無線通信もこれで可能
⑥ ②をもう一つ作成、半固定抵抗、LED回路の作成
⑦送信側・受信側のプログラム
シリアル通信で難しい所は、文字と文字列の違いにある。
送信している「数値」は送信データとしては「文字列」であり、受信側にとっては「複数の文字」なる。
例: 送信データ:123(数値) 受信データ:'1'、'2'、'3'
しかし、Arduinoには便利なシリアル通信の関数がある。
String str = Serial.readStringUntil('a');
String strは文字列strを宣言、readStringUntil('a')は文字'a'の文字データが来るまでの文字列を配列に格納する。
例:送信データ:123a 受信データ:'1'、'2'、'3' 、’a’ strに格納される文字列:123
strに格納されたデータはtoInt()を使う。
int A=str.toInt();
int Aはint型Aを宣言、str.toInt();は数字文字列をint型に変換する。
例:strに格納されている文字列:123 Aに格納される数値:123
⑧とりあえず数値を1個送受信するプログラム
⑨2個数値を送受信する場合
⑩その他
無線技術は悪用されやすい、絶対に犯罪になるようなことはしてはいけません。