Here it is. The whole code. sorry for not being tidy. I just need to remove conflict between manual turn on/off and the sensor reading. I need to isolate.
int waterPump = 2;
int waterPump2 = 3;
int manual;
String readString;
void setup() {
Serial.begin(9600);
pinMode(waterPump, OUTPUT);
pinMode(waterPump2, OUTPUT);
digitalWrite(waterPump, LOW);
digitalWrite(waterPump2, LOW);
}
void loop() {
char c;
if (Serial.available() > 0)
{ c = Serial.read();
readString += c;
}
int humidityRaw = analogRead(A0); // 1023 to 0 ===> 0 to 100%
int humidityReal = map(humidityRaw, 1023, 0, 0, 100);
Serial.println(humidityReal);
if (c == 'L' || c == 'l' ) {
manual = true;
digitalWrite(waterPump2, HIGH);
}
else if (c == 'P' || c == 'p') {
manual = true;
digitalWrite(waterPump2, LOW);
}
else if (c == '1') {
manual = false;
}
if (manual == false) {
// do automatic stuff
if (Serial.read() == '1' && humidityReal < 50)
digitalWrite(waterPump, HIGH);
}
if (humidityReal == 50) {
digitalWrite(waterPump, LOW);
}
if (Serial.read() == 'A' && humidityReal > 50) {
digitalWrite(waterPump2, HIGH);
}
if (humidityReal == 50) {
digitalWrite(waterPump2, LOW);
}
}