const int red = 9;
const int yel = 10;
const int green = 11;
const int b1 = 2;
const int b2 = 3;
const int b3 = 4;
const int th1 = 30;
const int th2 = 70;
volatile boolean rstate = LOW;
volatile boolean ystate = LOW;
volatile boolean gstate = LOW;
void setup() {
Serial.begin(9600);
pinMode(red, OUTPUT);
pinMode(yel, OUTPUT);
pinMode(green, OUTPUT);
pinMode(b1, INPUT_PULLUP);
pinMode(b2, INPUT_PULLUP);
pinMode(b3, INPUT_PULLUP);
}
void loop() {
int ms1 = analogRead(A0);
int ms2 = analogRead(A1);
int ms3 = analogRead(A2);
ms1 = map(ms1, 0, 1023, 0, 100);
ms2 = map(ms2, 0, 1023, 0, 100);
ms3 = map(ms3, 0, 1023, 0, 100);
Serial.print("Moisture% of plant 1(red) is ");
Serial.println(ms1);
Serial.print("Moisture% of plant 2(yellow) is ");
Serial.println(ms2);
Serial.print("Moisture% of plant 3(green) is ");
Serial.println(ms3);
Serial.println();
//delay(3000);
if(digitalRead(b1) == LOW){
rstate = !rstate;
digitalWrite(red, rstate);
Serial.println(rstate);
delay(2000);
}
else if (ms1 < th1) {
digitalWrite(red, HIGH);
rstate = HIGH;
} else if (ms1 > th2) {
digitalWrite(red, LOW);
rstate = LOW;
}
if(digitalRead(b2) == LOW){
ystate = !ystate;
digitalWrite(yel, ystate);
Serial.println(rstate);
delay(2000);
}
else if (ms2 < th1) {
digitalWrite(yel, HIGH);
ystate = HIGH;
} else if (ms2 > th2) {
digitalWrite(yel, LOW);
ystate = LOW;
}
if(digitalRead(b3) == LOW){
gstate = !gstate;
digitalWrite(green, gstate);
Serial.println(gstate);
// delay(2000);
}
else if (ms3 < th1) {
digitalWrite(green, HIGH);
gstate = HIGH;
} else if (ms3 > th2) {
digitalWrite(green, LOW);
gstate = LOW;
}
}