3.4.9 データログ温湿度計の実験2
1.作成時期
2009/3/初旬〜2009/3/中旬 2.作成日数 2週間 3.実験,作成 1.部品,回路について 部品,マイコン回路は、"3.4.8.データログ温湿度計の実験"から変更はありません。今回はPICマイコンプログラムのみの作成です。 WIZ-Cを使用して、温湿度センサ(SHT11)での温湿度読出し処理,、I2Cリアルタイムクロックモジュール(秋月電子通商で販売)での 時刻読出し,時刻設定処理を作成しました。I2C EEPROMでの温湿度データログの読み書き処理、パソコン上の連携ツールでの RS-232C通信処理等は次回から作成していく予定です。 ○参考書籍 ・C言語で作るPIC電子工作(CQ出版社) ・PICによるホーム・コントロール工作入門(CQ出版社) ・Windowsで制御するPICマイコン機器(CQ出版社) ![]() 2.マイコンプログラムについて 温湿度センサ(SHT11)での温湿度読出し処理について、温湿度センサ(SHT11)は、I2Cではないのですが、2線式のシリアルインターフェースで、 温度,湿度の実測値が直接読み出せます。尚、温度,湿度の精度はデフォルトの温度14ビット,湿度12ビットで、温度,湿度値は、演算で求めます。 (温度値 = -40+0.01*(実測値), 湿度値 = -4+0.0405*(実測値)-2.8*(実測値)*(実測値)/1000000) 尚、マイコンプログラムの温湿度センサ(SHT11)の温湿度読出し処理は、参考書籍"Windowsで制御するPICマイコン機器(CQ出版社)"の "第5章 温湿度ロガーの製作"のWIZ-Cプログラムを流用(PICマイコンのポートのみ変更(SHTFunc.h:DATA(B0→A1), SCK(B1→A0)))しました。 I2Cリアルタイムクロックモジュールでの時刻読出し,時刻設定処理について、I2CリアルタイムクロックモジュールはEPSON製のRTC-8564NBを 8ピンDIPに変換したモジュールです。又、I2Cアドレスは固定(A2,A3)です。タイマー,アラーム機能もあるのですが、今回は時刻読出し,時刻書込み を行います。作成した関数は、内部レジスタアドレス02から7バイト連続の時刻読出し関数(I2C_RTC_Read)と時刻書込み関数(I2C_RTC_Write)です。 又、読出し,書込みデータはBCD形式の為、関数使用時に、数値変換処理をしています。尚、自動的にセットされるVLビット(電圧低下検出ビット)と Cビット(Century:s西暦2000年にON)は、使用しません。(以下"RTC-8564NB レジスタテーブル"参照) 尚、作成するデータログ温湿度計では、温湿度センサ(SHT11)での温湿度読出し処理は1秒周期, I2Cリアルタイムクロックモジュールでの 時刻読出し,書込み処理は0.1秒周期, LCDパネル表示処理は0.5秒周期で行います。設定モードでは、16文字*2行のLCDパネル1面で、 "年,月,日,時,分,秒,サンプリング周期"を設定します。RIGHT,LEFTキーで年→月→日→時→分→秒→サンプリング周期にカーソルが移動し、 UP,DOWNキーで値を変更し、SETキーで書込みます。尚、年,月,日,時,分,秒は、I2Cリアルタイムクロックモジュールへ、サンプリング周期は、 PICマイコンのEEPROM(アドレス0)へ書込みます。 尚、コンパイルについて、割り込みタイプの変更(クイック割り込み→通常割り込み)と、スタックオプションの変更(スタックをRAM上に作成)を行いました。 変更方法は、"PICによるホーム・コントロール工作入門(CQ出版社)"のColumn1-3, Column1-5を参照してください。 ○RTC-8564NB レジスタテーブル ![]() ○アプリケーションデザイナ設定 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ○マイコンプログラム ・プログラムリスト(THERMOLOGGER_User.c) ・プログラムリスト(SHTFumc.c) ・プログラムリスト(SHTFunc.h) ・プログラムリスト(I2C.c) ・プログラムリスト(I2C.h) ・WIZ-C(Ver.12)プロジェクト(THERMOLOGGER:03040901P.LZH) 3.以下の写真について 写真1枚目は表示モードの写真です。現在の年,月,日,時,分,秒,温度,湿度を表示しています。写真2枚目は 設定モードの写真です。写真では、年の設定箇所にカーソルがあります。LCDパネル1面で、年,月,日,時,分,秒, サンプリング周期の設定ができます。 ![]() ![]() 4.感想 今回は、データログ温湿度計の温湿度センサ(SHT11)とI2Cリアルタイムクロックモジュールでの温湿度,時刻表示、 設定部分を作成しました。調整不要の温度,湿度と、狂いのない時刻表示,時計データ保持が可能になり、以前作成した データログ温度計よりさらに使いやすくなりました。 次回からは、I2C EEPROMでの温湿度データログの読み書き処理、パソコン上の連携ツールでのRS-232C通信処理等を 作成していく予定です。 トップページヘもどる |