#include <WiFi.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define DHTPIN 26
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "asia.pool.ntp.org", 28800, 60000);
// Wifi network station credentials
//#define WIFI_SSID "Wokwi-GUEST"
//#define WIFI_PASSWORD ""
const char *ssid = "Wokwi-GUEST";
const char *password = "";
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
lcd.init();
lcd.backlight();
//Setup Awal Ketika Running
lcd.setCursor(0,0);
lcd.print("lab 1 v1");
lcd.setCursor(0,1);
lcd.print("By Nasrul_2023");
delay(4000);
lcd.clear();
dht.begin();
WiFi.begin(ssid, password);
while ( WiFi.status() != WL_CONNECTED ) {
delay ( 500 );
Serial.print ( "." );
}
timeClient.begin();
delay(1000);
Serial.println("lab 1 v1 ");//serial comm write
Serial.println("By Nasrul_2023 ");//serial comm write
}
void loop() {
int temperature = dht.readTemperature();
int humidity = dht.readHumidity();
timeClient.update();
Serial.println(timeClient.getFormattedTime());
//delay(1000);
lcd.setCursor(0,0);
lcd.print("Masa:");
lcd.print(timeClient.getFormattedTime());
// Check if any reads failed and exit early (to try again).
if (isnan(temperature) || isnan(humidity)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
lcd.setCursor(0,1);
lcd.print(F("H:"));
lcd.print(humidity);
lcd.print(F("%; T:"));
lcd.print(temperature);
lcd.print((char)223);
lcd.print(F("C"));
// Wait a few seconds between measurements.
delay(1000);
}