Hola foro, bien resulta que estoy teniendo un pequeño problema a la hora de realizar la lectura de dos sensores. Uno de temperatura (LM35) y uno de humedad.
Estoy desarrollando un sistema de riego automatizado con un arduino nano, bueno tengo el sensor de temperatura estable, pero al conectar el sensor de humedad o estando este ya conectado, la lectura del sensor de temperatura se vuelve inestable demasiado, cuando lo desconecto la temperatura vuelve a la normalidad, no se porque sucede eso.
Bueno como sensor de humedad estoy usando dos pequeños alambres con una resistencia en pulldown.
Esto funciona para mi, pero pasa lo antes mencionado.
La explicación mas simple que tu sensor de humedad este consumiendo demasiado y haga fallar a tu arduino. Notas algun otro cambio en el comportamiento del Arduino?
Tienes un tester como para medir cuanta corriente consume el sensor de humedad. Deberían ser unos pocos mA.
Si, exactamente ese, es original según me dijeron el la tienda.
El circuito, no uso, lo tengo conectado al arduino con su alimentación normal(el lm35).
Medi la salida del sensor, conectando y desconectando el sensor de humedad, el valor se mantiene estable, el problema pasa a la hora de realizar la lectura.
Ya aquí, como puedo hacer para tener una lectura más estable. Me puedes dar un código de ejemplo de como realizar varias lecturas y sacar una sola sumando estas, bueno como sería para hacerlo?
Por ahora el método que estoy usando me funciona pero la lectura de la humedad varía un poco no es mucho pero me gustaria reducir ese margen de lectura para ser un poco exacto.
Con el método que te mencioné esta funcionando bastante bien, ya obtengo la temperatura estable.
Bueno como mencioné uso como sensor dos pequeños conectores sin su aislante. ¿Como?
Bueno como estoy trabajando en una mazetera, metí los dos alambres a lo largo de la mazetera dentro de la tierra.
Y mientras más conduzca es porque hay muy buena humedad, hago la lectura lo convierto de 1023 a 100 con el método map.
Esto funciona quizá no precisamente pero obtengo una lectura y mientras más baja sea es porque la humedad es menos.
Bien esto funciona sin problemas.
El problema es al estar conectado el sensor lm35 y querer conectar el sensor de humedad.
Pero bien si conecto la entrada analógica directamente a la alimentación 5v pasa lo mismo, me desestabiliza la lectura de la temperatura.
Si entiendo bien, un cable a un pin ADC y otro a GND, ¿es así?
Lo único que se me ocurre es que se genere/detecte "ruido" eléctrico y eso afecte las lecturas.
Lo ideal sería hacer un circuito balanceado para tu sensor (generalmente se usan amplificadores operacionales) y de esa forma eliminar el ruido que pudiese entrar por el cableado, pero intenta con lo que te propuso @Surbyte que puede dar buenos resultados.
Probablemente debido a la impedancia de salida asimétrica del LM35.
El LM35 tiene una impedancia de fuente baja pero la impedancia del sumidero es alta.
Por lo tanto, no puede descargar el condensador de retención de muestras ADC.
Si se resuelve fácilmente, conecte LM35 a A0, higrómetro a A1 y A2 a GND.
Realice una lectura analogRead(A2) antes de medir, cada dato descargará completamente el condensador S/H.
(Originalmente, uC tiene un diagrama que conecta ADC a GND internamente, pero se usa A2 porque no se puede usar con Arduino analogRead).
EDITAR:
Ponga la lectura de A2 antes de cada lectura.
tmp = analogRead(A2); // Conecte GND para descargar el condensador S/H
tmp = analogRead(A0); // Leer LM35
hyd = analogRead(A2);
hyd = analogRead(A1);