PICで気圧、 温度、湿度計 by 24FJ64GA002 その1
SHT-11を追加する


今度は、SCP1000-D01 気圧センサーと、RS232C、ノキア5110LCD、そしてさらに、SHT-11湿度センサーを組み合わせてみたいのですが、さて、今回のハードウエアはどうすべきか?


実は、この後PIC24Fの内蔵するRTCC(リアルタイム・クロック・カレンダー)機能を使ってみたいのですが、その為にはRA4と、RB4に32.768KHzの小型水晶発振子を外付けしなければ成りません。

ま、その時は回路を変更するという事で・・

まずは湿度センサー SHT-11 をちゃんとドライブできるかの実験をしなくてはいけません。

あーあ、またしてもいつになる事やら・・(Oct. the 3rd 2010)

とか、言っている間に動いてしまった。(Oct. the 5th 2010)


PC画面内のバージョン表示が Ver01.22 となっていますが、正しくは Ver01.23です。

ここまでのプログラムメモリー使用量は 2461/22014、データメモリー使用量は 162/8192でPIC24FJ64GA002 I/SP の持っている容量の1/10程です。余裕でまだまだ色々な機能を組み込む事が出来ます。

温度表示と、湿度表示も、気圧表示と同じ様に、シフト表示機能を持たせてみようと思います。押しボタンも1つ追加したいと思います。

現状の消費電流は、7.4mAです。16F886や18LF2550のシステムの2倍もあります。

バッテリー駆動するのには、経験的に言ってアルカリ単三電池2本を直列にしたものを、さらに並列にして4本使えば、1ヶ月程駆動できると思われます。

PIC24FはEEPROMを内蔵していません。従って残念ながら電源を切った時の為のデータの記憶が出来ません。外付けにEEPROMを付けないで、なんとかできないか調べてみます。

次は、PIC24Fに内蔵されている、リアルタイム・クロック・カレンダを使って、計測日時も表示、出力できる様にしたいと思います。まず、外付け用の32.768kHzの発振子を調達しなければいけません。
回路のピン接続も変更しなくては!

今度こそ、本当にいつになる事やら?(Oct. the 5th 2010)

これが昨日の夜から観測した結果です。
室温が29℃と暑いのは、決して、センサーの故障ではありません。そういう部屋なのでご勘弁下さい。
(Oct. 5th 2010)


下記に今回のハードウエア用のソースリストとプロジェクトファイルをリンクしておきます。今回からファイルのディレクトリー構造を変更していますが、特にコンパルには変化はありません。ソースリスト以外のプロジェクトファイル等は全て、_project の中にあります。
(Oct. thae 6th 2010)

2464002prrh23.zip

今回のサンプルプログラムでは、PIC24Fのオープンドレイン機能は使用していません。


なお、このソースプログラムは、
Windows XP Pro v2002 SP3上で、
現時点において最新で無償の、
MPLAB-IDE v8.56、
MPLAB C30 C Compiler [pic30-gcc.exe] v3.24
にてコンパイルしています。

今回のプロジェクトファイルでは、PIC24F用のUART用ライブラリーを使用しています。uart.h をインクルードして使う事に成りますが、MPLAB C30 のご利用のバージョンに合ったライブラリーを正しくリンクさせる為に、その都度MicroChipのディレクトリー内のファイルをリンクさせてください。配布用のサンプルプロジェクト内にはそのライブラリーの実体が含まれません。

また、単純にインクルード宣言をするだけでは正しくライブラリーを参照する事が出来ません。

まず、PIC24FJ64GA002用の uart.h をリンクさせるには、
C:¥Program Files¥Microhip¥MPLAB C30¥lib¥PIC24F¥libpPIC24Fxxx-coff.a
を、プロジェクトファイルのLibrary Files に登録してください。

また、プロジェクトファイルのLinker Scriptに、
C:¥Program Files¥Microhip¥MPLAB C30¥support¥PIC24F¥gld¥p24FJ64GA002.gld
を登録してください。

この2つが正しく登録されていて始めて、
#include <uart.h>
が正しくコンパルが通る様になります。

なお、PIC24F用のHI-TECH C は、現在は残念ながら対応していません。今回のプロジェクトは MPLAB C30 用なのでお間違え無い様にして下さい。

プログラミングは、秋月電子通商のPICkit2互換機を使っています。MPLAB C30 コンパイラーから直接秋月PICkit2互換機を通じてICSP接続で書込みをしています。

気圧センサー部分を含むプログラムの大部分を、パレットソフトさんの HI-Tech C 用ソースプログラムを利用し、私が変更に、変更を加えて使用しています。

プログラムの構成方法を、パレットソフトさんのプログミング形式を利用し、ソースリストのデバッグや、再利用がしやすい様にしています。

ノキア5110表示用のライブラリー部分は、
CQ出版の「トランジスタ技術2006年3月号」に掲載された、
R8C/15付録マイコン基板活用企画 
第9回 小型グラフィック液晶表示器で作る簡易温度計 山本 秀樹氏 のR8C/15用ソフトウエアをHI-TECH C Compiler用に移植したものを、さらに MPLAB C30 C Compiler用に再利用しています。

湿度センサーSHT-11とのインターフェース部分は、エレキジャックさんのソースを利用して変更を加えて使用しています。
(Oct. the 6th 2010)

注意事項
General disclaimer
トッ プページへ

なお、当ホームページで公開しているデーター(写真、音声)等を個人の枠を超えて複製・転用する事はご遠慮下さいませ。
ご意見/苦情/ご感想はこちらまで