Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 25

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 30

Warning: Cannot modify header information - headers already sent by (output started at /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php:25) in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 81
科学好き者の日々::おしゃべり温度計

おしゃべり温度計

温度計

視覚障害者向けに色センサーを作ろうとしていますが、いまだ完成に至りません。
応用として、センサー部分を温度センサーとして「しゃべる温度計」をつくってみました。

温度センサーは定番のナショナルセミコンダクターのLM35です。このセンサーは10mV/℃の電圧を発生するので、PICの12F675のADコンバータで値を読み込みます。
電源はUSBのバスパワーですので、電源電圧は5Vです。ADコンバータの基準を電源電圧とすると、最大500℃ということになってしまいます。シャントレギュレータTL431の2.5Vを分圧して0.5Vをつくりこれを基準として最大50℃としました。
12F675のADコンバータも最大精度の10bitで使います。見かけの精度はおよそ0.05℃あることになります。

PCとの接続はUSB経由で、USBコントローラはFTDI社のFT232BMです。仮想COMポートドライバーによるシリアル転送となります。

PC側で受信データをクリップボードに送り込み、スクリーンリーダで読み上げさせるのは「色センサー」と同じです。

スクリーンリーダに読み上げさせるため、PIC側の処理として、測定された温度データを数字として送るのではなく、文字として送るための変換をしています。21.0℃であれば 0x30+2、0x30+1、0x2E、0x30+0,0x82,0xC7 とすることで「にじゅういちてんぜろど」と読むわけです。

温度が高すぎるときと、低すぎるときは「そくていはんいがいです」のメッセージをPCに送って注意を喚起するようにしてあります。

通常の連続測定のほかに、スイッチを切り替えることにより、測定値の最大値を保持して、読み上げる「体温計モード」をつけてみました。

FT232BMはユニバーサル基板では実装できないので、感光基板をつかって専用基板を起こしました。
ケースは単三2本の電池ケースを使っています。

さて、使い勝手は?

体温計として使うには、絶対精度が不足ですね。相対的にはいいのですが、熱があるとき37℃なのか38℃なのかは非常に重要なのですが、LM35は25℃で0.5℃の誤差があることになっています。
測定ばらつきも問題ですね。平均化の処理はしているのですが、まだ不十分のようです。もともと信号をADコンバートするときのばらつきを減らすことも課題ですね。
普通の温度計とするにはまあまあですが、体温計とするにはまだまだです。

Calendar
<< May 2024 >>
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
262728293031
search this site.
tags
archives
recent comment
recent trackback
others
admin