Ayuda: Modo Sleep Arduino usando librería Snooze

Hola a todos,

desde hace varias semanas vengo desarrollando un proyecto para uso personal consistente en una red de sensores inalámbricos a través de los cuales quiero monitorizar las variables relevantes (humedad de suelo y temperatura de suelo) de mi cultivo. Para ello he construido una WSN consistente, de momento, en 2 nodos remotos que se comunican a través de Xbee entre ellos y con un coordinador, que a su vez está conectado a la red a través de Ethernet Shield. El coordinador va enviando los datos que le llegan de los nodos remotos directamente a una plataforma en la nube (Carriots) desde la que puedo trabajar con los datos, generar gráficas, alarmas, etc. y servirlo todo en mi web personal.

Cada nodo remoto tiene conectados 3 sensores de humedad de suelo y un sensor de temperatura de suelo.

Cada nodo es energéticamente autónomo, alimentado por una placa fotovoltaica y una bateria ion-Li de 3.7V.

Hasta aquí todo desarrollado y funcionando correctamente.

El problema que se me plantea ahora es, dado que, como he dicho el sistema es energéticamente autónomo, quiero hacerlo lo energéticamente más eficiente posible a través del modo sleep de Arduino, pero no tengo mucho conocimiento sobre esta técnica.

Lo que me gustaría hacer es tomar valores de los 3 sensores de humedad y del sensor de temperatura una vez cada hora y, una vez enviados al coordinador, que el Arduino vuelva a entrar en modo Sleep para que consuma lo mínimo posible hasta la siguiente hora. He descubierto la librería Snooze desarrollada por Victor Suarez (miembro de esta comunidad) y estoy implementándolo en el código pero, antes de plantear cuestiones sobre la funcionalidad de esta librería quería terminar de comentar mi proyecto.

Por otro lado, y esto es lo que me trae de cabeza, querría añadir a cada nodo un caudalímetro que mida el caudal que pasa por una tubería de riego. Quiero mantener el status de ahorro energético y me gustaría que el Arduino durmiese, a menos que sea la hora de hacer las lecturas de humedad y temperatura antes mencionadas, o cuando le llegue una señal digital del caudalímetro (es decir, cuando se esté regando), y se mantenga despierto y midiendo caudal hasta que este cese, momento en el que entraría de nuevo en modo sleep.

Llegado a este punto tengo el conflicto de utilizar la librería Snooze para dormir y despertar cada 60 min., e implementar también código para despertar la placa en base a un suceso externo, en este caso la entrada de una señal digital proveniente del caudalímetro.

Antes de meterme en cuestiones más técnicas quería preguntar que os parece el asunto, ¿alcanzable?, ¿imposible?, ¿algún consejo?.

Quedo a la espera de respuestas.

Gracias,

Un saludo!

1 me gusta

Eso ya está hecho. Se llama Indalduino y hubo una charla el día 23 de Octubre (si no me equivoco).

Busca por el foro porque está. “Arduino de bajo consumo” es un post largo, yo no lo sigo, pero es de lo mejor que hay en cuanto a técnica e información. Podrás contactar con más gente.

P.D. No sé quien eres. ¿Te presentas? (en el apartado correspondiente). Y bienvenido al grupo!!

Hola Rafa:

En primer lugar, bienvenido a HackLab. Me ha gustado mucho tu proyecto y la verdad esta muy bien. Como ha dicho aquí el compañero @josemar1992, hay un post sobre Arduino Bajo Consumo ; donde puedes encontrar mucha información sobre como crear tu propio arduino de bajo consumo y por supuesto nuestro compañero @JavierNo te puede ayudar mucho en este aspecto.

Con respecto a la librería que cree llamada SnoozeLib, puedes hacer lo que comentas que espere 60 minutos y que despierte ella sola. Para ello pone la placa en modo Bajo consumo(apaga todo excepto las interrupciones); aunque quiero añadir a esta librería el poder cambiar el modo de bajo consumo que tiene arduino.

Para despertar la placa siempre puedes utilizar una interrupción de manera que se despierte al pulsar un botón o en este caso, al pasar una señal por una de las patillas con interrupción(En Arduino UNO son las patillas 2 y 3).

En mi blog, tienes un post donde especifico los modos que tiene la placa de bajo consumo y por supuesto te animo a que si quieres puedas mejorar la librería o cualquier aportación es bien recibida por algo liberé dicho código. te dejo el enlace al artículo.

