#define HUMIDITY_PIN A0
#define RELAY_PIN 8
int humedad;
int umbral = 500; // Ajusta según pruebas (0 seco - 1023 muy húmedo)
bool estadoBomba = false; // Estado actual de la bomba
bool estadoAnteriorBomba = false; // Estado anterior de la bomba
void setup() {
Serial.begin(9600);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Apagar bomba al inicio
}
void loop() {
humedad = analogRead(HUMIDITY_PIN);
Serial.print("Humedad: ");
Serial.println(humedad);
// Determinar nuevo estado de la bomba
if (humedad < umbral) {
estadoBomba = true;
} else {
estadoBomba = false;
}
// Solo enviar mensaje si el estado cambió
if (estadoBomba != estadoAnteriorBomba) {
if (estadoBomba) {
digitalWrite(RELAY_PIN, HIGH);
Serial.println("Bomba ENCENDIDA");
} else {
digitalWrite(RELAY_PIN, LOW);
Serial.println("Bomba APAGADA");
}
estadoAnteriorBomba = estadoBomba; // Actualizar estado anterior
}
delay(1000);
}