¿Te acuerdas de lo que te dijeron de las funciones? Sobre todo muy a tener en cuenta cuando veas que el código se repite:
LDR=mapeanalogico(A0);
hSuelo=mapeanalogico(A1);
sensorPozo = mapeanalogico(A2);
sensorBidon=mapeanalogico(A3);
Definiendo la función correspondiente:
int mapeanalogico(int pin){
int a=analogRead(pin);
a=map(a,0,1024,0,100);
return (a);
}
Sin embargo, cuando un código no se repite, no es conveniente crear una función, pues el resultado será más grande (mismo código más la llamada a la función). Por ello yo no pondría las funciones imprimeSerial e imprimeSerial2. Eso sí, te puedes aprovechar también de sprintf:
char dataString[20]; // Con 20 bytes habrá suficiente buffer
sprintf(dataString,"%02d/%02d/%02d %02d:%02d:%02d",
monthDay, month, year, hour, minute, second);
Serial.println(dataString);
char dataString[100]; // buffer
sprintf(dataString,"Humedad: %d\tTemp: %d *C\tHsuelo: %d Lumenes: %d sPozo: %d sBidon: %d Riego: %d Motor: %d", h, t, hSuelo, LDR, sensorPozo, sensorBidon, salRiego, salMotor);
Serial.println(dataString);