http://booleanbite.com/web/arduino-bajo-consumo/

Cualquier duda que tengas, estaremos encantados de ayudarte. Y nos gustaría saber más sobre el proyecto que nos encanta ver proyectos que hace la gente!

Un saludo.

2 Me gusta

Increíble el proyecto Rafa, muy interesante.

¿Por qué no te presentas por aquí y nos cuentas más sobre ti? Has conseguido crear un sistema fantástico, estaríamos encantados si compartieras todos tus conocimientos con nosotros.

Estás más que invitado a seguirnos por el foro, a participar en la comunidad y a asistir a nuestros eventos, especialmente al Taller de Cacharreo, donde presentamos proyectos y cacharros similares.

¿Tienes documentado tu proyecto en algún sitio?

¡¡Y bienvenido!!

Hola de nuevo,

mis disculpas @josemar1992 y demás miembros del foro por no haberme presentado. Soy Rafa, cordobés y desarrollador de aplicaciones generalmente en Arduino que ha conocido el foro a través de un contacto con @vsuarez y del interés que tengo en utilizar la librería Snooze desarrollada. Soy ingeniero industrial y me dedico profesionalmente a la I+D+i, aunque lejos de estos desarrollos hardware y software, sino como gestor de la innovación en la empresa privada. Este es, digámos mi pasatiempos particular aunque me encantaría algún día poder dedicarme por entero desde una perspectiva más experta.

Dicho esto, comentar que ya le había dado una vuelta, antes de abrir este nuevo post, a “Arduino de bajo consumo” pero creo que se debaten otros temas más o menos alejados de mi propósito particular y por esto he creído oportuno abrir una nueva línea. No tengo problema en plantear mis cuestiones en el post que indicais.

Por último y, en relación a la respuesta de @vsuarez, no estoy seguro si he entendido tu respuesta. Doy por hecho que SnoozeLib me da la opción de dormir y despertar mi Arduino cada 60 min. Estoy haciendo pruebas ya y, aunque no he tenido resultados fructuosos de momento, estoy seguro cumplirá mi propósito. Mi pregunta es: aparte de dormir durante 60 min., la librería permite la opción de despertar antes de esos 60 min. en caso de que ocurra un evento exterior (entrada de señal digital en este caso)? o eso sería una implementación de código a parte. He visto ejemplos, en tu blog y otros, de cada caso pero nunca de combinar ambas restricciones en el sleepMode de un Arduino.

Quedo a la espera de tu respuesta.

Un saludo!

Muchas gracias por la bienvenida y el interés en el proyecto, aun no tengo nada documentado, aunque no tendré problemas en hacerlo, no sin antes haberlo terminado cumpliendo todos mis propósitos y hacerle un"pulido final". Como comento en el post, lo que me falta básicamente es configurar el modo sleep en base a mi propósito para que me asegure que el sistema es eficiente energéticamente , ya que está alimentado con batería y placa PV.

Es por esto por lo que solicito colaboración en el foro de colegas que se interesen y tengan más conocimiento que yo en SleepMode de Arduino, ya que yo estoy bastante pegado pero…,paso a paso estoy seguro terminare el código con la funcionalidad que busco.

Un saludo!

1 me gusta

Con respecto a tu duda si que es posible; usando una interrupción.
Por ejemplo:

#include <SnoozeLib.h>//Include the library
 
int state = HIGH;//Led State 
void setup(){
  pinMode(6,OUTPUT);
  attachInterrupt(0,wakeup,RISING);//Attaching the 0 Interrupt(on Arduino UNO pin 2) for RISING.
  Serial.begin(9600);
}
 
void loop(){
 
  Serial.println("Snoozing...");
  snoozeLib.snooze(10000);//Snooze the CPU
  Serial.println("Wake UP!!");
  digitalWrite(6,state);
}
 
void wakeup(){ //Interrupt Handle Function
snoozeLib.wakeup(); //WakeUp The CPU
 state=!state;//Change the State
}

Ese ejemplo veras una funcion llamada wakeup… esa funcióin es llamada a través de una interrupción usando la función de arduino attachInterrupt(0,wakeup,RISING);. Con ese código puedes despertar la placa a través de un evento externo.

Espero que se haya resuelto tu duda.

Hola Rafael,

