気圧、温度、湿度の3つの表示を分離表示させるには?その4
内蔵EEPROMで簡易記録!
ようやく欲しかった機能がそろったので、ここでまとめをします。 |
||||||||||||||
|
||||||||||||||
仕様:
ただし、 ここでの「OFF」とはSWとしての解放を意味し、プルアップ抵抗を通じてPICのポートへの信号は、「High」となります。 また、「ON」とはSWとしての導通を意味し、GNDへ接続されてPICポートヘの信号は、「Low」となります。 DIP_SW(ディップスイッチ)と、押しボタンを併用する事によって、128プロット分の気圧データーのPIC内蔵のEEPROMへの記憶、及びEEPROMからの再生とプロットが可能。 再生時は、RS232CよりEEPROMからの気圧データの出力が可能。
(上記DIP_SW3のOFF、ONの内容説明が逆でした。訂正いたします。Nov. the 7th 2010) EEPROMへの128ポイント全部の記録前に記録を止める事も可能です。その場合は、プロットレート間隔を30分毎にして、なるべくEEPROMへの書込み中でない時を狙って電源を切って下さい。データの最後尾の後には「0」データを追加書込みしてありますので、再生時にはこの「0」データの所までの再生を行います。出来ればプロットレートを1秒にして、128プロット全てを書き込んで自動的に書込みが終了するのを待つ方が無難と思われます。 なお、現時点でDIP_SW4は未使用です。 電源は5.0VのACアダプター、または、アルカリ単三電池2本で稼働できます。アルカリ単三電池16F886の場合は、消費電流が5mA以下で約30日連続稼働、18LF2550の場合は、消費電流が10mAで約15日連続稼働します。 PICは、16F866または、18LF2550が使用できます。どちらも、同一のハードウエアで動作し、8MHzの外部クロックで稼働しますが、18LF2550は内部で外部クロックをマルチプライして16MHzにて稼働しています。 アプリケーションは、16F886用のものと、18LF2550用のものと2種類存在しますが、device.h、device.c以外のアプリケーション部分は全て同一です。deviceファイルは、コンフィグレーションや、システムクロック、データー通信クロッック、A/Dポートのデジタル設定等を含む、PIC間の構造上の相違点を決定している部分のみ異なっています。 なお、特に16F886で今回の回路は、何の問題もなく動作します。18LF2550は、18F2550の低電圧対応仕様(2.0Vから5.5Vまでの電源電圧で動作可能)であり、現時点では日本国内の通信販売では手に入れる事は出来ません。無理に、18LF2550を使う必要は全く有りません。 ただ、16F886と比べて、18LF2550の方が圧倒的にプログラム容量が大きい事や、コンパイラーが18F系の専用命令を使ってプログラムメモリー領域に配列データメモリー領域を配置してくれるので、余裕で16F886の倍以上のプログラムをが組む事が出来そうです。その反面、消費電力が倍程有るので、バッテリー駆動の出来る時間が半分になってしまう欠点が有ります。 下記に、EEPROMへの読み書きに対応したプロジェクトファイルをリンクしておきます。 |
||||||||||||||
16F886prrh33.zip (EEPROMデーターのRS232C出力ルーチンを修正しました。Sep. the 14th 2010) ※ご注意 本プロジェクトは HI-TECH C for the PIC10/12/16 v9.81 以前のバージョンにて作成されています。 HI-TECH C for the PIC10/12/16 v9.81 以降のバージョンでそのままコンパイルすると、コンパイルエラーが発生いたします。これを解消するには、下記をご参照下さい。 HI-TECH C for the PIC10/12/16 v9.81リリースとその注意点! http://ohta.no-ip.com/Pages/templan/index60.html (Mar. the 1st 2011) |
||||||||||||||
18LF2550prrn33.zip (EEPROMデーターのRS232C出力ルーチンを修正しました。Sep. the 14th 2010) 18LF2550prrh98.zip (PIC駆動周波数を8MHzダイレクトに修正しました。ハードウエアが同じでも上記16MHzバージョンよりも半分の消費電流の約4.5mAで駆動できます。16F886と同等のバッテリー連続駆動をする事が出来ます。Sep. the 18th 2010) |
||||||||||||||
なお、このソースプログラムは、 Windows XP Pro v2002 SP3上で、 現時点において最新で無償の、 MPLAB-IDE v8.53、 HI-TECH C Compiler for PIC10/12/16 MCUs version 9.71a Lite mode 及び、 HI-TECH C Pro for the PIC18 MCU Family Compiler Version 9.63PL3 Lite mode によりそれぞれコンパイルされています。 (注意)これ以前のバージョンでコンパイルを行うと、スタックオーバーフローのワーニングが出たりしますので、必ず上記バージョンにてコンパイルして下さい。 気圧センサー部分を含むプログラムの大部分を、パレットソフトさんのプログラムを利用し、私が変更に、変更を加えて使用しています。 ノキア5110表示用のライブラリー部分は、 CQ出版の「トランジスタ技術2006年3月号」に掲載された、 R8C/15付録マイコン基板活用企画 第9回 小型グラフィック液晶表示器で作る簡易温度計 山本 秀樹氏 のR8C/15用ソフトウエアをHI-TECH C Compiler用に移植して使用しています。 湿度センサーSHT-11とのインターフェース部分は、今回はエレキジャックさんのソースを利用しております。 I/Oは非オープンドレイン対応でPICの双方向I/O通信を行い、関連ポートグループのデジタルI/O操作は、ファイル device.c 上で一元管理されたポートバッファ方式関数で全て行っています。(Sep. the 12th 2010) |
なお、当ホームページで公開しているデーター(写真、音声)等を個人の枠を超えて複製・転用する事はご遠慮下さいませ。 |
ご意見/苦情/ご感想はこちらまで |