valores aleatorios termometro

Sergegsx:
que sensor usas?
es SPI?
estas definiendo D1 como 3 supongo que es el pin donde has conectado el sensor. pero leugo machacas su valor por lo que ya no lees el pin 3

Lo machaco pero al ser un bucle se vuelve a asignar, no?

fm:
Estas leyendo del pin digital 3. Lee de A0 a A7 y conecta el sensor a un pin con entrada analógica: de A0 a A7.

Que sensor o que tienes conectado al pin?

Esa es otra gran duda que tenia, al asignar un analogico o un digital de la misma forma, probare a asignarlo como A3, a ver si ese es el fallo.

Por cierto es un lm35

Jossema106:

Sergegsx:
que sensor usas?
es SPI?
estas definiendo D1 como 3 supongo que es el pin donde has conectado el sensor. pero leugo machacas su valor por lo que ya no lees el pin 3

Lo machaco pero al ser un bucle se vuelve a asignar, no?

incluso aunque eso fuese verdad, en tu programa no lo es. es muy mala practica hacerlo de esa forma.
define una variable para el pin donde esta conectado y otra variable para lo que lee.
por cierto, para leer pines analogicos usa AnalogRead.
visita este enlace para cosas así...

tambien te recomiendo este enlace
https://www.google.com/search?q=lm35&oq=lm35

te llevara a sitios interesantes como

Sergegsx:

Jossema106:

Sergegsx:
que sensor usas?
es SPI?
estas definiendo D1 como 3 supongo que es el pin donde has conectado el sensor. pero leugo machacas su valor por lo que ya no lees el pin 3

Lo machaco pero al ser un bucle se vuelve a asignar, no?

incluso aunque eso fuese verdad, en tu programa no lo es. es muy mala practica hacerlo de esa forma.

define una variable para el pin donde esta conectado y otra variable para lo que lee.
por cierto, para leer pines analogicos usa AnalogRead.
visita este enlace para cosas así...
Arduino - Home

tambien te recomiendo este enlace
lm35 - Google Search

te llevara a sitios interesantes como
My Projects: Arduino LM35 Sensor

Ok modifico lo de la variable.
si leo los analógicos así, analogRead(D1), o no es eso a lo que te referías?

gracias

creo que el problema era el cable lo tengo metido por las cajas del piso y en otra habitación vuelve a dar valores aleatorios y no entiendo porque ya que esta pasados por conductos vacios.
Alguna idea para poder poner un termometro por habitación?

Gracias

a lo mejor algun otro termómetro seria mejor??

olvida lo que dije de AnalogRead.

yo uso siempre DS18B20. puedes usar los mismos cables y poner muchos sensores.

si el problema del numero de cables no existen ya los tengo pasados!!! Ahora el problema es que si conecto el lm35 directo a arduino no hay problema pero si lo hago en la otra habitación aparecen los valores aleatorios y la verdad no creo que todo lo hecho hasta ahora no sirva por la simple distancia.

como esta cableado? esquema? foto?

el cableado es de telefono pasado por las cajas, y lo que me mosquea es que lo probe sin meterlo por las cajas y funcionaba, mido el voltaje en la otra habitacion y da la misma que en el arduino.
No se, tiene que haber algo que no consigo ver.

por cierto el cable es el mismo que utilizo en arduino.

Vamos a ir por partes porque no me queda nada claro ni la aplicación que estás montando ni el sensor que estás usando.

En primer lugar, carga y ejecuta el programa este:

void setup()
{         
  Serial.begin(9600);
}

void loop()
{
  int valorAnalogico;
  
 valorAnalogico = analogRead(A0);  // Leo del pin A0
 Serial.print ( "Valor analogico: ");
 Serial.println (valorAnalogico);
 Serial.print ( "Tension: " );
 Serial.println ( 5.0 * valorAnalogico / 1024.0);  
 delay(2000);
}

Primero sin nada conectado. Debería darte una lectura del ruido que esté pillando ese pin. Tendrás un resultado similar a este:

Valor analogico: 89
Tension: 0.43
Valor analogico: 69
Tension: 0.34
Valor analogico: 81
Tension: 0.40
Valor analogico: 92
Tension: 0.45
Valor analogico: 91
Tension: 0.44
Valor analogico: 73
Tension: 0.36
Valor analogico: 74
Tension: 0.36
Valor analogico: 91
Tension: 0.44
Valor analogico: 93
Tension: 0.45
Valor analogico: 82
Tension: 0.40
Valor analogico: 69
Tension: 0.34
Valor analogico: 88
Tension: 0.43
Valor analogico: 84
Tension: 0.41

