PHTMCODE
PHTMCODE
h>
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
#define TRIGPIN 3
#define ECHOPIN 4
#define FANPIN 8
#define BUZZERPIN 7
void setup() {
lcd.init();
lcd.backlight();
dht.begin();
pinMode(TRIGPIN, OUTPUT);
pinMode(ECHOPIN, INPUT);
pinMode(FANPIN, OUTPUT);
pinMode(BUZZERPIN, OUTPUT);
lcd.setCursor(0, 0);
lcd.print("PH&TM READY! :)");
delay(2000);
lcd.clear();
}
void loop() {
float temp = dht.readTemperature();
float hum = dht.readHumidity();
// NaN Check
if (isnan(temp) || isnan(hum)) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sensor Error");
digitalWrite(FANPIN, LOW);
noTone(BUZZERPIN);
delay(2000);
return;
}
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW);
// LCD Display
lcd.setCursor(0, 0);
lcd.print("T:");
lcd.print(temp, 1);
lcd.print((char)223);
lcd.print("C H:");
lcd.print(hum, 0);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("FAN:");
lcd.print(fanOn ? "ON " : "OFF");
lcd.print(" W:");
lcd.print(waterLow ? "LOW " : "OK ");
delay(1000);
}