Pages: [1]   Go Down
Author Topic: funcion millis()  (Read 1346 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola! Estoy intentando calcular el tiempo que esta regando y no se si me sirve la funcion millis() por si cuenta desde el "encendido" del sistema, sino es asi como lo puedo hacer?

Code:
if(regando == "ok"){
   
   t_anterior=millis();
   regado = 1;
   Serial.print("riega");
    Serial.println(t_anterior);
  }
  if((regando == "no") && (regado == 1)){
    regado = 0;
   
    Serial.println("no riega");
    tiempoRiego=millis()-t_anterior;
   
    Serial.println(tiempoRiego);
  }
Logged


Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Es critico el sistema?

o como dirian en Alien ¿Es un sistema de soporte vital?  smiley-mr-green

¿Me refiero a pasa algo si el arduino no riega y se queda bloqueado?
Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues que las plantas mueren. Por???
Logged


Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues que depende del cariño que les tengas...

No confiaria en la funcion milis para eso.

Lo normal seria o asegurarte un sistema de alimentacion segura para el arduino (si se va la luz, aunque empieze el programa, el valor de milis cambia, lo mismo que si pasan 90 dias se resetea)

Tambien asegurarte un sistema RTC para control de hora y una forma de almacenar (si no has hecho un SAI para el arduino) si has regado, cuando ha sido y cuando le toca para no quemar las plantas por exceso o por defecto. Hablo de lo mas logico, una pequeña eprom.

Como ves... son algunas variables que por eso te preguntaba lo critico del sistema.

Si es en tu casa y si un dia no riega no pasa nada porque lo controlas tu... pues bien, pero si no es asi... o se puede quedar fija la electrovalvula con el agua saliendo...

¿Me entiendes por donde voy verdad?
Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues si! La verdad es que el problema del grifo abierto no es tal por que es un deposito de 50l pero si tienes toda la razon!
Quemar las plantas tampoco ya que quiero  riegar a demanda comprobando la humedad.


El rtc lo tenia puesto pero algo he hecho mal y no funciona tengo un post por ahi (fallo rtc) explicandolo, asi que tengo pedido otro por si acaso y ademas para la calfeccion me hace falta.

El tema del sai no lo quiero poner para poder controlar si se va la luz y que el servidor php me lo notifique con un mail.

Se te ocurre algo mas?

Muchas gracias de verdad
Logged


Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues Josema106, te puedo comentar como lo haria yo a ver si alguna idea te puede valer...

Empleando la famosa frase relacionada con el agua de "it's raining cats and dogs" ("estan cayendo chuzos de punta")

pues yo emplaria los Dogs y mas en concreto WatchDog o perro guardian, es decir, pondria un watchdog en el control de la bomba del agua para que no vacie el deposito si se queda colgado el arduino y otro para comprobar que el arduino no ha muerto.

Si el arduino no manda un pulso deteminado a esos circuitos cada x tiempo se sabe que esta colgado y cerraria bomba si esta en marcha y emitiria alarma de que esta muerto.

Por otro lado emplearia una eprom pequeñita, no hace falta que sea grande en la que almecenaria tiempo presente, pasado y futuro y asociado a esos tiempos variables de riego (tiempo de regado, concluido) para tener control en caso de perdida electricidad, explico:

Si el RTC que seria el corazon de mi sistema fallara porque se ha agotado la pila p.ej. el arduino al comienzo comprobaria si el tiempo pasado almacenado en la eprom es mayor que el tiempo actual del RTC, si es asi, emitiria alarma.

Si se queda sin electricidad el arduino (funcionando corecto el RTC) con un condensador grande mantendria el tiempo suficiente para que guarde en la variable tiempo actual de la eprom la fecha ultima de regado y si ha terminado de hacerlo o cuanto le queda, asi cuando vuelva la electricidad puede acabar la faena pero por el tiempo que necesite, no todo el proceso.

Y con la variable tiempo futuro, almaceno la fecha en que tiene que regar si o si, no sea que la sonda de humedad falle por lo que sea y este esperando a que este seco el terreno y no riegue.

Eso seria a groso modo como lo esbozaria yo, pero los tiempos siempe controlados por el RTC que es mi patron mas fiable.

Un saludo.
« Last Edit: February 05, 2013, 02:05:58 am by Heke » Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Madremia! En la vida se me habria ocurrido algo parecido! smiley-eek

Por partes, el tema de los impulsos es perfecto!

La variable pasado para comprobar si funciona el rtc tambien perfecto! Y si esto ocurre que mande un me mande un mail.

Y la variable presente creo que la puedo obviar ya que si cuando se reactive arduino en casonde fallo como esta comprobandi constantemente la humedad de las dos zonas de regadio si está por debajo de lo indicado riega aunque haya terminado por un fallo.

He leido y no recuerdo donde que la eeprom tiene accesos limitados y por eso estoy pensando en hacer con la sd de la ethernet pero no consigo leer bien los datos, pero bueno ese es otro tema.


Muchas gracias!
Logged


Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No, la del arduino interna no, yo hablaba de una 24lc de cualquier marca:



¿Y si falla el sensor de humedad?

Para que te hagas una idea, en mi casa, lado norte (puerta entrada) puedo tener nieve acumulada por los siglos de los siglos mientras que el lado sur le esta dando el sol, si el sensor esta en el lado equivocado, no regaria en varios dias... por eso no dejaria al azar el tema de humedad.

Un saludo
« Last Edit: February 05, 2013, 02:17:49 am by Heke » Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Q envidia!
Si yo lo que tengo es una yerraza de 11m y las plantas solo en una estateria y en un lateral del suelo!

Te mando un mp con la direccion de mi web.

Hay diferencia entre usar un eeprom o la sd? Lo digo por no utilizar mas pines de los que ya tengo.
Logged


Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No la envidies mucho... la jodia es de alquiler, me cuesta un huevo (no se si en esta franja horaria se puede decir "huevo")  y si no calentarla...  smiley-sad

La diferencia esta en los ciclos de escritura, pero no se los valores de la SD, la eprom se que aguanta muchos ciclos, la tarjeta ni idea... pero para lo que cuesta... (incluso puedes emplear una vieja de esas de 64Mb que venian con los moviles) puedes permitirte el lujo de emplearla.

Un saludo
Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok probare!
Logged


Pages: [1]   Go Up
Jump to: