ホーム > Arduinoシールド > Arduino wireless SD Shield(アルドゥイーノ・ワイヤレスSDシールド)
Arduino wireless SD Shield(アルドゥイーノ・ワイヤレスSDシールド)
2,530円(税230円)
Arduino純正のワイヤレスSDシールドです。ワイヤレスSDシールドは、ワイヤレスモジュールを使用し、Arduinoボードをワイヤレスで通信することを可能にします。Digi社のXbeeモジュールの使用を想定していますが、同形状の他のモジュールを使用することもできます。モジュールは室内の場合100フィート(約30m)ほど、屋外の場合300フィート(約90m)ほどの距離を通信することができます(遮蔽物がない場合)。シリアルUSBの代替として使用できます。コマンドモードでの使用やブロードキャストやメッシュネットワークを構成するものとして使用することができます。 ワイヤレスSDシールドは、マイクロSDカードスロットを持っています。カードにアクセスするときはSDライブラリを使用します。Pin4はCSピンとして使用するため、他の用途で使用することはできません。SPIは11・12・13ピンが割り当てられます。 スイッチは、ワイヤレスモジュールとUSBシリアルコンバータとの通信やマイコンとの通信を切り替えを行います。 EAGLEファイル: http://arduino.cc/en/uploads/Main/arduino_WirelessShield_SD_v3.zip 回路図: http://arduino.cc/en/uploads/Main/arduino_WirelessShield_SD_v3-schematic.pdf 【スイッチ設定について】 ワイヤレスSDシールドには、Serial Selectと書かれたスイッチがあります。XBeeのシリアル通信がマイコン(ATmega8またはATmega168)とArduinoボードのUSBシリアルチップのシリアル通信とどのように接続するかを指定します。 MICRO側にスイッチがある場合、ワイヤレスモジュールのDOUTピンはマイコンのRXピンと接続され、ワイヤレスモジュールのDINピンはマイコンのTXピンと接続されます。ワイヤレスモジュールは、マイコンと通信することが可能になります。しかし、マイコンのRXピンとTXピンは、USBシリアルコンバータのTXピンとRXピンにも接続されています。マイコンからのデータは、ワイヤレスモジュールに送られるものと同じものがUSBを介してコンピュータに転送されます。このモードの場合、USBを介してマイコンをプログラムすることができません。 USB側にスイッチがある場合、ワイヤレスモジュールのDOUTピンはUSBシリアルコンバータのRXピンと接続され、ワイヤレスモジュールのDINピンはUSBシリアルコンバータのTXピンと接続されます。ワイヤレスモジュールが直接コンピュータと通信することができます。マイコンは迂回されます。このモードでシールドを使用することは、マイコンに下記のようなカラのスケッチを書き込む必要があり、またはArduinoボードから取り外す必要があります。 カラのスケッチ void setup ( ) { } void loop ( ) { } 【ネットワークの構築について】 ワイヤレスSDシールドは同じ形状の異なるXbeeモジュールで使用することができます。下記の工程はXBee802.15.4モジュール(シリーズ1と呼ぶ場合もあります。これは公式な名前や型番ではありません。)とXBee Znet2.5かXBee ZB(どちらもシリーズ2)用のものになります。すべてのモジュールは、基本的に同じ形状になっていますが、実装されている機能やネットワークの接続形態が異なります。同族のモジュール同士で通信することができます。 【アドレスの指定について】 2つのモジュールが正しく通信するために設定するパラメータが複数あります(初期設定で多くのモジュールは通信することができますが)。IDパラメータによって設定される同じネットワーク上にある必要があります(下記の機器設定の項目をご覧ください)。またCHパラメータで設定される同じチャネル上にもある必要があります。宛先アドレス(DHとDLパラメータ)は転送されるデータがネットワークやチャネルのどのモジュールが受け取るデータなのかを決定します。これに関していくつかの方法があります。 ・モジュールのDHがゼロでDLがoxFFFFより低いの場合、転送されたデータはMYパラメータとDLが同じなモジュールに受け取られます。 ・DHがゼロでDLがoxFFFFの場合、すべてのモジュールにデータが受け取られます。 ・DHがゼロではなくDLがoxFFFFより大きい場合、転送するモジュールの宛先アドレスと同じシリアルナンバーのモジュールに受け取られます(SHが転送するモジュールのDHと同じで、SLがDLと同じもの)。 アドレスのマッチングは同じネットワーク上の同じチャネルのモジュール間で行われます。2つのモジュールが異なるネットワークとチャネルの場合、アドレスに関係なく通信することができません。 シリーズ2のモジュールでは、コーディネータ、ルータ、またはエンドデバイスの機能性を与えるためにモジュールにどのファームウェアを入れるか選択する必要があります。シリーズ2モジュールはアドレスにシリアルLOW(SL)かシリアルHIGH(SH)のみ使用します。 【機器設定について】 XBeeモジュールの設定パラメータを紹介します。ATコマンドを使用した読み書きに関する方法は下記をご覧ください。 ・802.15.4モジュールとワイヤレスシールドに関するガイド: http://arduino.cc/en/Guide/ArduinoWirelessShield ・ZNet2.5モジュールとワイヤレスシールドに関するガイド: http://arduino.cc/en/Guide/ArduinoWirelessShield モジュールにコマンドを送る際にパラメータ名の前にATを追加してください(IDパラメータを読む場合、ATIDというコマンドを送るようにしてください。)。 コマンドについて ID:XBeeモジュールのネットワークID(0-0xFFFF、デフォルト値 3332) CH:XBeeモジュールのチャネル(0x0B-0x1A、デフォルト値 0x0C) SHとSL:XBeeモジュールのシリアルナンバ(SHは上位32ビット、SLは下位32ビット) (0-0xFFFFFFFF、デフォルト値は各モジュールで異なります。) MY:モジュールの16ビットのアドレス(0-0xFFFF、デフォルト値 0) DHとDL:無線通信のための宛先アドレス(DHは上位32ビット、DLは下位32ビット) (0-0xFFFFFFFF、デフォルト値は0) BD:Arduinoボードやコンピュータとのシリアル通信に使用するボーレート 0(1200bps)、1(2400bps)、2(4800bps)、3(9600bps)、4(19200bps)、5(38400bps)、6(57600bps)、7(115200bps)、デフォルト値は3(9600bps) ※ 上記の有効値やデフォルト値では0x (16進数を表す)を使用していますが、モジュールが返すパラメータ値には0xは含まれませんし、値を設定するときには0xを省略する必要があります。 RE:工場出荷時のデフォルト値を復元します。 (パラメータの変更のように恒久的なものではありません) WR:不揮発性領域に新しく設定を書き込みます。 モジュールの電源が無くなるまで継続します。 CN:コマンドモードを終了します。(数秒間、モジュールにコマンドを送らない場合、CNコマンドなしにコマンドモードはタイムアウトになり終了します。) さらに詳しいXBeeモジュールに関する情報は下記のマニュアルをご覧ください。 ・802.15.4モジュールについて: http://www.digi.com/products/wireless-wired-embedded-solutions/zigbee-rf-modules/zigbee-mesh-module/xbee-zb-module#docs ・ZBモジュールについて: http://www.digi.com/products/wireless-wired-embedded-solutions/zigbee-rf-modules/zigbee-mesh-module/xbee-zb-module#docs 本製品についての追加情報・詳細情報は下記ページ(英語)をご覧ください。 http://arduino.cc/en/Main/ArduinoWirelessShield