ハード的にはほとんど同じ回路で、電圧を表示させるプログラムを作成しました。
上記の回路では4番ピンが使われていません。そこで、このピンをGNDに落としたとき、電圧をモールス符号で表示するようにしました。
たとえば12.34Vの時には、モールス符号が「1」「2」「3」「4」と打ち出されます。あまり正確ではありませんが、バッテリーの状態を知るには十分な精度だと思います。
A/Dコンバータで得られたデータを0〜16Vを表示するようにソフト的に変換しています。
ただし、基準電圧をVddとしていますので三端子レギュレタの動作する範囲内という条件があります。だいたい6V〜16Vが測定範囲と言うところでしょうか。
10.5V以下になると赤の点滅とブザーの断続音で警報状態になりますが、スイッチを押すと警報が解除されモールスによる電圧表示になります。
モールスは音とともに青色LEDも符号で点滅しますので、もし騒音などで音が聞こえなくても表示を読み取ることが出来ます。
車にサブバッテリーを乗せています。
しかし、心配なのが過放電をさせてしまい、バッテリーを傷めてしまうことです。
電圧計を付けて、常時監視していてもいいのですが、放電終止電圧になったら警告をしてくれる装置があると便利だと思います。
そこで作ったのがこの装置です。
フルカラーLEDを使い、電圧によって色を変えることにしました。12V以上の場合は青、12Vを下回ると緑の点灯、そして放電終止電圧の10.5Vを下回った場合には赤の点滅とブザーの断続音がなるようにしました。
10.5> ◎●●●
11> ○●●●
12> ○○●●
13> ○○○●
14> ○○○○
14< ○○○◎
この製作を追試してくださった方から「LEDバー表示にできないか」とのオファーをいただきました。そこで、4つのLEDがバーグラフのように点灯するプログラムを作ってみました。
発振回路内蔵のブザーではなく、普通の圧電素子(ピエゾ素子)が使えるように、ソフト的に発振回路を含んだプログラムを作りました。ケースに収めるときブザーは結構スペースをとってしまいます。圧電素子でしたらケースに貼り付けてしまえば、省スペースに出来ます。
回路はブザー対応のものと変更ありません。ブザーの代わりに圧電素子をを使います。
ピエゾ対応プログラム
回路はPICを使い簡単にしました。
A/Dコンバータを内蔵した12F675を使い、電圧を監視します。基準電圧はVddとして5Vの3端子レギュレターを使いました。
そのため測定電圧はVddがMaxとなりますので、抵抗とVRで分圧しています。VRが通常のものでも使えると思いますが今回は多回転の精密VRを使いました。
ブザーは発振回路内蔵のものでPICからの出力で鳴らしています。
フルカラーLEDは一つのモールドの中に赤・緑・青の3つのLEDが入っています。そのため光軸がずれているのでそのままではあまりきれいではありません。光拡散キャップを被せると全体がその色で光りきれいです。