Me enhorabuena por el proyecto, personalmente como ingeniero agrónomo me parece muy interesante, y me gustaría que nos contaras más sobre el mismo, sobre todo qué modelo de sensores estas utilizando, cómo lo has implementado, y una charla como ya han comentado…

Con respecto a las librerías de bajo consumo yo he probado las librerías LowPower y la JeeLib. La primera tiene el problema de que el tiempo que duerme el Arduino es como máximo de 8 segundo, por lo que si quieres usarla tendría que hacer un bucle para mantener dormido el Arduino durante la hora que planeas dormirlo. La librería JeeLib a mí me ha dado mejores resultados, reduce más el consumo y puedes poner el tiempo que quieras. No tengo experiencia con la librería de @vsuarez, ya supe de su desarrollo posteriormente a implementar mi proyecto. No tengo experiencia sobre el tema de las interrupciones externas pero creo que con la JeeLib se puede implementar. Aquí te dejo los enlaces de las páginas de las librerías por si quieres profundizar en su conocimiento:

Para la librería JeeLib la forma de usarla en los sketch es:

//Carga liberia para funciones de bajo consumo JeeLib
#include <JeeLib.h>
// Setup para espera en bajo consumo
ISR(WDT_vect) {
  Sleepy::watchdogEvent();
}

void setup() {
}

void loop() {
  Sleepy::loseSomeTime(10000);
}

En el caso de la libreria LowPower, la forma de incluirla en los sketch es:

// Carga liberia LowPower para funciones de bajo consumo
#include "LowPower.h"

void setup() {
}

void loop() {
  // Enter power down state for 8 s with ADC and BOD module disabled
  // LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
  // ATmega328P, ATmega168
  LowPower.idle(SLEEP_8S, ADC_OFF, TIMER2_OFF, TIMER1_OFF, TIMER0_OFF, SPI_OFF, USART0_OFF, TWI_OFF); // Es el bueno pero no en uso
}

Por otra parte, comentarte que en mi experiencia reducir el consumo de Arduino no solo depende de utilizar una librería bajo consumo, también depende del modelo de Arduino que utilices, de los 3 que yo evalué (Arduino Uno, Nano, ProMini) el que menos consumía y con el que más efectivo era las librerías de bajo consumo es con el Arduino ProMini, debido a que tenía menos “componentes extras”, ya que por ejemplo no tiene conector USB. Esto es debido a que las librerías duerme el microcontrolador pero en las placas hay más componentes que siguen conectados y consumiendo. Al final me decidí por diseñarme mi propio Arduino (el IndalDuino) para así reducir los componentes al mínimos y reducir al máximo el consumo cuando utilizo librerías de bajo consumo.

Bueno espero que te ayuden los comentarios que de podamos hacer, ya nos vas contando tus avances y a que resultados llegas.

Me gustaría seguir sabiendo de tu proyecto.

Un saludo
Javier

1 me gusta

Javier,

disculpa no haber contestado antes pero entre el trabajo y las fiestas, he estado liadísimo estas semanas.

Gracias por tu respuesta y por tu valoración del proyecto. En principio estoy haciéndolo todo con sensores de bajo precio, calibrados y ajustado experimentalmente por mí. Para humedad de suelo uso los chinos FC-28 (aprox. 3€/ud.), como digo para la fase de prototipado y validación me están dando buenos resultados, el inconveniente es que en la realidad tendrán que ir enterrados, a diferente profundidad del suelo, y estos se deterioran más o menos rápidamente. He encontrado modelos más robustos, pero en este caso, de 40€ ud. para arriba. Para la temperatura de suelo utilizo la sonda DS18B20 (4€/ud.) con la que también he tenido muy buenos resultados. En cuanto a instrumentación también quiero medir caudal de goteros y he comprado los caudalímetros YF-S201 (7,5€/ud.) pero no me sirven dado que miden en un rango de 1-30l/min y en un riego de cultivo agrícola, para medir a nivel gotero-árbol, necesito una orden de magnitud de 0,1l/min. He encontrado soluciones al respecto y he preguntado a un par de fabricantes por precios pero aun no he tenido respuesta.

