まず、オリジナル品の動作を調べてみる。
接点は底面に2個所あり、ここが導通するとスイッチが入るしくみである。
底板をはずすと、電池がある。リチウムボタン電池CR2016を使用している。
消費電流を測定してみると、動作時は約0.1A、通常はほとんど0に近い。
分解して、回路を調べてみた。
(なんとがっちり作られていることか! 中を開けるのにだいぶ傷つけてしまった・・・)
メインはカスタムICであるが、接点部分は個別部品でできていた。(右図)
P1とP2が導通すると、バイアス電流が流れ、Q1がオンになることでスイッチが入ると思われる。
ということは、P1を使わなくても、P2に(抵抗を通して)Vcc(3V)を加えれば、同様の動作をすることがわかる。

従って、明るさが変化した時に、ある時間のあいだP2にVccが加わるようにすればよい。
さて、回路設計である。

明るさの検出は、例によってCdS素子(光量で抵抗値が変化する素子)を使うことにした。

P2にVccを加える時間であるが、Q1が一度オンになれば、すぐオフになっても動作はするので、ずっと加えておく必要はない。ただし、短すぎてもダメな のだ。
上図R1とC1の値から考えると0.1sec以上は必要である。
これくらいの時間のパルスをつくるのは、わりとめんどうである。

やはり、ここでワンチップマイコンPICにご登場いただこう。
これを使えば、明るさの変化があったかどうかのぎりぎりで発生する不安定な状態も解決できる。
ついでだから、機能の選択ができるようにしよう。
明るくなったら 鳴く/鳴かない
暗くなったら 鳴く/鳴かない
の動作をスイッチでそれぞれ独立に設定することができることにした。(下図SW1,SW2)

SPASM (PASMX)によるソースリスト
<動作の説明>

1.明るさによってCdsの抵抗値が変化するので、R3との比により、IC1のRB7(#13)の入力電圧が変化する。
2.IC1は通常スリープ状態になっているが、RB7の変化がスレッショルド値を超えると割り込みが発生し、処理を開始する。
3.SW1またはSW2の状態を確認し、オンであれば、RB7をしばらくのあいだ監視する。
4.RB7がずっと同じ状態であれば、RA0(#17)を0.2secの間ハイにする。
5.再びIC1は眠りにつく。


回路は、内蔵せず外に出すので、ついでだから電池を単5型に変更した。
本体への電源の供給は、リチウムボタン電池をはずしてダミー電池で行なう。
最後に、ケースの上に本体をのせて出来上がり。
ダミー電池 ケースのウラがわ


Back