Programmazione oraria per elettrovalvole

Ciao a tutti! Sono nuovo e scrivo per chiedere consigli riguardo ad un progetto che volevo realizzare...

Premessa: nella parte di assemblaggio e saldatura, dove necessaria, me la cavo senza problemi...il mio problema, sta nella fase di programmazione...

Ho passato un paio di giorni a "smanettare" sul nuovo giocattolino che mi è arrivato, ma al di là di alcune piccole soddisfazioni di partenza, non ho realizzato granché di definitivo...

Vi spiego la mia applicazione:

Vorrei realizzare un sistema di apertura di 3 elettrovalvole, alimentate a 24V, con gli orari programmabili da pc, ad ogni caricamento del codice.
Vorrei includere un display, che visualizzi sempre orario e data, mentre durante il funzionamento di una valvola visualizzi "valvola 1 in funzione" e via dicendo...
Inoltre, vorrei prevedere l'installazione di 4 pulsanti, uno per ogni elettrovalvola, e uno di stop...mi spiego meglio:
Facciamo esempio che io imposti le elettrovalvole in modo che la numero 1 parta alle 12 e si fermi alle 12.05, la 2 parta alle 12.15 e si fermi alle 12.20, le 3 parta alle 12.30 e si fermi alle 12.35...
Ogni elettrovalvola ha un "range" di lavoro di 5 minuti.
Vorrei che, in qualsiasi momento della giornata, se premessi il pulsante 1, l'elettrovalvola 1 facesse il suo ciclo di 5 minuti...idem per gli altri pulsanti e le altre elettrovalvole.
Mentre il pulsante 4, in caso di pressione, dovrebbe esercitare l'arresto di tutte le aperture, indipendentemente dal fatto che siano partite dalla pressione del pulsante, o dall'orario programmato.

Detto ciò, mi sono munito di una scheda arduino mega 2560 r3, una scheda con 4 relè, un modulo ds3231, e un display 1602.

Vorrei che l'orario di riferimento fosse quello del modulo ds3231, in modo da poter scollegare l'alimentazione in caso di necessità, senza dover reimpostare l'orario...

Inoltre, sia per l'apertura delle valvole da programmazione oraria o da pulsante, vorrei usufruire del quarto relè:
Le elettrovalvole funzionano a 24V di tensione, e non vorrei lasciare il trasformatore adibito sotto alimentazione tutto il giorno, per pochi minuti effettivi di lavoro.
Vorrei quindi utilizzare il quarto relè per far fluire la tensione di rete al trasformatore da 24V, e gli altri 3 per le elettrovalvole...
Quindi, nel caso volessi aprire la valvola 1, devono eccitarsi i relè 1 e 4, per l'elettrovalvola 2 i relè 2 e 4, e per l'elettrovalvola 3 i relè 3 e 4...

Mi rendo conto che come primo progetto non sia propriamente il più "semplice" del pianeta, almeno per la mia attuale conoscenza del mondo arduino, e quindi sono qui, a chiedervi preziosi consigli...

Come prima cosa, dovrei impostare l'orario corretto sul ds3231 immagino, e poi visualizzare il tutto sul display...
Ho già fatto alcuni test, e ho "circa" capito il processo per la visualizzazione sul display. Non riesco però a settare l'orario sul ds3231 ad ogni caricamento del codice.
Ho trovato alcune guide che usano la funzione DATE e TIME, ma non riesco a farlo funzionare...
Potreste indicarmi un procedimento, o una guida affidabile?

Inoltre, ho notato che il modo più diffuso per tenere conto dell'ra, è partire da un punto fisso (ho letto solitamente dal 1970), e contare i secondi. Poi, ridividere il tutto in minuti/ore/e via dicendo...

Questo però, mi risulta complicato nel momento in cui devo inserire gli orari di apertura e chiusura, poiché vorrei semplicemente scrivere 12.00/12.05...è possibile? Qual'é la strada migliore da seguire?
Vi ringrazio :smiley:

Il sistema prevede cose diverse, quindi anche nel programma bisogna risolvere problemi diversi, e il tutto potrebbe non essere cosi semplice. Se sei agli inizi dovresti cimentarti in problemi più semplici.
Nessuno ti fara il programma ti diamo consigli, e il programma che dovresti fare non è adatto a un principiante.

Potremmo considerare tutto il programma suddiviso in funzioni diversi.

  1. Accendere e spegnere le valvole in base al tempo e visualizzare ora e stato valvola attiva in un display.
    Già questo potrebbe essere molto impegnativo per un principiante.

2)Attivare le valvole alla pressione dei pulsanti, penserei a una funzione separata che si occupa di questo, e il programma si complica.

  1. Arrestare tutte le valvole alla pressione del pulsante stop, penso che occorre una variabile stato a ogni condizione di accensione, se la variabile stato abilita e tempo passato, o se la variabile abilita e pressione di pulsante, apri, altrimenti se la variabile disabilita, chiamare una funzione che chiude tutte le valvole.

Anche questo complica il programma.

Per chiunque richiederebbe tempo fare il programma, per un principiante mi sembra una cosa troppo difficile, e non si arriverebbe a risultato voluto.

Capisco, ma se non si prova non si fa'...

Non pretendo che qualcuno mi prepari il programma già pronto, anche perché vorrei capirci qualcosa da me...

Vorrei solo delle indicazioni su qualche guida seria da studiare, o qualcosa di già "abbozzato" da prendere in considerazione...

Poi durante la realizzazione, vi porró i vari dubbi che mi assaliranno

Hai letto il REGOLAMENTO, al punto 16.1 ... sono ben indicati una serie di testi da studiare per cominciare a ... capirci un po' di più :smiley:

Guglielmo

Prova a dare un'occhiata qua
https://forum.arduino.cc/index.php?topic=622762.0
Ci sono diverse cose che possono interessarti, compreso qualcosa sulle elettrovalvole

Ottimo, inizio a studiare da lì e poi procedo...
Solo una cosa, volevo segnalare che il primo link del regolamento al paragrafo 16.1 "questo pdf" non funziona, o meglio, rimanda ad una pagina scaduta...
Se fosse possibile correggerlo, così riesco a recuperare il testo, grazie :wink:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.