irrigazione 2.0

salve ho un grave problema con arduino ho modificato un programma di irrigazione,vorrei ottenere 14 zone piu una uscita pompa che si attiva ogni volta che si attiva una o piu delle 14 e tutto questo con consenso di 2 ingressi principali,40 programmi al posto dei 9 attuali con accensione manuale

di solito utilizzo plc tuttavia il fornitore non riesce a farmi arrivare in tempo l’unità e nel frattempo migliaia di piante potrebbero seccare,spero possiate aiutarmi

arduino mega2560
rtc ds1307 i2c
lcd 20x4 i2c
keypad 4x4
scheda 16 relay

Irrighino-ok.ino (15.9 KB)

potresti svolgere il lavoro in questo modo:

  1. incrementare una variabile ogni secondo
  2. definire il tempo di accensione e il tempo tra un irrigata ed un altra (cadenza)
se (secondo  < cadenza)  NON IRRIGO.
se (secondo >= cadenza) && (secondo <= sommaTempoAccensioneCadenza) IRRIGO.

se (secondo > sommaTempoAccensioneCadenza) 
{ 
NON IRRIGO;
secondo = 0;
}

per l’interrupt, ti consiglio di leggere QUI.

Cosi, in un modo semplice, puoi crearti quanti programmi vuoi…

Sbirciando il codice…
Bisogna riorganizzare la memoria EEPROM in modo tale da poter salvare tutti i nuovi programmi aggiunti.
C’è anche da ridimensionare qualche array.
Il problema è che questo sketch ha pochissimi commenti, quindi forse è più veloce rifarlo completamente che capirne il funzionamento e poi modificarlo (tranne se questo codice l’hai fatto tu). Questa è una mia opinione personale.