SSブログ

TWELITE標準アプリを使った簡易リモコン

 MONO TWELITE標準アプリを使ったシステムで、親機のある設定項目を子機モードのリモコンから信号を送る度にトグルで変え且つ親機からは現在の設定状態をリモコンに送り返してLED表示する仕様のものを作りました。
これは「各種動体検知装置に対応した統合型親機」で親機が検知時にメールやLINEで通知する機能のON/OFFをリモコンを使って行うために作ったものですが、方法は他の用途にも応用できるかもしれないので紹介します。

図1
TWELITEリモコン.jpg


 図1に「各種動体検知装置に対応した統合型親機」の検知通知機能のON/OFF用に作ったリモコン回路を示します。 写真はこちら

 TWELITEを標準アプリで使うと定期通信で電流消費をするためコイン電池電源では寿命が短くなってしまうので、送信時のみ電源を供給するような回路にしました。
スイッチを押すと一定時間(1.5秒程度) AO3401がONしてTWELITEに電源を供給します。AO3401のONから150mS程度*して2N7002がONしてDI1をLowにすると、TWELITEは検出信号を親機に送ると同時に親機から受信した4bitデータを反転してDO1~DO4に出力します。
*TWELITEは電源が立ち上がるとすぐに初回の定期通信が始まり100mS程度かかるので、DI1のLowにするタイミングは電源立ち上がりから150mS程度経過後になるようにしてあります。

 親機のTWELITEは改造した標準アプリを書き込んで使います。(後述)
正規の標準アプリでは 親機は間欠1秒受信モードの子機から信号を受信すると即座に4ビットのデータ(親機 DO1~DO4)を送り返すようになっていますが、改造標準アプリではこの送り返すデータ用変数を別途作ってその値(D1~D4)をUARTで設定できるようにしてあります。

 親機は検知通知モードがONの時は D4:0, D2:1、OFFの時はD4:1, D2:0をESP32からUART経由で設定しています。
・「各種動体検知装置に対応した統合型親機」ではD1, D3はセンサー子機の電源制御用に使用しているのでリモコン用にはD2, D4を使用しました。
・ON/OFFの状態を(D4,D2) = (0,1) / (1,0)と2bitで扱っているのはリモコンのLED点灯を自然にするためで、LEDの一端をVccまたはGNDに接続する方法では電源遷移時に不要な発光が起きるので好ましくありません。

今親機が検知通知モードONの時にリモコン信号を受信すると即座にD4:0, D2:1を含むデータをリモコンに送り返し(リモコンでは反転してDO4:1, DO2:0になる)、その後ESP32はD4:1, D2:0に設定を変え検知通知モードをOFFにする内部処理を行います。
検知通知モードがOFFの時にリモコン信号を受信すると即座にD4:1, D2:0を含むデータがリモコンに送り返され(リモコンでは反転してDO4:0, DO2:1になる)、その後ESP32はD4:0, D2:1に設定を変え検知通知モードをONにする内部処理を行います。
すなわちリモコンのDO状態により親機の検知通知モードの状態は次のようになり、それに応じたLEDが短く点灯します。
DO4:0, DO2:1 => 検知通知モード ON  赤LED点灯
DO4:1, DO2:0 => 検知通知モード OFF  緑LED点灯


TWELITEの設定

 親機のTWELITEは改造した標準アプリに書き替えます。(TWELITE STAGE使用)
こちらの資料に基づいてソースコードを変更してコンパイルと書き込みを行うか、こちらのフォルダー内のBINファイルを用いて書き込むかしてください。
 
 リモコンのTWELITEはインターラクティブモードで定期通信間隔を10,000mSに変更します。(通電期間の1,500mS以上であればよいと思いますが念のため最大にしておく。)

 TWELITEは複数のチャンネルを使用できるようになっていますが、経験的に 子機の数が多いと1チャンネルで使用する場合より信号の取りこぼしが起きやすいように思います。 
また、親機が複数存在すると子機(リモコン)に送り返されるデータが異なったりする場合があり動作に支障を来すことがあります。
このような事からチャンネルは1チャンネルのみ指定し且つ混信しないようデフォルトチャンネルと異なる番号に設定するのが良いと思います。(インターラクティブモードで行う)


>> ブログ記事一覧へ
nice!(0) 
共通テーマ:趣味・カルチャー

nice! 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。