Respecto el asunto de dormir el arduino: @vsuarez no me olvido de tí, quería agradecerte tus palabras, me han sido de bastante ayuda. Tengo controlado el que duerma 1 hora, despierte, mida en cada sensor, envíe al coordinador y duerma hasta la siguiente hora. Sin embargo, al querer incluir en el sistema un caudalímetro que mida cuando salte el riego, envíe datos cuando ha dejado de medir (>5seg. inactivo) y vuelva a dormir el sistema, lo desconfigura todo por que el sistema dormiría según la configuración que he hecho, 60 min. a partir de que este terminase de medir, y al activarse cada vez que salte el riego, el resto de sensores podrían quedarse sin medir varias horas en función de la activación/desactivación del riego.
Para solucionarlo he comprado un reloj con pila para Arduino DS3231 (3,6€/ud.) que aun no me ha llegado pero que pretendo que, rija el sueño de los sensores, dejando al caudalímetro funcionar por su cuenta. Aun no me he puesto con el código dado que no tengo el reloj, pero tengo alguna idea en la cabeza. Lo iré copiando en el foro para que tengáis referencias.

Por último, comentarte que, en términos de eficiencia energética, mi idea final, tal y como tu has comentado, no es usar Arduino UNO sino una MINI Pro e incluir sólo los elementos necesarios montándolo todo en una placa de topos. De esta manera también abarataré coste del sistema general y espacio físico, pero antes quiero tenerlo todo funcionando en Arduino UNO y validar el modelo.

Seguiré comentadoos mis avances en el proyecto y cuando lo tenga terminado, espero no pase un par de semanas, me gustaría documentarlo para que podais ver todo el proceso en su conjunto. Como siempre, agradezco cualquier comentario, sugerencia, etc.

Un salud y feliz año nuevo!!

1 me gusta

Buenas noches Rafael,

Gracias por compartir toda la información sobre sensores y demás.

Me interesaba ampliar la gama de sensores utilizables en agriculta. No conocía el sensore de temperatura que usas, yo he usado el DHT11 y DHT22, que son muy fáciles de manejar con la librería disponible que hay en internet.

Con respecto al caudalímetro no sé si conoces el modelo YF-S402, que según las especificaciones va desde un rango de 0.3l/min. Aquí te dejo un enlace por si lo quieres valorar:
http://microcontrollershop.com/product_info.php?products_id=6803

De todas forma, y aunque no soy especialista en riego, si quieres medir a nivel de 0.1 l/min, eso significa que son goteros de unos 6 l/h., y normalmente para árboles se usan goteros de mayor caudal, o varios goteros por árbol, para en época de alta demanda no incrementar en exceso el tiempo de riego, no sé si lo has tenido en cuenta.

Con respecto al reloj, solo comentarte, igual lo conoces, hay una librería que se llama Timealarms, que permite la programación de alarmas de una forma bastante fácil. Yo no la he usado pero la tengo en mente para mejorar un proyectillo de programador de riego. Aquí dejo un enlace con un ejemplo.
http://www.prometec.net/relojes-rtc/

Espero que avances rápido con tu proyecto (al menos más rápido que yo con los mios) y nos lo puedas motrar.
Javier

1 me gusta

Hola JavierNo,

buena información, no conocia el caudalímetro YF-S402, este si cumple mis expectactativas, además lo he encontrado en ebay por 8€ que es el mismo precio por el que adquirí el YF-S201. Te dejo un link con ejemplo de progrmación de la sonda de temperatura DS18B20: http://panamahitek.com/aprendiendo-utilizar-el-sensor-de-temperatura-ds18b20/

Respecto las alarmas en el reloj, estoy actualmente trabajando en ello y me está dando muchos problemas y dolores de cabeza. Consigo programar la alarma en el reloj (cada hora, a en punto) pero no que despierte el arduino y se vuelva a dormir en cuanto haga las lecturas de sensores y las envíe. Si conoces ejemplos o proyectos similares, por favor, coméntamelo porque estoy bastante desesperado con el asunto.

Gracias por los link, ya conocía el foro de Prometec, es muy bueno.

Seguiré comentando mis avances en el proyecto que espero sean en poco tiempo.

Un saludo!

Hola Rafael,

No sé a que se puede deber el problema con la librería de bajo consumo. A mí me dio problema con la interacción con la librería "LiquidCyistal (en un proyectillo con una pantalla LCD), al final buscando información en la web de la librería de bajo consumo encontré que habían desarrollado otra libreria similar a la LiquidCrystal que solucionaba el problema, solo tuve que cambiarla y se solucionaron tus errores. Puede que te esté ocurriendo algo así con otras librerías que uses.

