ESP32 DevKitCにDHT11つけてみた
ESP32搭載のマイコン開発ボードに、温湿度センサーであるDHT11をつけました。
取り付け方などは以下のサイトを参考にさせてもらいました。
esp-wroom-02 で温湿度計dht11を使ってみた
DHTライブラリの取得の仕方
過去については知りませんが、現在ではArduinoのメューバーより
スケッチ>ライブラリのインクルード>ライブラリを管理
より「DHT」と検索すればライブラリのインストールができるようになります。
エラー
簡単にできると思っていましたが、コンパイル時に以下のエラーが出ました
In file included from C:\Users\ユーザー名\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.cpp:22:0:
C:\Users\ユーザー名\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory
compilation terminated.
Adafruit_Sensor.hがない、と言われてます。
よく見たらreadme.mdに、以下のライブラリをインストールしろと書いてあった。
ということで以下からライブラリをダウンロードしてきて、librariesフォルダに突っ込みましょう
Adafruit Unified Sensor Library
Windows10の場合は以下のパスになります。
C:\Users\ユーザー名\Documents\Arduino\libraries\
スケッチの一例
以下がDHT11を使ったスケッチの一例です。
#include <DHT.h>
const int PIN_DHT = 4;
DHT dht(PIN_DHT,DHT11);
void setup() {
Serial.begin(9600);
Serial.println("DHT11");
dht.begin();
}
void loop(){
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT");
return;
} else {
Serial.print("Humidity:");
Serial.print(h);
Serial.print("%\t");
Serial.print("Temperature:");
Serial.print(t);
Serial.println("*C");
}
delay(3000);
}