#include <DHT.h>
#define DHTPIN 3
#define DHTTYPE 22 // OR 11 FOR BLUE COLOUR SENSOR
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define trigPin1 10
#define echoPin1 11
#define trigPin2 8
#define echoPin2 9
long duration1, distance1, duration2, distance2;
// initialize the sensor
DHT dht(DHTPIN,DHTTYPE);
LiquidCrystal_I2C lcd1=LiquidCrystal_I2C(0x27,16,2);
LiquidCrystal_I2C lcd2=LiquidCrystal_I2C(0x25,16,2);
int c=0;
void setup() {
Serial.begin(9600);
dht.begin();
lcd1.init();
lcd2.init();
lcd1.backlight();
lcd2.backlight();
pinMode(7, OUTPUT);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
delay(2000);
float temp=dht.readTemperature();
float hum=dht.readHumidity();
if(isnan(temp)||isnan(hum)){
Serial.println("Error is DHT!");
}
else if(temp > 30){ //tea plants requires a temperature between 21-30, if temperature high than 30,it incadtes by red light
digitalWrite(7, HIGH);
Serial.print("Temperature ");
Serial.println(temp);
Serial.print("Humidity ");
Serial.println(hum);
}
else if(temp < 20){//tea plants requires a temperature between 21-30, if temperature below than 20,it incadtes by red light
digitalWrite(7, HIGH);
Serial.print("Temperature ");
Serial.println(temp);
Serial.print("Humidity ");
Serial.println(hum);
}
else if(hum < 40){//tea plants requires high humidity, if humidity below than 40,it incadtes by red light
digitalWrite(7, HIGH);
Serial.print("Temperature ");
Serial.println(temp);
Serial.print("Humidity ");
Serial.println(hum);
}
else if(hum > 90){//if humidity high than 90,it incadtes by red light
digitalWrite(7, HIGH);
Serial.print("Temperature ");
Serial.println(temp);
Serial.print("Humidity ");
Serial.println(hum);
}
else{
digitalWrite(7, LOW);
Serial.print("Temperature ");
Serial.println(temp);
Serial.print("Humidity ");
Serial.println(hum);
}
lcd1.setCursor(1,0);
lcd1.print("Temperature");
lcd1.setCursor(1,1);
lcd1.print(temp);
lcd2.setCursor(1,0);
lcd2.print("Humidity");
lcd2.setCursor(1,1);
lcd2.print(hum);
// First ultrasonic sensor
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1 = duration1 * 0.034 / 2;
Serial.print("Sensor 1: ");
Serial.print(distance1);
Serial.print(" cm");
Serial.println(" detected Plant");
// Second ultrasonic sensor
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = duration2 * 0.034 / 2;
Serial.print("Sensor 2: ");
Serial.print(distance2);
Serial.print(" cm");
Serial.println(" detected Plant");
delay(10000); // Wait 10 seconds before repeating the loop
}