AM2302を使った温度・湿度計


はじめに

AM2302 (DHT22)という温湿度センサーを使って温度・湿度計を作りました. 家にいくつかある湿度計が大きく異なる値を表示する(10ポイント以上異なる場合もある)ので,湿度計をいくつか自作して比較してみたいと思い作成しました.

設計・製作

AM2302は国内でも入手しやすいのですが,AliExpressの方が安かったのでそちらで購入しました. このセンサーは湿度の誤差が2%となっており,(仕様を信じれば)この種のセンサーでは精度が高いほうだと思います. 温度の誤差は0.5%となっています. 出力はデジタルなのでAD変換などは必要とせずに測定値を得ることができます. センサーと通信して数値を読み込んで液晶(IM50175H)に表示するという単純な処理しか必要ないので,マイコンにはAVRのATTiny2313を使いました. 電源はマイクロUSB端子で供給できるようにしました. センサーも液晶も電源電圧は5Vです. AVRは内蔵の8MHzクロックで駆動します.

Arduinoにこのセンサー用のライブラリがあったのでArduinoでファームウェアを開発しましたが(書き込みはISP),ATTiny2313のフラッシュROMに収まりませんでした. 結局センサーと通信するライブラリを自作してなんとかROMに収まりました. 使用した液晶は14セグメント8桁のものですが,下の動作中の写真のように,小数点は表示せずに温度と湿度を表す"c"と"%"を無理やり表示させています.

回路図
基板レイアウト
完成した基板(表)
完成した基板(表)
使用中の例

ファームウェア


[戻る]
2017-06-14 ページ作成
(2017-05 製作)
T. Nakagawa