Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

315MHz帯通信モジュールIM315をArduinoで試す その1:Arduinoシールド編

IM315シリーズは"特定小電力無線"と呼ばれる帯域を使う通信モジュールです。
1:1からN:Mまで、スター型やクラスタツリー型のネットワークを構築可能。
送信専用のデバイスに至っては、なんとボタン電池一個で一年持つとかいう脅威の低消費電力。
通信距離も、見通し50m(公式による)、屋内でもドアを挟んで4m、遮蔽なしで15m程は飛びます。
ワザワザZigBeeみたいなものは使いたくないがリモートで接続したい場合……などには中々有用です。

実際のところ

構成

受/送信子機

どちらも同じ構成で行けます。

315MHz特定小電力無線 送受信モジュール IM315TRX

315MHz特定小電力無線 送受信モジュール IM315TRX

組み上がった装置はこんな感じ

デフォではD8、D9が通信に使われています。
また、D10がビジー状態用フラグ、D11がスリープ状態指定用フラグとして推奨されている様子。

ソフトウェア

とりあえず、受信器側で動作確認してみましょう。
"RDID"という機器固有IDを読み出す関数をコールしてシリアルに吐き出してみます。

#include <SoftwareSerial.h>

SoftwareSerial IM315Serial(8, 9); // ソフトウエアシリアル

void setup() {
 IM315Serial.begin(19200); // ソフトウエアシリアル 初期化
 Serial.begin(19200);
 pinMode(10, INPUT);       // Busy 信号 Pin10 入力
 while (!IM315Serial & !Serial ) { ; } //受信待機
 delay(1000);

 /* 機器固有IDを表示*/
 Serial.print("ID");

 IM315Serial.println("RDID");
  while (IM315Serial.available()) {
    readPacket();
  };
}

void loop() {
  ;
}