さてさて、ESP32の話題に戻って、この手の定番の温度と湿度の表示をやってみます。LCD表示のサンプルを改造して、DHT11の出力を表示させます。
参考にさせていただいたサイトは下記となります。ありがとうございます。
Interface DHT11 DHT22 with ESP32 & Display Values Using Web Server
まぁ書いてある通りになんですが、前回のLCDのやつに統合するので、上記サイトの格好いいWeb表示部分は全部いらなくて、必要な部分だけ抜き出します。Web表示は後での楽しみ。
まぁこんな感じで、最初の画像のような表示ができる。
で、気になるのが、温度も湿度も小数点以下が表示されないこと。
これも調べると、DHT11は、少数点以下は表示されないとのこと。だとしたら、数字の表示を変えた方が良いですね~
接続は下記の通り。ESP32 DevKitのパーツも作成してしまった。ベースに公開されていた二つのESP32のパーツを組み合わせてサイズを変えて、とか、まぁ趣味の世界w
参考にさせていただいたサイトは下記となります。ありがとうございます。
Interface DHT11 DHT22 with ESP32 & Display Values Using Web Server
まぁ書いてある通りになんですが、前回のLCDのやつに統合するので、上記サイトの格好いいWeb表示部分は全部いらなくて、必要な部分だけ抜き出します。Web表示は後での楽しみ。
// include the library code: #include <LiquidCrystal.h> #include "DHT.h" #define DHTTYPE DHT11 // DHT 11 // DHT Sensor uint8_t DHTPin = 4; // Initialize DHT sensor. DHT dht(DHTPin, DHTTYPE); float Temperature = 0; float Humidity = 0; // initialize the library by associating any needed LCD interface pin // with the arduino pin number it is connected to const int rs = 32, rw = 33, en = 25, d4 = 26, d5 = 27, d6 = 14, d7 = 13; //LiquidCrystal lcd(rs, en, d4, d5, d6, d7); LiquidCrystal lcd(rs, rw, en, d4, d5, d6, d7); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); pinMode(DHTPin, INPUT); dht.begin(); } void loop() { Temperature = dht.readTemperature(); // Gets the values of the temperature Humidity = dht.readHumidity(); // Gets the values of the humidity // Display Temperature in C lcd.setCursor(0, 0); lcd.print("Temp C "); lcd.setCursor(6, 0); // Display Temperature in C lcd.print((Temperature)); lcd.setCursor(0, 1); lcd.print("Humid % "); lcd.setCursor(6, 1); lcd.print((Humidity)); delay(500); }
まぁこんな感じで、最初の画像のような表示ができる。
で、気になるのが、温度も湿度も小数点以下が表示されないこと。
これも調べると、DHT11は、少数点以下は表示されないとのこと。だとしたら、数字の表示を変えた方が良いですね~
接続は下記の通り。ESP32 DevKitのパーツも作成してしまった。ベースに公開されていた二つのESP32のパーツを組み合わせてサイズを変えて、とか、まぁ趣味の世界w
0 件のコメント:
コメントを投稿