#include <WiFi.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include<WiFiClient.h>
#include<FirebaseESP32.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* url = "https://dht-with-relay-default-rtdb.firebaseio.com/";
const char* key = "fhN6D89pwWI11SFkg2IW6V8acZ69RBOrFweDQTSZ";
const int relay = 2;
#include <DHT.h>
//#include <DHT_U.h>
#define DHTPIN 15
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
FirebaseData fbdo;
void setup()
{
//pinMode(18,OUTPUT);
Firebase.begin(url,key);
Serial.begin(115200);
delay(10);
dht.begin();
lcd.init();
lcd.backlight();
lcd.begin(16,2);
pinMode(relay,OUTPUT);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Firebase.reconnectWiFi(true);
}
void loop()
{
//sensors_event_t event;
//dht.temperature().getEvent(&event);
//float temp=event.temperature;
float humi = dht.readHumidity();
lcd.setCursor(0,0);
lcd.println("humidity :");
lcd.print(humi);
float temp = dht.readTemperature();
lcd.println("temperature :");
lcd.setCursor(0,1);
lcd.println("temp :");
lcd.print(temp);
Serial.println("humidity"+ String(humi));
Firebase.setFloat(fbdo,"humidity",humi);
Serial.println("temperature"+ String(temp));
Firebase.setFloat(fbdo,"temperature",temp);
if(humi < 40)
{
digitalWrite(relay,HIGH);
}
else{
digitalWrite(relay,LOW);
}
delay(1000);
Serial.println("humi:");
Serial.print(humi);
}