RGBのLedを使ったバッテリーチェッカーを使ってきましたが、これに7セグメントのLedで数字表示してみるのも見やすいかなと、製作してみることにしました。
モールス表示していたものを7セグの数字表示に置き換えたものです。
さすがに7セグを駆動するには12F675や12F683ではピンの数が足りません。何を使うか迷ったのですが、値段もそれほど変わらないので16F88を使うことにします。プログラムから言ったらそのメモリー容量の一部分しか使わないのでもったいない気もしますが、200円程度で買えますのでよしとします。
このPicに内蔵されているA/Dコンバーターで電圧を1024分割した数字に置き換えます。基準電圧に対しての相対的な値が求められますので、それを表示する数字に変換し7セグのLedを光らせます。ダイナミック点灯方式という各桁ごとに順番に表示するやり方ですので、消費電流を抑えることができます。
七色表示電圧計と同様に、0.5V毎に色を変えて表示する回路も組み込みました。数字を細かく読まなくても、色で大まかな電圧がわかります。
この装置では基準電圧をVddとしていますので、3端子レギュレターで安定化した5Vを使っています。最大電圧を16Vとして、おおよそ7〜16V程度までを表示します。また、11Vから14Vまでを0.5V刻みでRGB Ledで表示しています。
電圧を分圧して測定していますが、多回転VRを使うことで校正を容易にしました。
一番最初に電圧をかけるときにはVRを真ん中あたりにしておいてから、調整をしてください。分圧した値がPicのVdd(5V)よりも高くなっていると、Picが壊れてしまうおそれがありますので注意してください。
16F88を使った電圧計のバリエーションです。
このA/Dコンバーターを使った電圧計ではあまり正確な測定ができないので、上記の製作では3桁までの表示にしました。機構的には4桁も可能ですので、あまり正確ではなく小数第2位の値は参考程度に見ることとして、4桁の電圧計にしてみました。
ただ4桁にしただけではおもしろくありません。車のダッシュボードの上に置いて、フロントガラスに反射させて表示するものにしてみました。
反射させて数字が読めるように一つ一つの数字を検討し、7セグのデータを作りました。小数点も使いたかったので、表示器の上下を反対側にして向こう側にDpがくるようにします。
フロントガラスに対して左の写真のように配置することで反射した数字が正位に読めるようになります。
また、10の位は上の写真では一番右側、フロントガラスに向かい合わせた時には左の写真のように一番左側になります。ですから、各桁の配置が通常の逆になるようプログラムしなければなりません。
Picのピンに余裕がありましたので、アラーム機能を付けることにします。バッテリーの監視が目的ですので、バッテリーが10.5Vより下がってしまったら、赤のLEDが点灯するようにしました。また、15V以上になったときには黄色のLEDが点灯します。これらのLEDを7セグLEDの前に付けるのですが、この場合も上の写真のように通常使う配置では左右が逆になるので右側に配置することになります。(フロントガラスに向かい合わせたときには左の写真のように左側にくるので、表示される数字の前側で点灯することになります。
この位置関係を示すため、鏡の前に置いてみました。
鏡に映っている数字が正位で読めるのがわかると思います。
「反射式ではなく通常の表示をするディスプレーを」とのオファーをいただきました。 同じ回路で動作します。 ノーマル表示プログラムHex (カソードコモン) 同じ回路で動作するアノードコモンLED用 プログラム(Hex) |
ここで使用した3digit7segLEDは秋月電子通商で扱っているカソードコモンのものを使用しました。