TWE-Liteの使い方とLチカ
今回の内容
超小型無線モジュールであるTWE-Lite DIPと、ライタであるTWE-Lite Rの簡単な使い方を説明します。今回はTWE-Lite2つをそれぞれ親機と子機として使用し、親機でスイッチを押している間のみ、子機に接続したLEDを点灯(Lチカ)させてみます。
TWE-Liteとは
TWE-Lite(トワイライト)とは、超小型無線モジュールで2.4GHz帯を使用してセンサなどからのデータをTWE-Lite間でやり取りすることができます。電源電圧は2.0~3.6Vで、省電力(送信時17mA, ディープスリープ時0.1uA)なだけではなく、通信距離は最長1kmにも達します。また、32bitマイコンを内蔵しているためADC,UART,I2Cなどを使用でき、自作のソフトウェアを開発することもできます。
TWE-Liteは、回路のみでセンサ等の情報を無線で通信することができるので、自分でソフトウェアを開発しなくても使えることが大きな特徴です。そのため、今回は、ソフトウェア開発ではなく回路のみで、親機からスイッチの情報を無線で送信し、子機でその情報を受信して親機がスイッチを押している間のみLEDを点灯させてみたいと思います。
TWE-Liteの外観は以下の図のような感じです。ひときわ目立つマッチ棒のようなものがアンテナです。実際に使用する場合は、このTWE-Liteは最低2つ必要になります。1つは親機として、もう1つは子機として使用します。
用意するもの
TWE-Liteを使用するにあたって、必要なものを以下に示します。購入は、秋月などがよいと思います。
用意するもの | 個数 |
---|---|
TWE-Lite DIP(トワイライト・ディップ) | 2つ |
TWE-Lite R (トワイライタ) | 2つ |
コイン電池ホルダ CH74-2032LF | 2つ |
コイン電池 CR2032 | 2つ入り |
ブレッドボード | 1つ (できれば2つ) |
ブレッドボード ジャンパーワイヤ | 1セット |
スイッチ | 1つ |
LED | 1つ |
抵抗 | (150Ωが適当だが) 30Ω 1つ |
micro-USBケーブル(microB to A) | 1つ |
TWE-Lite DIPは、無線通信のための子機と親機として使用するので2つ用意します。はんだ付けなどが必要のない完成品をおすすめします。
TWE-Lite Rは、TWE-Liteにソフトウェアを書き込むときに使用します。今回はソフトウェアを開発しないので必要ではありませんが、後々開発する予定なので購入します。
コイン電池は、TWE-Liteの電源に使用します。今回はTWE-LiteでLチカするので、基板となるブレッドボード、スイッチ、LED、抵抗も用意します。
写真には写っていませんが、TWE-Lite Rを使用する場合は、micro-USBケーブル(microB to A)も忘れずに用意してくださいね。
TWE-Liteの基本
ピン配置
TWE-Liteは親機と、子機の双方向で無線通信をします。
親機と子機は回路の組み方で設定をすることができ、図3に示すモード設定ビット1(M1)をGNDに接続するだけで親機になります。なにも接続しないときは子機として動作します。厳密にはM3~M1の組み合わせで決まるため、表1をご覧ください。なお表中の「G」はGNDを示し、「0」は配線をしないという意味です。
詳しいピン配置は図3の通りです。なお、この図はTWE-Lite公式ページであるTOCOS-WIRELESS.COMさんから拝借致しました。
M3 | M2 | M1 | モード名 | 機能 |
---|---|---|---|---|
O | O | O | 子機: 連続 | 常に受信状態になっています。入力の変化時に送信します。応答は速いですが、電池寿命が短くなります。 |
O | O | G | 親機: 連続 | 常に受信状態になっています。入力の変化時に送信します。応答は速いですが、電池寿命が短くなります。 |
O | G | O | 中継機: 連続 | 常に通信状態になっています。応答は速いですが、電池寿命が短くなります。 |
O | G | G | 子機: 連続0.03秒 |
常に受信状態になっています。0.03秒毎に入力の値を繰り返し送信します。応答は速いですが、電池寿命が短くなります。親機から子機への通信は遅くなります。 |
G | O | O | 子機: 間欠1秒 |
節電モードに入り、1秒毎に通信状態になります。連続モードより電池寿命が長くなりますが、応答に最大1秒かかります。親機からの制御は受けられません。 |
G | O | G | 子機: 間欠受信1秒 |
節電モードに入り、1秒毎に通信状態になります。連続モードより電池寿命が長くなりますが、応答に最大1秒かかります。親機からの制御を受けることが出来ます。 |
G | G | O | 未使用 | なし |
G | G | G | 子機: 間欠10秒 |
節電モードに入り、10秒毎に通信状態になります。電池寿命が最も長くなりますが、応答に最大10秒かかります。親機からの制御は受けられません。 |
親機-子機間のデータの流れ
デジタル入力とデジタル出力
親機のデジタル入力(DI1~4)は、子機のデジタル出力(DO1~4)に、対応する番号同士データを送信します。子機から親機に送信する場合も同様です。
アナログ入力とPWM出力
親機のアナログ入力(AI1~4)は、子機のPWM出力(1~4)に、対応する番号同士データを送信します。子機から親機に送信する場合も同様です。
シリアル信号
シリアル通信は、UARTシリアル信号RX,TXにより通信します。親機のRXで受信された信号を送信して、子機のRXで受信します。子機から親機に送信する場合も同様です。
TWE-LiteのLチカ回路
TWE-Lite2つを親機と子機として使用して、親機に接続したスイッチを押している間に、子機に接続したLEDを点灯させるためのLチカ回路を作成します。
まずは、コイン電池ホルダにコイン電池をセットします。コイン電池とコイン電池ホルダの"+"マークを確認してからセットします。
次に、作成する回路を見ていきます。TWE-Liteを購入したときに付属されていたプリントに、詳しく書いてましたのでそれを参考にします。なお図中の電池2つは、コイン電池1つで代用します。
実際に作成した回路を以下に載せます。ブレッドボードが小さくてぎゅうぎゅう詰めですが、親機と子機は直接繋がっていません。
TWE-Liteを親機として使用するにはM1(基板に10と書かれている)をGNDに接続すればよいです。M1に何も接続していない場合は子機となります。
この回路は、親機のDI1(基板に12と書かれている)に接続されたスイッチが押されたときに、子機のDO1(基板に18と書かれている)に接続されたLEDが点灯する動作をします。子機のDI1の信号が、親機のDO1に無線で送信されます。
スイッチが押されていないときにはDI1の電圧は3Vくらい(High)なので、親機のDO1がHighになります。無線でDI1がHighという信号が親機に伝わり、DO1にHighが出力されます。LEDのアノードにはVccが接続されており、カソードにDO1が接続されているのでLEDは消灯します。
一方、スイッチが押されたときには、DI1の電圧は0V(Low)なので、親機のDO1がLowになります。無線でDI1がLowという信号が親機に伝わり、DO1にLowが出力されます。LEDのアノードにはVccが接続されており、カソードにDO1が接続されているのでLEDは点灯します。
Twe-LiteでLチカするのは結構簡単にできましたね。次は、TWE-Lite Rの使い方を説明したいと思います。
TWE-Lite Rの使い方
TWE-Lite Rのドライバインストール
TWE-Lite Rは、TWE-Liteにソフトウェアを書き込むときに使用するライタです。合わせてUSBケーブル(micro-B to A)も用意します。
TWE-Lite Rとmicro-Bケーブルを接続します。このとき、TWE-LiteRは繋げないでください。
次に、パソコンとTWE-Lite Rを接続します。Windows7を使用している場合は、接続したときにドライバが自動インストールされるので、ダウンロードする必要はありません。
Windows7以外のOSを使用している場合は、FTDI社からドライバを入手してください。
ここではWindows7での説明をしていきます。
TWE-Lite RとTWE-Liteの接続
インストールが終わったら、パソコンがTWE-Lite Rを認識しているかの確認と、そのときのCOMポートを確認します。コンピュータを右クリック>プロパティ>デバイスマネージャ>ポートより、USB Serial Portがあることを確認し、かっこ内のCOM番号を確認します(図中ではCOM3)。
パソコンからTWE-Lite Rを抜いて、TWE-LiteとTWE-Lite Rを接続します。下図の向きで、接続してください。
接続しましたが、ピンが奥まで入りませんでした。でも刺さっているのでよしとします。
TeraTermの設定
パソコンからTeraTermを開きます。インストールしていない人はこちらからTeraTermをダウンロードしインストールして下さい。
TeraTermを開いたらシリアルを選び、ポートには、先ほど確認したポート番号(ここではCOM3)を選択してOKを押します。
TeraTerm上メニューの設定>シリアルポートより、シリアルポートの設定をします。ボー・レートは115200、データは8bit、パリティはnone、ストップは1bit、フロー制御はnone、を指定してOKを押します。
TWE-Liteとの接続を切るには、TeraTermの上メニューからファイル>接続断を選択します。
TWE-Liteのインタラクティブモード
TWE-Liteのインタラクティブモードの使い方を説明します。
TeraTermのシリアルポート設定をしたら、TWE-Lite Rのリセットボタンを押します。
TWE-Lite Rのリセットボタンを押したら、TeraTerm上に何か文字列が表示されます。私の場合は、ERR Flashとエラー表示されましたが気にしません。バージョンを最新にしたら直るのかな。。
この状態で、キーボードの"+"ボタンを3回、0.5秒くらいの間隔で押すと、TWE-Liteのインタラクティブモードに入れます。
TWE-Liteのインタラクティブモードで設定できる機能の一覧は以下の通りです。なお、TOCOS-WIRELESS.COMさんの表を参考にしました。
インタラクティブモードの一覧
コマンド | 機能 | 説明 | 初期値 | 対応バージョン |
---|---|---|---|---|
a | アプリケーションIDの設定 | 同一の周波数チャネルを複数のグループで使用することが可能です。値は32ビットで設定します。 | - | v1.0.2以降 |
b | UARTボーレートの設定 | 9600/19200/38400/57600/115200/230400が設定可能です。 | 38400 | v1.1.3以降 |
p | UARTパリティの設定 | N: 無し、O: Odd(奇数)、E: Even(偶数)を設定します。ストップビットは1で固定。ハードウェアフローは設定不可です。 | N | v1.1.3以降 |
c | 周波数チャンネルの設定 | チャネル (11~26) を選択します。複数チャネルを指定した場合は TOCOS チャネルアジリティにより電波干渉の回避に役立ちます。最大3チャネルまで指定可能です。例えばチャネル 13 とチャネル 22 を使用する場合は 13,22 と入力します。 ※ すべての親機・子機で同じチャネル設定にしてください。 |
18 | v1.0.2以降 |
x | 送信出力と再送回数の設定 | XYの2桁で指定します。
|
03 | v1.6.16以降 |
f | 子機連続0.03秒モードの送信回数の変更 | 標準で毎秒32回の送信回数を16回・8回・4回に設定できます。 | 32 | v1.0.2以降 |
t | 子機:間欠1秒モードの間欠時間の変更 | 標準で1秒=1000msの間欠時間を指定時間[ms]にします。100msから10000msの範囲で設定できます。 | 1000 | v1.0.2以降 |
y | 子機:間欠10秒モードの間欠時間の変更 | 標準で10秒の間欠時間を指定時間[秒]にします。2秒から10000秒の範囲で設定できます。 | 10 | v1.0.2以降 |
i | 論理デバイスIDの設定 | 子機の論理デバイスIDを設定します。1~100までの値を設定できます。122で中継機に設定できます。 | 自動 | v1.0.2以降 |
z | PWM周波数の設定 | 1~64KHzまでの範囲で設定できます。PWM1〜4に個別の値を指定できます。個別に設定する場合はカンマで区切って指定してください。(PWM1,PWM2,PWM3,PWM4) 値を一つだけ入力した場合はPWM1〜4全てに同じ値を設定します。 |
1kHz | v1.6.17以降 (v1.3.3以降では1~64KHzまでの範囲のみ設定可能) |
o | オプションビットの設定 | 各種詳細設定ができます。 | 0x00 | v1.3.3以降 |
S | 設定値の保存 | 設定を保存し、モジュールを再起動します。 | - | v1.0.2以降 |
R | 初期値にリセット | Rを押した後、S キーによる設定の保存を行ってください。 | - | v1.0.2以降 |
例えば、キーボード'a'を押すと、アプリケーションIDを変えることができます。そして設定したいアプリケーションIDを16進数32bitで入力します(入力例:11111111)。そしてEnterを押します。
変更を保存するにはキーボードの'S'を押します。
今回は、TWE-Liteの使い方とLチカの方法および、TWE-Lite Rの使い方とインタラクティブモードの説明をしました。
次回は、ソフトウェアを書き込んで、シリアル通信をしたいと思います。
TWE-Liteソフトの書込みとシリアル通信へ >> |