Ahora:

  1. conecta tu sensor al pin A0. Si es un sensor LM35 alimentalo y ponle el pin de masa a GND. Publica unas 5 lecturas.
    después,
  2. coge un cable largo (un metro aprox) y vuelve a repetir el experimento y mira a ver que valores te está dando. Publica unas 5 lecturas.
    Finalmente,
  3. conéctalo al cable ese largo y nos comentas cómo fluctúan más los valores. Publica 5 lecturas.

Si tienes unos valores extraños y aleatorios en 1 y 2 haz una foto para ver cómo has conectado el sensor.

Para concluir, con los valores de tensión que estés leyendo calcula la temperatura para ver si coincide con el datasheet del LM35.

Hola de nuevo, lo he hecho en cuanto he podido.

sin nada

Valor analogico: 721
Tension: 3.52
Valor analogico: 604
Tension: 2.95
Valor analogico: 560
Tension: 2.73
Valor analogico: 520
Tension: 2.54
Valor analogico: 479
Tension: 2.34
Valor analogico: 439
Tension: 2.14
Valor analogico: 416
Tension: 2.03
Valor analogico: 407
Tension: 1.99
Valor analogico: 395
Tension: 1.93
Valor analogico: 380
Tension: 1.86
Valor analogico: 364
Tension: 1.78

lm 35

Valor analogico: 32
Tension: 0.16
Valor analogico: 32
Tension: 0.16
Valor analogico: 33
Tension: 0.16
Valor analogico: 32
Tension: 0.16
Valor analogico: 33
Tension: 0.16
Valor analogico: 32
Tension: 0.16
Valor analogico: 32
Tension: 0.16
Valor analogico: 32
Tension: 0.16
Valor analogico: 33
Tension: 0.16

Cable de 1 metro

Valogico: 34
Tension: 0.17
Valor analogico: 27
Tension: 0.13
Valor analogico: 35
Tension: 0.17
Valor analogico: 25
Tension: 0.12
Valor analogico: 39
Tension: 0.19
Valor analogico: 34
Tension: 0.17

Cable largo

Tension: 5.00
Valor analogico: 716
Tension: 3.50
Valor analogico: 0
Tension: 0.00
Valor analogico: 10
Tension: 0.05
023
Tension: 5.00
Valor analogico: 716
Tension: 3.50
Valor analogico: 0
Tension: 0.00
Valor analogico: 10
Tension: 0.05
Valor analogico: 1023
Tension: 5.00
Valor analogico: 294
Tension: 1.44
Valor analogico: 0
Tension: 0.00
Valor analogico: 505
Tension: 2.47
Valor analogico: 1023
Tension: 5.00

Como lo veis??

Muchas gracias por todo

aqui tienes la solución
http://www.ogalik.ee/accurate-lm35-reading/

basicamente, pasate al DS18B20 que te recomende al principio.

Pues muchas gracias! Pero es una putada ya que tengo pedidos como 10 lm35!!

Pero bueno los vendere y buscare los que me has recomendado. A ver donde los encuentro

Gracias

Pues tengo un termometro sumergible y creo que es que me dices, como lo puedo comprobar?

Y otra cosa me podeis dar algun ejemplo para este termometro?

Gracias

Te iba a comentar que lo que estabas viendo era de lo más normal pero Sergegsx se ha adelantado :wink: . El siguiente experimento que te iba a pedir es que hicieses solo una lectura analógica de la siguiente forma:

void setup()
{         
  Serial.begin(9600);
}

void loop()
{
  int valorAnalogico[100];
  
  for ( int i = 0; i < 100; i++)
  {
     valorAnalogico = analogRead(A0);  // Leo del pin A0
     delay ( 7 );
  }
  for ( int i = 0; i < 100; i++)
  {
    Serial.println ( 5.0 * valorAnalogico / 1024.0);  
  }

 delay(10000);
}

Que copiases y pegases lo que imprimes en la consola de la linea serie en Excel y saques la gráfica de puntos. A ver que es lo que te sale.

Finalmente sacaríamos algunas conclusiones curiosas. Si tienes curiosidad, haz la prueba y publica una imagen con la gráfica. La verdad es que es un ejercicio muy curioso.

Sergegsx:
aqui tienes la solución
Accurate LM35 readings – Ogalik

basicamente, pasate al DS18B20 que te recomende al principio.

Has visto la fluctuación que tiene, ni con over sampling ni filtrando: tiene una señal rail a rail como la copa de un pino. Si ahora hace la prueba y publica la gráfica, veremos y sacaremos unas conclusiones muy curiosas.

Por cierto, tienes la casa a 16º? Se me olvidó hacerte esa pregunta, por los valores que estas publicando.

Jossema106:
Pues tengo un termometro sumergible y creo que es que me dices, como lo puedo comprobar?

Y otra cosa me podeis dar algun ejemplo para este termometro?

Gracias

no te das cuenta que todos mis enlaces salen del mismo sitio...
www.google.es.