2代目自作の温度・湿度・大気圧計の途中結果

 先日の日記に少し書いたが、2代目自作の温度・湿度・大気圧計と気象観測装置WMR-100(Oregon Scientific社)を比較している。

 先ずは温度。アナログ出力タイプはLM61BIZが2つとLM61CIZ、デジタル出力タイプは1-wireなDS18B20と、大気圧計SCP-100内臓と湿度計DHT22内臓の温度出力がある。太線がWMR-100の温度で、DS18B20とDHT22の値が近く、2℃ほど離れてSCP-1000が、更に1〜2℃ほどばらついてLM61系が分布する。


 続いて大気圧。比較結果はSCP-1000しかない。WMR-100と2〜3hPaの差があるが、スマートフォン内臓の気圧計とは同じ値になる。


 最後に湿度。初代自作の温度・湿度・大気圧計ではHIH4030だけだったが、この度はDHT22とHS15Pが加わっている。HIH4030は湿度に応じた電圧が出力されるので、換算計算は必要なものの扱いは楽だ。但しこの3つ中で一番高い。ネットでの活用例はそう多くはないが、その中でエレキジャックの記事があるが、(2)式が違うんじゃないかと思う。
エレキジャック:sensorRH=(Vout/Vdd)×(1/0.0062)− 0.16
私の場合: sensorRH=(Vout/Vdd-0.16)/0.0062
 DHT22は1-Wireライクな代物で、ライブラリーが公開されているので私のような素人でもなんとか使える。なのでGR-SAKURAで使える自信はない。ライブラリーを使えば湿度や温度の値がそのまま出てくるので換算式は必要ない。
 HS15Pは本来はもっと複雑な回路が必要な代物だが、こちらの方が簡単に動く方法を提示している。問題なのは換算式で、今回はこれの換算式の検証の色合いが濃い。原理は電圧出力の推移から抵抗値を求め、換算式より湿度に計算する。抵抗値の求め方は単位時間当たりの電圧変化量から求めるか、任意の電圧変化にかかった時間から求めるか、私の場合は1vから4vまでの時間量から求めている(0vスタートにすると湿度が低いとなかなか始まらない)。取りあえずArduinoからは時間量だけシリアル出力させ、後処理で何通りかの換算式を試せるようにしてみた。
 結果はHS15Pが一番よく3〜5%の差で、HIH4030とDHT22がほぼ同じで十数%の差。HS15Pの換算式は初代の時よりも今の方が良くなっているので苦労の甲斐があったというものだ。


 百均のケースに入れた2代目自作の温度・湿度・大気圧計。


 気象観測装置WMR-100(Oregon Scientific社)。


 2代目自作の温度・湿度・大気圧計の外用ユニット。


 HIH4030とDHT22を動かしているArduino