うしこlog
公開: 2015/08/25

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の外観

用意するもの

 TWE-Liteを使用するにあたって、必要なものを以下に示します。購入は、秋月などがよいと思います。

用意するもの個数
TWE-Lite DIP(トワイライト・ディップ)2つ
TWE-Lite R (トワイライタ)2つ
コイン電池ホルダ CH74-2032LF2つ
コイン電池 CR20322つ入り
ブレッドボード1つ (できれば2つ)
ブレッドボード ジャンパーワイヤ1セット
スイッチ1つ
LED1つ
抵抗(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を使用するために用意したもの

TWE-Liteの基本

ピン配置

 TWE-Liteは親機と、子機の双方向で無線通信をします。
親機と子機は回路の組み方で設定をすることができ、図3に示すモード設定ビット1(M1)をGNDに接続するだけで親機になります。なにも接続しないときは子機として動作します。厳密にはM3~M1の組み合わせで決まるため、表1をご覧ください。なお表中の「G」はGNDを示し、「0」は配線をしないという意味です。

 詳しいピン配置は図3の通りです。なお、この図はTWE-Lite公式ページであるTOCOS-WIRELESS.COMさんから拝借致しました。

TWE-Liteのピン配置
TWE-Liteのピン配置
モード設定ビット
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でLチカする基本回路図
TWE-LiteでLチカする基本回路図

 実際に作成した回路を以下に載せます。ブレッドボードが小さくてぎゅうぎゅう詰めですが、親機と子機は直接繋がっていません。

TWE-LiteでLチカする基本回路
TWE-LiteでLチカする基本回路

 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は消灯します。

TWE-Liteスイッチ押す前
スイッチ押す前

 一方、スイッチが押されたときには、DI1の電圧は0V(Low)なので、親機のDO1がLowになります。無線でDI1がLowという信号が親機に伝わり、DO1にLowが出力されます。LEDのアノードにはVccが接続されており、カソードにDO1が接続されているのでLEDは点灯します。

TWE-Liteスイッチ押したとき
スイッチ押したとき

 Twe-LiteでLチカするのは結構簡単にできましたね。次は、TWE-Lite Rの使い方を説明したいと思います。

TWE-Lite Rの使い方

TWE-Lite Rのドライバインストール

 TWE-Lite Rは、TWE-Liteにソフトウェアを書き込むときに使用するライタです。合わせてUSBケーブル(micro-B to A)も用意します。

TWE-LiteR
TWE-Lite Rの外観
TWE-LiteRとケーブル
TWE-Lite RとmicroBケーブル

 TWE-Lite Rとmicro-Bケーブルを接続します。このとき、TWE-LiteRは繋げないでください

TWE-LiteRとケーブル接続
TWE-Lite RとmicroBケーブルを接続

 次に、パソコンとTWE-Lite Rを接続します。Windows7を使用している場合は、接続したときにドライバが自動インストールされるので、ダウンロードする必要はありません。
Windows7以外のOSを使用している場合は、FTDI社からドライバを入手してください。
ここではWindows7での説明をしていきます。

TWE-LiteRのドライバインストール
TWE-LiteRのドライバインストール

TWE-Lite RとTWE-Liteの接続

 インストールが終わったら、パソコンがTWE-Lite Rを認識しているかの確認と、そのときのCOMポートを確認します。コンピュータを右クリック>プロパティ>デバイスマネージャ>ポートより、USB Serial Portがあることを確認し、かっこ内のCOM番号を確認します(図中ではCOM3)。

シリアルポートデバイスの確認
シリアルポートデバイスの確認

 パソコンからTWE-Lite Rを抜いて、TWE-LiteとTWE-Lite Rを接続します。下図の向きで、接続してください。

TWE-LiteとTWE-LiteR
TWE-Lite RとTWE-Liteの向き

 接続しましたが、ピンが奥まで入りませんでした。でも刺さっているのでよしとします。

TWE-LiteとTWE-LiteRの接続
TWE-Lite RとTWE-Liteの接続

TeraTermの設定

 パソコンからTeraTermを開きます。インストールしていない人はこちらからTeraTermをダウンロードしインストールして下さい。

 TeraTermを開いたらシリアルを選び、ポートには、先ほど確認したポート番号(ここではCOM3)を選択してOKを押します。

TeraTermでシリアルポートを選択
TeraTermでシリアルポートを選択

 TeraTerm上メニューの設定>シリアルポートより、シリアルポートの設定をします。ボー・レートは115200、データは8bit、パリティはnone、ストップは1bit、フロー制御はnone、を指定してOKを押します。

TeraTermシリアルポート設定
TeraTermのシリアルポートを設定

 TWE-Liteとの接続を切るには、TeraTermの上メニューからファイル>接続断を選択します。

TWE-Liteのインタラクティブモード

 TWE-Liteのインタラクティブモードの使い方を説明します。

 TeraTermのシリアルポート設定をしたら、TWE-Lite Rのリセットボタンを押します。

TWE-LiteRのリセットボタン
TWE-Lite Rのリセットボタン

 TWE-Lite Rのリセットボタンを押したら、TeraTerm上に何か文字列が表示されます。私の場合は、ERR Flashとエラー表示されましたが気にしません。バージョンを最新にしたら直るのかな。。

TWE-LiteRのリセットボタンを押したとき
TWE-Lite Rのリセットボタンを押したとき

 この状態で、キーボードの"+"ボタンを3回、0.5秒くらいの間隔で押すと、TWE-Liteのインタラクティブモードに入れます。

インタラクティブモード
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桁で指定します。
  • X : 再送回数で0 がデフォルト2回、1-9 が指定の回数、F が再送なし
  • Y : 送信出力を指定します。
    3が最強で2,1,0と1段階小さくなるたびに -11.5db出力が低下します。出力を制限し電波の有効伝達範囲を小さくしたい場合に使用します。
例えば 43 を指定すると再送4回、電波出力最強となります。
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'を押します。

アプリケーションIDの設定
TWE-LiteのアプリケーションIDの変更

 今回は、TWE-Liteの使い方とLチカの方法および、TWE-Lite Rの使い方とインタラクティブモードの説明をしました。

 次回は、ソフトウェアを書き込んで、シリアル通信をしたいと思います。

TWE-Liteソフトの書込みとシリアル通信へ >>