さてさて、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







