Llevo varios dias loco, el lm35 me daba valores aleatorios sin saber porque, y ya lo he encontrado, si en el loop ejecuto la lectura de temperatura y de la humedad el primero no da valores reales y no entiendo porque, os pongo el código,
int humedad1; //variable para humedad
int tempTerraza; // La variable donde guardaremos la temperatura dela terraza
int higro1 = A15;//pin higrómetro
int Terraza = A8;//pin termometro
int higrometro(int sonda){
//Serial.print(sonda);
humedad1 = analogRead(sonda);
//Serial.print("valor higro: ");
//Serial.print(humedad1);
//afinar %
if(humedad1 <= 26)
Serial.println(" en agua");
if(humedad1 >= 1020)
Serial.println(" en seco");
return (humedad1);
}
void loop(){
tempTerraza = ( 5.0 * analogRead(Terraza) * 100.0) / 1024.0;
Serial.println(tempTerraza);
delay(1000);
humedad1=higrometro(higro1);//Si comento esta linea va bien
}
Hola,
tendrás que hacer pruebas: poner un delay después de la lectura de la humedad, o comentar toda la parte de la temperatura, y probar solo con la humendad...
Por separado funcionan perfectamente. Y el delay no lo puedo poner porque es para pedir los datos desde internet. Asi que lo que estoy pensando es pedirlos por separados, es decir, tomar la temp guardarla, tomar la humedad, guardarla y mostrarlos todos
valor higro: 29
19 19
valor higro: 30
19 19
valor higro: 29
19 20
valor higro: 29
19 19
valor higro: 29
18 19
valor higro: 29
18 20
valor higro: 30
19 20
valor higro: 29
19 19
valor higro: 29
con el higrometro en agua (circuito cerrado) los valores no se disparan pero con el higrómetro seco (circuito abierto)
valor higro: 1012
33 19
valor higro: 1012
32 19
valor higro: 1012
33 19
valor higro: 1012
34 19
valor higro: 1011
33 19
valor higro: 1012
34 19
valor higro: 1012
33 19
valor higro: 1013
24 19
valor higro: 1012
33 19
valor higro: 1012
30 19
valor higro: 1012