秋月でDHT20という安価な温湿度センサを買ったので、温度と湿度の取得を試してみました。
と言っても、今回はこちらで公開されているライブラリを使って、サンプルのプログラムを試してみただけです。
https://www.arduinolibraries.info/libraries/dht20
DHT20は仕様を見る限り、温度±0.5℃
湿度±3%RH
とのことなので、値段の割に精度が良さそうです。
開発環境
- Mac Book (12.1)
- Arduino IDE (1.8.19)
機材一覧
その他 ブレッドボード、ジャンパワイヤなど
ライブラリ導入
リンクよりDHT20-0.1.0.zipをダウンロードしてきて解凍します。
/Users/{ユーザー名}/Documents/Arduino/libraries
以下に解凍したフォルダごと配置します。
今回はサンプルを試しただけなので、ライブラリ内のexamples以下に入っているDHT20.inoをArduino IDEで開き、マイコンボードに書き込むだけです。
回路作成
DHT20 | ESP32 |
---|---|
VCC | 3V3 |
SDA | GPIO21 |
GND | GND |
SCL | GPIO22 |
データシートを見ながら、上の対応順に配線をつなげます。
動作テスト
コード上で115200bpsに設定されているため、シリアルモニタも115200bpsに合わせます。
無事に温度と湿度が取得できました。
ログを見ながら息を吹きかけると湿度が急上昇するのを確認できたので正しく動いてそうです。
さいごに
購入直後、I2C通信の理解に頭を抱えていましたが、便利なライブラリに助けられました。
Arduinoはライブラリが多く出回っているので本当に助かります。
次はこれまで使っていなかったESP32のWi-Fiを使って、サーバに温湿度を送信できるか試してみようと思います。