Meter os dias do ano em que vais querer regar é muito pouco user friendly. Estás a imaginar-te a clicar botões e mais botões para meteres os dias todos do ano? O ideal é que apenas tenhas de definir a periodicidade da rega (dois em dois dias, três em três) e poderes ajustar a hora a que regas por causa da variacão da luz solar.
A "dificuldade" em fazer dia sim, dia não está no facto que existem meses com 31 dias, semanas com 7 dias e até o ano não colabora com 365. Senão para saber se o dia era de rega seria tão simples como:
if (dia%2 == 1) //dia de rega. //2 é a periodicidade que poderia ser ajustada, para qualquer valor ajustando assim o intervalo entre regas em dias.
Uma hipótese será definires uma flag que roda de dia para dia, tipo:
unsigned char diaDeRega = 0;
unsigned char diaAnterior = now.day();
...
if (diaAnterior != now.dia()) {
//mudamos o dia
if (diaDeRega == 1) diaDeRega = 0;
else diaDeRega = 1;
diaAnterior = now.dia();
}
...
if (diaDeRega == 1) {
if (hora da rega == TRUE) //comecar rega.
E assim regavas dia sim, dia não. O problema, nos meus olhos, é que isto não é uma solucão elegante. Mas funciona. Outra ideia seria com intervalos de horas... mas isso ainda é mais confuso creio. :\
Meter um LCD ao barulho é talvez o ideal para esta aplicacão (até porque podes mais tarde fazer uma plaquinha individual para teres todo o controlador num sítio), por isso tenta ver as bibliotecas que existem para isso, existem umas para teclas e para lcd, logo não será muito difícil de conseguir implementar algo.
Nota que isto é algo que tem de ser bem testado antes que possas deixar isto a funcionar e ir de férias. ![]()