DHT22 + LCD2004 Temperature Monitor — ESP32 simulation

ESP32 reads temperature and humidity from a DHT22 sensor and displays the values on a 20x4 I2C LCD.

An interactive ESP32 circuit simulation you can run free in your browser on Velxio, by dapzkuy94.

Components

Sketch code

#define BLYNK_TEMPLATE_ID "Isi Template"
#define BLYNK_TEMPLATE_NAME "Isi Template Name"
#define BLYNK_PRINT Serial 

#include <Wire.h>
#include <WifiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

char auth[] = "Masukan Auth Blynk";

char ssid[] = "Velxio-GUEST";
char pass[] = " ";

#define DHTPIN 15
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);
Blynktimer timer;

LiquidCrystal_I2C lcd(0x27, 20, 2);



void bacaDataSensor() {
  float lembab = dht.readHumidity();

  float temperatur = dht.readTemperature();

  if (isnan(hum) || isnan(temp)) {
    Serial.println("Gagal Membaca Sensor!");
    lcd.setCursor(0, 0);
    lcd.print("Sensor Error!");
    return;
  }

  Blynk.virtualWrite(V0, lembab);
  Blynk.virtualWrite(V1, temperatur);

Serial.print("Suhu: ");
Serial.print(temp);
Serial.print("C | Kelembapan: ");
Serial.print(hum);
Serial.println(" %");

lcd.setCursor(0,0);
lcd.print("Suhu: ");
lcd.print(temp);
lcd.print((char)223);
lcd.print("C");

lcd.setCursor(0, 1);
lcd.print("hum : ");
lcd.print(hum);
lcd.print("%");

Blynk.run();
timer.run();

delay(5000);

}

void setup(){
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass);
  timer.setinterval(1000L, bacaDatasensor)


  dht.begin();
  lcd.init();
  lcd.backlight();

  lcd.setCursor(0, 0);
  lcd.print("Inisialiasi.....");
  delay(2000);


  lcd.clear();
}

void loop() {
  Blynk.run();
  timer.run();
}

More projects by dapzkuy94