i2cでモジュールをつないで作るLCD表示温度計       by nobcha (c)2013

hajimeni                   1822

 
  i2cで接続すると12ビット精度の温度を出力するというデジタル温度センサが売られています。電源電圧は2.25~3.6V対応です。i2c接続で3.3V対応の8文字×2行表示LCDも売られており、nobchaが得意とするニッケル水素充電池を2本使って2.6Vで何とか動作しそうです。(LCDの仕様では3.1V~3.5Vですが、実力ではと2.5Vでも何とかコントラストが取れます)
 
 PICは1.8V~5.5V対応の8PチップPIC12F1822を使います。PIC12F1822にはi2cインターフェイス用MSSP回路が入っており、今回の用途にぴったりです。従来からよく使うPIC12F683ではi2cインターフェイスを使うにはソフト方式で対応しないといけません。(そちらはそちらで試作実績がありますので、機会があれば作ってみたいと思います。)

kairoha

 PIC12F1822のMSSPでi2cマスター動作を行います。信号ピンはデフォールトでPCLがRA1でピン番6、PDAがRA2でピン番5となります。RA3はMCLRで使うことにします。

 高精度12ビットi2c接続デジタル温度センサSTTS751-OWB3FはSOT23パッケージで6ピンです。ユニバーサル基板のはんだ面側に端ピンをはんだ付けし、真ん中ピンはジャンパ線を飛ばします。i2cアドレスはaddrピンにつなぐプルアップ抵抗値で設定できます。グランドにつなぐと0x72となります。

 i2c接続LCDのAQM0802A-RN-GBWは1.5mmピッチの信号線が9本出ており、外部接続だけでなく、チャージポンプ用のコンデンサなどの外部接続必要です。信号をユニバーサル基板につなぐため2.54ピッチで1列、2列で配置して実装しました。アドレスは0x7Cです。

 

CIR

   ICSP接続の都合上もあり、ブレッドボード接続時はWSNAKの基板を流用しました。i2c接続LCDのAQM0802A-RN-GBWはストロベリーリナックス社のi2c液晶と同じLCDコントローラを用いているため、替わりに使うことができます。次のような回路図となりました。

 

すけま

 

プログラム

    プログラムはMPLAB IDE V8.85のもとでHiTECH C V9.83コンパイラを使い開発しました。MAINプログラムi2c接続LCD用の関数そのヘッダstts制御用関数そのヘッダMSSP利用のi2cマスター関数およびそのヘッダファイルからなっています。MSSP利用のi2cマスター関数、およびそのヘッダファイルは同機能MSSP搭載の新四ケタシリーズ(たとえばPIC16F1823とか1827)で使いまわしてきております。

  プログラム作成にあたり、国内、国外の各種ブログやWEBを参考にしました。先駆者の皆様の努力に感謝いたします。小数点下2ケタだと0.0625が単位になりチラチラと表示が動きます。目ざわりなので最新バージョンでは小数点下ひとけたにしました。

 

実験

  ユニバーサル基板タイプはAQM0802A-RN-GBW液晶を使って、STTS751は裏面にはんだ付け。ブレッドボードタイプは液晶はストロベリーリナックス社製品を使用し、STTSはSOTからDIP変換基板経由としました。ストロベリーリナックスのLCDは3V以下ではコントラストが取れません。今回はニッケル水素単三2本2.6Vなので、ほとんど読み取れないぐらいです。とりあえず2台をリビングとか寝室に置いて温度計として活用中です。消費電流が2mA以下なので、バッテリーの消費は気になりません。

SL AQm

 どちらもフロッピケースに入れて使ってます。

FD

 

れf

  試作にあたり、国内、国外の各種ブログやWEBを参考にしました。先駆者の皆様の努力に感謝いたします。

  また無償の開発システムを提供しているMICROCHIP社にもお世話になります。

  本件内容に関しては趣味などの非商用利用を前提に試作しております。また、動作や性能を保証するものではありません。自己責任で参考になさってください。著作権に触れるような引用やコピーはお断り申し上げます。

 

新四ケタシリーズ1822  WEB入口pn

inserted by FC2 system