● 実験テーマ83
「PIC16F_湿度・気圧計の実験と製作」
(秋月の温度・湿度センサモジュール:AE-HDC1000と、気圧センサモジュール:AE-LPS25Hを使って、湿度・気圧計を作ってみました。)
以下、この実験の顛末記です。
■ 2016.10.15
・前テーマで作った、カレンダ時計+温度計の横に置いて使える、同サイズの
湿度・気圧計を作りたくなった。
このての記事は、WEB上に多く公開されている。
まずは、「きむ茶工房」さんの、PIC16F1938+sprintf文(浮動小数点→文字列変換に使用)
による温湿度計をそのまま作ってみる。
秋月の温度・湿度センサモジュール:AE-HDC1000と、8文字x2行表示の、小型I2C液晶を使われている。
当然、ブレットボード上でなく、前作の横に並べて使える形にまとめる。
・まずは、MPLAB
Xプロジェクト作成〜 ビルドまではOK
(オリジナルからの変更点は、RESET
SWと、デバッグ用のLEDを追加した2点のみです。)
■ 2016.10.17
・今回の電源基板は、前作の単四電池*2(ENELOOP)+3.3V_DC/DC構成の物を使うことにし、
前作の電源基板は、時計ということもあり、出来るだけ長持ちさせたく、
単三電池*2(ENELOOP)+3.3V_DC/DC構成で新しく作ることにしました。
・部品点数が少ないので、ハードは数時間で製作が済み、早速動作確認をしました。
なんの問題もなく、あっけなく1発で動いてしまいました。
・消費電流の測定だけはしておきました。
<消費電流実測>
Vcc=
3.29V
Icc= 1.28mA
Ibat=
1.88mA
■ 2016.10.22〜 2016.10.25
・あっけなく動いてしまった温湿度計だが、温度表示の方は、前作のに付いているので、ここを
気圧表示にしようと思う。
「きむ茶工房」さんの記事にも、8文字x2行表示の液晶を使った、気圧・高度計の記事があるが
小数点以下2桁表示(xxxx.xx)で、全7文字必要になるので、単位の"hPa"を表示してない。
単位表示エリアとして、1キャラ分しかないので、やや無理はあるが、CGRAMにドットパターン
を登録して、1キャラで縦長の、"hP"としてみた。(このページ頭の写真を参照のこと。)
後は、現ソースに、気圧センサ部の初期化と計測・表示部を追加し、ソースをまとめた。
最初、センサモジュールの初期化チェックで、"Init
NG"になって先に進まなかったが、
これは、大気圧センサモジュールの、デバイス(スレーブ)アドレスpinである、SOD(4pin)
を、GNDにしていたため、0x5C(上位7bit:b7-b1)設定になり、ソフトで定義しているアドレス:0x5D
と合わなかったためで、このピンを、GNDから、VDD接続に修正し、0x5D設定にして、
ようやく動作するようになった。
尚、気圧センサ・モジュールには、電源ON表示のパイロットLEDが付いていますが、
電池駆動ということもあり、出来るだけ消費電流を抑えたく、ここのパターンはカットして、LEDが
点灯しないようにしています。
また、気圧センサ自体、光に影響されるようなので、その防止策でもあります。
・湿度・気圧計の、消費電流の測定結果は以下の通りです。
<消費電流実測>
Vcc=
3.29V
Icc= 1.56mA(1.34〜 1.56mA)
Ibat=
2.2mA(1.9〜 2.2mA)
<最終回路図>
・こちらから、どうぞ→ 「PIC16F1938_湿度・気圧計」 (ハード的には、温度センサも含みます。)
<最終ソース>
・こちらから、どうぞ→ 「PIC16F_Hum_and_Press.c」
← 実験テーマ1に戻る TOP PAGEに戻る 実験テーマ84へ →