Lo primero es hacer que tu sensor funcione porque no creo que lo haga bien.
Asi que olvidemos el envío de datos a Thingspeak.
Dime que pasa con el sensor de suelo cuando usas esto.
Ponlo en el sustrato húmedo y luego retíralo para que te de en contraste dos lecturas diferentes.
Sería ideal tener 3 situaciones. Una con sustrato (tierra) muy húmeda, una regular y otra seca.
/****************************************/
/* CONSTANTES SENSOR DE HUMEDAD */
/****************************************/
const int AirValue = 550; //you need to replace this value with Value_1
const int WaterValue = 250; //you need to replace this value with Value_2
int soilMoistureValue = 0;
int soilmoisturepercent = 0;
/****************************************/
/* CONSTANTES SENSOR MOVIMIENTO */
/****************************************/
int pinSensorMov = 22;
int estadoSensorMov = LOW;
int valor, valorAnt = 0;
int alertaMov = 0;
/****************************************/
/* FUNCIÓN SETUP */
/****************************************/
void setup(){
Serial.begin(115200); // Initialize serial
pinMode(pinSensorMov, INPUT);
delay(2000);
}
/****************************************/
/* FUNCIÓN LOOP */
/****************************************/
void loop() {
/* Sensor Humedad Suelo */
soilMoistureValue = analogRead(A0); //poner el sensor en el suelo
Serial.print("Valor humedad del suelo: ");
Serial.println(soilMoistureValue);
soilmoisturepercent = map(soilMoistureValue, AirValue, WaterValue, 0, 100);
Serial.print("Porcentaje de humedad: ");
Serial.print(soilmoisturepercent);
Serial.println("%");
/* Sensor Movimiento */
valor = digitalRead(pinSensorMov);
Serial.println(valor);
if (valor != valorAnt) {
if (!valor) {
Serial.println("Sensor activado");
alertaMov = 0;
} else {
Serial.println("Sensor parado");
alertaMov = 1;
}
}
valorAnt = valor;
delay(10000); // Espero 10 seguntos para proxima lectura
}
En el caso del sensor de movimiento he simplificado tu código. Usas demasiadas cosas reiterativas. Incluso esa variable alertaMov esta de mas porque valor ya es tu variable alerta.