Hace algún tiempo hice un datalogger con un reloj, un tarjetero SD y un sensor de temperatura y humedad, donde dormía y despertaba el arduino cada cierto tiempo… Voy a buscar el sketch y lo cuelgo por si te vale, aunque no usaba interrupciones, que también pude que sea ahí donde tengas el problema.

Saludos
Javier

Javier,

la verdad que esta semana apenas he podido dedicarle tiempo al proyecto y sigo en las mismas, espero en el fin de semana pegarle un empujón y poder dejar resuelto el asunto. De momento no estoy programando la interrupción para el caudalímetro pero sí para la alarma del reloj, realmente lo que hace despertar el Arduino es un evento de interrupción generado por la alarma del reloj, en teoría debería estar bien pero hay algún problema con el código. No te escribo desde mi ordenador de trabajo y no tengo aquí el código, mañana sin falta lo subo para que también le podáis echar un vistazo.

Muchas gracias por el interés y la ayuda que me estás brindando. Si consigues encontrar ese proyecto y su código te agradecería lo publicases para poder ver diferencias con el mío, a ver si de una vez por todas dejo solucionado el asunto.

Un saludo!

Hola Rafael,

He encontrado el sketch y aquí te lo subo como pdf porque con extensión .ino no me deja el sistema o no sé hacerlo, así que lo he impreso como pdf y lo he subido, en lugar de colgar el sketch como texto.

dataloggerV4.pdf (27,6 KB)

Espero que puedas copiarlo desde el pdf y pegarlo en el Arduino IDE. Si tiens algún problema ya buscamos otra forma de enviártelo.
En este sketch usaba la librería JeeLib, hay varias cosas comentadas de pruebas multiples que estuve haciendo, pero se compila sin problemas y el datalogger lo tuve funcionando de manera continua más de un mes.

Tanbién te pongo acontinuación el enlace a la web de la librería JeeLib:
http://jeelabs.net/projects/jeelib/wiki#Welcome-to-JeeLib
Web de la librería LowPower, que también he usado en alguna ocasión:
http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/
Y otras web que tenía por ahí guardadas sobre uso de otras librerías de bajo consumo con algún ejemplo pero de las que no tengo experiencia:
http://www.engblaze.com/low-power-libraries-for-arduino-control-sleep-with-single-function-calls/
http://www.engblaze.com/hush-little-microprocessor-avr-and-arduino-sleep-mode-basics/



Espero que te pueda ayudar esta información.

Javier

Hola Rafael,

Recién me encontrado con el tema, buscando precisamente un procedimiento para optimizar la energía de arduino… midiendo la humedad del suelo!

Soy ingeniero en irrigaciòn y desde hace bastantes años trabajo en el tema de sensores baratos para la medicion de la humedad del suelo. Para el uso eficiente del agua y de la energia lo fundamental es conocer la dinamica de la humedad del suelo; sin ese conocimiento todos los esfuerzos para ahorrar agua y energia se opacan. El problema es que en el amplio espectro de los sensores de humedad, los ùnicos fiables son los sensores dielectricos, pero las compañias que los producen los venden demasiado caros; entre 100 USD y 3000 USD cada sensor.
Entre los otros métodos casi ninguno tiene sentido por su imprecisión. El que tu usas, se basa en el método resistivo, que efectivamente es muy barato, pero dura muy poco porque se corroe al pasar la corriente eléctrica (un par de clavos dura màs y cumple el mismo propósito); pero ese no es el único problema; el problema fundamental es que al variar la concentración de sales (conductividad eléctrica) te varían la relación conductividad-contenido de humedad y las lecturas son erroneas: Así,cada vez que se agrega un fertilizante (natural o industrial) se afecta la concentracion de sales y por tanto la conductividad electrica de la solucion suelo-agua disponible y la lectura de contendido de humedad se distorsiona de manera indefinida y se llega a absurdo de tener mas humedad casi seco que despues de regar. Funcionaria bien si se regara siempre con agua destilada (aunque se corroerìa de todas maneras) y nunca se fertilizara…
Los sensores dielectricos no se corroen poruque estan aislados y no hay electrolisis, ni se afectan con la salinidad.

