ZigBee無線モジュールを使ったArduino制御の動作確認
デジタル屏風では音楽に光が連動する光音共演コンピュータの開発を行っています。光音共演コンピュータのPCとLEDの間を無線通信するということで、ZigBee S2Cを使った無線通信化を試みてきましたが、ようやく動作確認ができました。以下のようなシステム構成です。
今回使用したのはZigBee S2Cモジュールです。筆者が入手した書籍はS2をベースとしたものであり、後継製品であるS2Cと機能差があり、書籍中のサンプルプログラムがそのままでは動かないというのが障害でした。またZigbeeの動作モードに、Transparentモード、ATモード、APIモードの3つの動作モードがありますが、それぞれ用途に応じて使い分けるのですが、最終的には1対1の通信をシンプルに行うトランスペアレントモードを選定しました。APIモードを利用すれば1対多の通信が可能となり、光音共演コンピュータの場合、1台のPCから複数のLED装置に命令を送るという使い方ができるのですが、メッセージがエンベロップに格納され処理時間がそれなりにかかると想定され、送付先等の制御情報を必要とする等の理由のため、現時点では選択していません。
複数の書籍で登場していたWireless SDシールドはなくても動作しました。Xbeeのメッセージ入力(DIN)とメッセージ送信(DOUT)を、それぞれArduino側のD1(TX)とD0(RX)に接続することで、X-CTUのTerminalから、シリアルインタフェースを使って簡単にメッセージ送信ができました。
(ローカル側:ZigBee USB Explorer側;PCと接続)
(リモート側)X-CTUで入力した値によって、LEDの明るさがアナログ的に変わるのを確認しました。
動作確認成功のポイントは、XBee S2Cの動作確認をX-CTUのTerminalで事前に行ったことです。それぞれのXBee S2Cに対してX-CTUのTerminalからメッセージを入力し、他方のXbeeに出力されることを確認することで、無線でのデータ通信の確認ができたことが大きいです。
今回の確認を通して、光音共演コンピュータのLED部分をワイヤレス化して、自由におけるように工夫したいと思います。