int lowerThreshold = 330; int upperThreshold = 375; #include "DHT.h" #include<LiquidCrystal.h> #define DHTPIN A0 #define DHTTYPE DHT11 #define sensorPower 7 #define sensorPin A1 #define sensorPower 7 LiquidCrystal lcd(12,11,5,4,3,2); DHT dht(DHTPIN,DHTTYPE); // Value for water level int val = 0; // Declare pins on arduino int redLED = 8; int yellowLED = 9; int greenLED = 10; void setup() { Serial.begin(9600); pinMode(sensorPower, OUTPUT); digitalWrite(sensorPower, LOW); delay(500); Serial.print("Temperature"); Serial.print(" "); Serial.println("Humidity"); lcd.begin(16,2); dht.begin(); pinMode(sensorPower, OUTPUT); digitalWrite(sensorPower, LOW); // Set LED pins as an OUTPUT pinMode(redLED, OUTPUT); pinMode(yellowLED, OUTPUT); pinMode(greenLED, OUTPUT); // Initially turn off all LEDs digitalWrite(redLED, LOW); digitalWrite(yellowLED, LOW); digitalWrite(greenLED, LOW); } void loop() { float h= dht.readHumidity(); float t= dht.readTemperature(); Serial.print(t); Serial.print(" "); Serial.println(h); lcd.print("Temperat:"); lcd.print(t); lcd.print((char)223); lcd.print("C"); lcd.setCursor(0,1); lcd.print("Humidity:"); lcd.print(h); lcd.print("%"); delay(1000); lcd.clear(); int level = readSensor(); Serial.print("Water level: "); Serial.println(level); delay(1000); if (level == 0) { Serial.println("Water Level: Empty"); digitalWrite(redLED, LOW); digitalWrite(yellowLED, LOW); digitalWrite(greenLED, LOW); } else if (level > 0 && level <= lowerThreshold) { Serial.println("Water Level: Low"); digitalWrite(redLED, HIGH); digitalWrite(yellowLED, LOW); digitalWrite(greenLED, LOW); } else if (level > lowerThreshold && level <= upperThreshold) { Serial.println("Water Level: Medium"); digitalWrite(redLED, LOW); digitalWrite(yellowLED, HIGH); digitalWrite(greenLED, LOW); } else if (level > upperThreshold) { Serial.println("Water Level: High"); digitalWrite(redLED, LOW); digitalWrite(yellowLED, LOW); digitalWrite(greenLED, HIGH); } delay(1000); } //This is a function used to get the reading int readSensor() { digitalWrite(sensorPower, HIGH); // Turn the sensor ON delay(10); // wait 10 milliseconds val = analogRead(sensorPin); // Read the analog value form sensor digitalWrite(sensorPower, LOW); // Turn the sensor OFF return val; // send current reading }