|
TWE-Liteの標準アプリ[V1-06-17]でPWM周波数が個別に設定できるようになりました。
複数箇所の動体検知をする場合にアナログ入力を利用してNaPiOnの動体検知をすれば
PWM出力に接続した圧電スピカーの音程の違いでどこのNaPiOnが検知したか
すぐにわかるようにできないか考えてみます。
ついでに[V1-06-16]以降では子機の間欠受信モードがサポートされました。
この機能を使って必要な時以外は動体検知をお休みさせる機能も付けてました。
間欠受信モードは「TWE-Lite DIPを試す」のページで説明しています。 こちら
おまけとして動体検知しているTWE-Liteからちゃんと電波が受信できているか
確認できるようにもしてみました。単純なことですがこれはけっこう重要だったりします。
TWE-Lite DIPのバージョン
子機:V1-06-16 または V1-06-17 間欠受信モードで動作させます(Mode5)
親機:V1-06-17
オプションビット「z」でPWM周波数を任意に設定
↓設定例↓
a: set Application ID (0x67720102)
i: set Device ID (--)
c: set Channels (18)
x: set Tx Power (03) ← ここは「13」の方がいいかも
t: set mode4 sleep dur (1000ms) ← 間欠受信時間 標準は1秒
y: set mode7 sleep dur (10s)
f: set mode3 fps (32)
z: set PWM HZ (1000,2000,3000,4000) ← ここ
o: set Option Bits (0x00000000)
b: set UART baud (9600)
p: set UART parity (N)
動体検知のしくみ
NaPiOnが未検出の時は間欠1秒の場合、1秒ごとにAI1の入力レベル0Vが
親機に通知されます。子機の入力レベルが0Vなので親機のPWM出力はLoのままで
圧電スピーカーは鳴りません。
NaPiOnが検出中に次の間欠送信があればその時にAI1の入力レベル700mVが
親機に通知されます。(注1)
親機のPWM出力はおよそ50%Dutyの形波となり圧電スピーカーが鳴ります。(注2)
PWM出力の周波数を変えておくと、どのNaPiOnが検知したか音程でわかります。
動体検知お休みモード
子機は間欠受信モードなので間欠送信したらそのあと親機のポート状態を受信します。
ここで親機のSW-1をONにしておくと子機のDO1がLoとなり74C00の2Pinに接続することで
NaPiOnが検知しても子機のAI1の入力レベルは0Vのまま変化しないので
親機の圧電スピーカーは鳴りません。
SW-1をOFFすればNaPiOnが検知した時ふたたび親機の圧電スピーカーが
鳴るようになります。
電波が受信できているか生死確認
子機DI1をグランドに接続しておくだけの簡単な方法です。
親機は子機からの間欠送信でDO1がLoになりLEDが点灯します。
しかし電波が受信できなくてもDO1はLoのままでLEDは点灯しっぱなしです。
ここで親機をリセットすればLEDは消えますが1秒以内に再度LEDが点灯すれば
正しく電波が受信できていることになります。
親機の場所を変えた時などけっこう役にたちます・・・
このほかリセットスイッチはNaPiOnが検知して鳴ったブザーを止めることもできます。
ブザーを止めたあともNaPiOnが検知すればまたブザーが鳴ります。
TWE-Liteにはデジタル入出力ポートとアナログ入出力ポートがそれぞれ4ポートづつあるので
この構成だと4箇所までNaPiOnでの動体検知ができることになります。
この方式の注意点
アナログ入力を利用したNaPiOnの動体検知では注意しておくことがあります。
子機間欠モードではアナログ入力が変化してもTWE-LiteはWAKEUPしません。
あくまで間欠送信時(タイマーWAKEUP時)にアナログ入力電圧が親機に通知されます。
ですから間欠送信時にNaPiOnが検知している必要があります。
間欠送信の間の1秒間(標準は1秒)に一瞬検知したようなものは検出できません。
ですが間欠時間を3秒にして3秒以上検知していたら通知するといった使い方も
できることになります。
一瞬でもNaPiOnが検知した事を知りたければデジタル入力ポートを使う必要があります。
(注1)(注2)について
TWE-Liteのアナログ入力電圧はVCCが3V時に約700mVで
Dutyが50%のPWM出力が得られます。 参考はこちら
今回の回路では74C00の出力に33Kと10Kで分圧し約700mVになるようにしていますが
ToCoSticでモニタしてみるとアナログ入力電圧は172mV程度になっています。
これはNaPiOnの出力パルス幅が短いためになると思われます。
172mVだとDutyは20%程度になりますがDuty50%も20%も音の違いはほとんどありません。
圧電スピーカーについて
手持ちの圧電スピーカー(秋月電子で購入・品名不明)は3VでPWM出力に直接接続して
ほどほどの音で鳴りましたが物によってはトランジスタでのドライブが必要かもしれません。
またNaPiOnの子機が複数ある場合はまとめてトランジスタドライブがいいかも。
回路図をクリックするとそちらの回路も見ることができます。
NaPiOnが複数同時に検知したら
この方式では最大4箇所の検知ができますが、さてさて同時に検知してしまったら??
たとえば1000Hzと4000Hzが同時に鳴れば、これくらいなら聞き分けることができるかも
しれませんが4つ同時に鳴るとお手上げかも・・・
まあこんなことはあまりないかもしれませんが一工夫が必要かもしれませんね・・
動体検知のお休みモードは
親機のブザーにスイッチを付けて鳴らなくすれば簡単ですが
子機のNaPiOnが検知するとLEDライトが点灯するような回路を組んでいる時など
親機からLEDライトの制御もできるので便利かもしれません。
|