2006/06/18(日)MCS48 DS1822 高精度温度計完成
0度以下も測定可能
8048とDS18B20を使った温度計だけれども、0度以下の温度表示も対応してみた。なにせ、よく考えてみると、昔のZ80の頃にさえ真面目に数値演算処理なんてした事なかったので、符号付き二進演算について基礎知識が足りなかったのだ。そんな訳で苦労して作ったソースプログラムのテストで家の冷蔵庫の温度を測ってみたら、冷凍庫は-20度だったが、冷蔵庫内は9度だった。これではビールが飲み頃まで冷えないではないか。
この温度計は3桁なので温度によって表示パターンを変える仕組みになっている
100 - 127 チップが壊れそうだが
00.0 - 99.9 これは通常の表示
-0.1 - -9.9 これは0度以下。真冬にはこの程度も必要だろう
-10 - -99 -99度まで測定できるか不明だが。
そして、室温モニターとして温度の変化を音で知らせる。
- 2/16 度以上高くなると ピッピッピッ
- 2/16 度以上低くなると ピューン
- そして 1度以上の変化の場合はそれぞれの音が3回続けて鳴る
室温の変化
部屋の温度の2/16度の変化って結構ありますね。窓を開けておくと、風がスーっと吹き抜けるだけで簡単に0.5度程度は部屋の温度が下がるし、DS18B20の近くに手をかざしただけで0.3度程度は測定値が高くなります。夜には電球のスタンドの光を当てただけでも変化が見られます。
放射冷却の実験にも
現在、28.8度を表示していますが、DS18B20にエチルアルコールを吹きかけると、24.5度程度まで一気に下がります。これは放射冷却を目のあたりにしたのではないでしょうか
DS18B20/DS1822
DS18B20もDS1822も同じモノなんでしょうか。データシートではDS18B20が誤差0.5度、DS1822が誤差2度となっていますが、どちらも、差し替えて見た所、誤差は同じようです。また最小分解能は1/16度ですが、この程度は測定する度にパタパタと変化を繰り返すので、このソフトウェアでは2/16度以上の変化で音は鳴らすようにしている。