Recientemente me he metido al tema de la electricidad y un poco menos al de la electrónica (y a arduino) para entender sobre los principios dieléctricos… y es tan sencillo y barato como los principios resistivos y he transformado tu sensor FC-28 en sensor dieléctrico agregando tan solo un par de resistencias, un condensador y un oscilador, que todos juntos, incluidos el FC-28 ( que yo compro a 75 centimos de USD) no cuestan mas de 1.5 USD !!!

Mi objetivo final es llegar a tu diseño, (que lo venden las trasnacionales a precio de oro molido) pero con sensores adecuados, para que todo el sistema pueda ser fiable. Yo todavía estoy con los sensores pero me interesa (me impresiona) tu desarrollo.

Me gustaría que compartiéramos experiencias …

Gracias

Hector

1 me gusta

Hola @quinoneshector,

Me parece muy interesando lo que cuentas sobre el sensor modificado, me gustaría que nos contaras como te ha quedado el sensor modificado y qué resultados estas obteniendo con su uso, si es que lo estás usando. Si puedes dejar algún enlace a alguna web o alguna foto/esquema sería de agradecer.

Saludos
Javier

Hola Javier,

Gracias por tu interés. No imagines que soy experto en electrónica, todo lo contrario, por lo que mis logros son menos que modestos y no tienen nada de extraordinario. El único merito es que hace años que me di cuenta que el único procedimiento de evaluar el contenido de agua del suelo (y de ahi, el volumen de agua de riego, el periodo entre riegos, y la economía del agua y la preservación del equilibrio ecológico) son los procedimientos dieléctricos. Y eso justamente aprovechando la singularidad de la constante dieléctrica del agua que es cerca de 80 cuando TODAS las demás sustancias (hierro, plomo, minerales, sustancias bilogicas, etc es de entre 1 y 3). Asi que sil constante deilectrica de un compuesto varia con el tiempo, la unica razòn es que esta variando la presncia de agua… asi de simple. Y en la vida practica, el componente electronico que fucinona con el principio dielectrico es el condensador; La capacitancia es funcion de 3 factores; VOLTAJE, DISTANCIA ENTRE PLACAS y PROPIEDADES DIELECTRICAS del medio que separa las placas. Si mantenemos constante la distancia y el voltaje y la conductancia varia, es porque medio dielectrico esta variando, y lo unico aue lo hace variar es el contendio de agua: Asi funcionan la pantallas tactiles de los teléfonos actuales, de las tabletas y ordenadores… se llaman pantallas capacitivas o dielectricas; l acercar la yema de los dedos se modifica la capacitancia.
En resumen, no tengo fotos; no son necesarias, puesto que el sensorFC-28 es el mismo, solo que en vez de hacerlo funcionar como resistencia, lo hago funcionar como condensador; y en lugar de pasar corriente entre las placas para medir la resistencia, lo hago almacenar corriente y mido el tiempo de descarga que es proporcional a la capacitancia… Ah… y para que el sensor no tenga contacto con el agua y evitar efectos de corrosion, lo aislo con cinta aislante como se puede ver en la fotografia. Los 2 vasos contoienen agua, un vaso tien agua del grifo y el otro tiene sal a saturacion, mayor de 10000 ppm y la lectur no se modifica con la presencia de sales…

Despues de tu interes por la modificacion del FC-28 me he puesto a leer con detalle el tema y veo que seguimos coincidiendo: Yo tambien he construido el datalogger, pero no lo “dormìa” porque lo tenia pegado a la PC; ahora que lo deseo independizar y conectarlo a una pila es que me encontrè con la necesidad de dormirlo y asì llegue a este sitio y este foro. Voy a tratar de compilar tu sketch; aunque lo ideal es que durara varios meses (al menos un ciclo agricola) enviando datos cada 10 o 15 minutos para automatizar los riegos sin necesidad de ir a cambiar pilas…

1 me gusta

Aqui puedes ver la foto::: es una pagina web antigua, muy antigua que yo tenia, pero creo que puedo seguir usando para compartir archivos…

