Ayuda con aumento y disminucion de tiempo secuencial para proyecto champiñones.

Hola compañeros, estamos intentando crear un mini cultivo de champiñones, lo mas ecologico posible, tanto en iluminacion como ventilacion, con placas solares, ya que donde esta no hay luz electrica.
De momento estamos fermentando-cociendo el abono de los caballos y algo de cerdos para preparar la base o madre para el semilleo, pero la cargacion del ambiente es irrespirable por la pulverizacion de agua sobre el abono, el calor de la autococion y que nosotros en la madrugada y/o mañana movemos ese abono.

Tenemos el codigo que muestro abajo, que a la fecha programada hace encender los 4 reles que se encargan de meter aire fresco y sacar el aire viciado, pero aqui viene el caos para nosotros, necesitamos que al dia siguiente de la programacion se adelante 15 minutos en encendido y para la parada se retrase otros 15 minutos, hasta completar un maximo de 7-8 horas diarias, para permanecer en esas de encendido y apagado con las 7 horas de funcionamiento.

Os comento como seria la intencion: el programa empezaria a funcionar el 1 de octubre, encendiendo los reles a las 4:00 horas de la noche y se apagarian a las 5:00 horas, para el dia 2 de octubre tendrian que encenderse a las 3:45 h y apagarse a las 5:15 horas, el dia 3 octubre encender a las 3:30h y apagar a las 5:30 horas; asi cada dia hasta completar las 7 horas, que los reles se activarian a la 1:00h y apagandolos a las 8:00 horas, para estar todo los dias ya con esas 8 horas, porque a medida que fermenta necesita mas aire, por los gases que desprende.

De momento tenemos una lcd 2004, un rtc y un arduino mega; aun es un proyecto pequeño, que iremos ampliando con iluminacion, control temperatura, humedad, controlando cada medicion en una sd.

Mas adelante si conseguimos hacer esta primera etapa lo documentariamos para añadirlo a proyectos.
Un saludo y esperamos alguna idea de como hacer ese apaño el codigo.

Pd: nos han comentao algo de metiendo en la eprom?? los encendidos y apagados.

codigo aire.txt (4.82 KB)

Hola yo haría el código casi de nuevo, no porque este mal, sino porque has escrito todo como si no existieran librerías que te hacen las cosas mas fáciles. Entonces en lo personal estoy tan acostumbrado en usarlas que intentar entender lo que has hecho me cuesta mas trabajo.

Ejemplo de ellos es todo lo que involucra al RTC1307 del que hay librerías por todos lados. Te adelanto que es una muy mala elección de módulo RTC. Atrasa mucho por mes y la secuencia de la que hablas se irá perdiendo

Tiene un cristal de 32.768hz y la especificación dice que tienee una deriva de 25ppm lo que te da +-2.16 seg x día x 30 dias = 64.8 seg mes = 1m 4.8 seg x mes de error. En 14 meses tienes corridos los 15 min de los que hablas.

Usa un DS3231/2 que es un RTC mucho mas estable. Mas tarde reescribo el programa usando las mismas salidas, un DS3231/2 y librerías Time y TimeALarm

Surbyte, agradecerte el contestar tan pronto y que hayas dedicado tu tiempo.

Ya he adquirido un ds3231, y si pudieras facilitarnos el codigo o darnos un buen empujon, nos sacarias de un buen apuro y nos darias un buen soplo de aire fresco en todos los sentidos.

El aumentar cada dia en el arranque 15 minutos y otros 15 en la parada hasta completar el maximo de 7 horas diarias en esos dias, es porque cada vez fermenta mas el abono y se desprenden mas gases que no tienen un olor nada agradable, y encima si se concentran en exceso pueden ser nocivos e incluso inflamables.

Un saludo y agradecerte nuevamente la ayuda prestada, ya que de programacion ni idea.