HR202Lを接続し、温度と湿度を測定する60円(AliExpress)から200円(秋月)程度で販売されている、とても安価な湿度センサ。扱いにくいせいか、あまり製作記事が見当たらなかったので、この湿度センサを使って湿度を測ってみました。5章くらいまで書こうと思っていますが、ここで、一旦、目的である湿度を求めてしまいます。ESP32マイコンに接続する回路図を以下に示します。データシートの回路を基にしていますが、コンデンサを省略しました。プログラムで16周期分を測定することにより、測定値を安定化します。最大振幅6.6V、AC電圧1.65VのAC波形を出力します。超えるので、気になる方はパルス幅で調整してください。上図「ADC」の位置、すなわちIO32がLow、IO33がHighのときに、アナログ入力のIO34を用いて、10kΩの抵抗の両端の電圧を取得します。取得した電圧値によって、10kΩに流れる電流が分かるので、センサの抵抗値は、以下の関数で求まります。変数vは電圧(V)、戻り値が抵抗値(kΩ)です。}センサの抵抗値を、第2章で求めた以下の式に代入すると、0°Cにおける湿度が求まります。おける湿度を求めるには、第1章で求めた以下の係数を使用します。後述のプログラムでは、ESP32マイコン内蔵の温度センサから温度を取得します。IDE用のプログラムは、以下の通りです。}関数getValの部分でACを出力しています。約250μsごとにデジタル出力を切り替えているのが分かるでしょう。247や237としているのは、IO出力処理やアナログ入力処理に要した時間を250μsから減算しているためです。ESP32マイコンの動作周波数は160MHzに設定しました。以下は、測定結果の一例です。実行すると約6秒間隔で、測定値がシリアル出力されます。取り付けていない状態だとnanが得られます。センサを取り付けると、徐々に湿度が低下してゆき、1分ほどで安定します。#温度が変化しないのは、ESP32ライブラリの不具合と思われます(Wi-Fi動作中は温度値が変化します)。送信する測定した温度値と湿度値をクラウドサービスAmbientへ送信してみました。プログラムは、下記からダウンロードすることが出来ます。https://github.com/bokunimowakaru/hr202l/tree/master/ht202l_toAmbientご注意センサHR202Lに直流電圧をかけると、センサに塗布された高分子感湿剤が劣化してしまいます。製作時や、他のファームウェアが書かれているときは、センサを接続しないでください。本ブログでは、簡単に測定するために、温度特性に関わる計算やACを正弦波にする回路、電源電圧や抵抗値を補正する回路など、一部の機能を省いています。デバイスの性能が発揮できていないかもしれません。あとがき本当は、正確なセンサとともに、データを解析し、もう少し色んな工夫をしたかったのですが、急ぎの仕事をいただいたので、しばらく保留します。以前の投稿は、こちらです。(3)紹介ボクにもわかる電子工作bokunimo.netとの連携ブログです。関する情報などを掲載しています。(7)リンクは自由ですが、掲載情報についての責任は負いません。