Si no funciona, dame una idea sobre la manera para compartir archivos… Me estoy reciclando tambien en informatica…
Sobre el tema, tengo algunas publicaciones cientificas (con sensores comerciales de valores superiores a 300 USD) pero que funcionan con el mismo principio y son tan precisos como relojes suizos al reflejar con una absoluta fidfelidad la dinamica del agua en el suelo.Las publicaciones muestran el funcionamiento de esos sensores comparados con los demas metodos y las precisiones de cada uno de ellos, asi que sobre èste en particular no tengo todavia medciones de campo, pero son occiosas porque el metodo no varia: Lo novedoso es que se pasa de costar 300 USD el sensor y 2000 USD el datalogger al costo de 8 USD la placa arduino y 1,5 USD el sensor dielectrico… He ahi el mèrito…

1 me gusta

Resumen de una publicacion (en español)
MEDICION DE LA HUMEDAD DEL SUELO POR REFLECTOMETRIA EN EL DOMINIO TEMPORAL (TDR): II.- Aplicaciones en irrigación

Héctor E. Quiñones Pedroza
Pierre Ruelle
Ildiko Nemeth

Cemagref, Francia.

Palabras clave: Humedad del suelo, TDR, evapotranpiración, irrigacion.

Resumen

El conocimiento de la variación de la humedad del suelo es esencial para la determinación de la evapotranspiración real de los cultivos; ésta a su vez permite conocer las cantidades necesarias de agua de riego. Los lisímetros, los tensiómetros y el aspersor de neutrones han sido ampliamente utilizados para la medición precisa de la humedad del suelo con propósitos de calibración de modelos de programación del riego o para su utilización directa en el calculo de volúmenes de riego. A pesar de la gran importancia de tales mediciones, la utilización es muy limitada debido a que estos métodos afrontan serios problemas (elevados costos de los lisímetros y del aspersor de neutrones asi como su severa reglamentación y rango de validez limitado de los tensiómetros, etc.) que dificultan su generalización; además las mediciones de tales métodos son generalmente puntuales y discontinuas. La reflectometría en el dominio temporal, TDR, se presenta como una alternativa viable a tales métodos por su precisión, y la continuidad de las mediciones. En el presente trabajo se presenta la evaluación de la humedad del suelo, por el método neutrónico y TDR, en un cultivo de maíz irrigado por gravedad en surcos cerrados. Los resultados muestran que si bien las determinaciones absolutas de la humedad presentan diferencias en los perfiles 30-90 cm, las variaciones de la humedad son similares en todos los casos y responden de de manera consecuente a los aportes de agua y a la evapotranspiración. Se pone de manifiesto la limitación del aspersor de neutrones por la discontinuidad de las mediciones en contraste con la continuidad de la TDR que permite el análisis detallado de los fenómenos de infiltración y evpotranspiración a escalas de tiempo instantáneas. Las lecturas de humedad del selo se toman cada minuto… la sonda neutronica (otro metodo preciso) no permite tomar mediciones en periodos menores a 10 dìas como se puede apreciar en el esquema 2)


Esta figura es un zoom (ampliacion en escala) de la anterior, entre el 23 y el 28 de agosto y se agrega la comparaciòn con la radiaciòn solar (el motor de la variaciòn de la humedad) cuya integral (el area bajo la curva de la radiaciòn) misma que corresponde como reloj suizo a la variaciòn de la humedad en cada dìa; la humedad aumenta un poco durante las noches, pero repreenst el fenomeno del equilibrio del potencial del suelo, que durante el dìa en la vecindad del suelo es mayor; en la noche la humead de zonas con menor potencial se equilibran creando un efecto aparente de incremento de humedad…El intervalo de lecturas es de 1 minuto (a diferencia de la sonda neutronica, otro metodo preciso) cuyo intervalo no puede ser menor de 10 dìas.

Ya para finalizar, si es que no te he saturado con tanta informacion, los resultados que tengo en trigo son realmente impresionantes… si te interesa, podemos proseguir…

1 me gusta

Hola @quinoneshector,

Gracias por toda la información que has volcado. En la foto se ve que has utilizado algún tipo de microcontrolador (o así me parece por el encapsulado) junto con el sensor FC-28. Me podrías decir de qué componente se trata o mejor aún si tienes un pequeño esquema en Fritzing de todo el diseño del proyecto (o un esquema eléctrico), así como del sketch que has usado en arduino para acceder a la lectura de los datos del sensor, ya que no sé si al ser un sistema capacitivo en lugar de resistivo varía la forma de adquirir las lecturas del sensor.

Gracias de nuevo, muy interesante la variación de la forma de utilizar el sensor que has presentado.
Javier

1 me gusta