#include <Wire.
h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define DHTPIN 9
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#define sensorPower 7
#define sensorPin A0
int ledPin = 2;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
[Link](9600);
[Link]();
pinMode(sensorPower, OUTPUT);
digitalWrite(sensorPower, LOW); // Turn off sensor initially
pinMode(ledPin, OUTPUT);
[Link]();
[Link]();
[Link](0, 0);
[Link]("Smart Monitor");
delay(2000);
[Link]();
void loop() {
// Read humidity and temperature
float humidity = [Link]();
float temperature = [Link]();
// Read water level
int waterLevel = readWaterSensor();
// Display readings on LCD
[Link](0, 0);
[Link]("Hum:");
[Link](humidity, 0);
[Link]("% ");
[Link]("Temp:");
[Link](temperature, 0);
[Link]("C");
[Link](0, 1);
if (waterLevel < 300) {
[Link]("Water: LOW ");
} else {
[Link]("Water: OK ");
}
// LED logic
if (humidity < 40 || waterLevel < 300) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
// Debug output
[Link]("Humidity: ");
[Link](humidity);
[Link](" %\t");
[Link]("Temp: ");
[Link](temperature);
[Link](" C\t");
[Link]("Water Level: ");
[Link](waterLevel);
delay(2000);
int readWaterSensor() {
digitalWrite(sensorPower, HIGH);
delay(10);
int val = analogRead(sensorPin);
digitalWrite(sensorPower, LOW);
return val;