Salve a tutti e buona domenica lavoratori,operai ,mastri ed imprenditori.
Ultimamente dato che ho più tempo libero mia mamma mi ha proposto se riesco a creargli un semplice sistema di irrigazione per le piante che abbiamo nel terrazzo, allora ho pensato subito ad Arduino che collegato ad un'elettrovalvola collegata al tubo del rubinetto faccia partire tramite un tubo l'acqua per X secondi, X per ora è ipotetico ma con diverse prove empiriche dovrei riuscire a trovare il valore ideale per soddisfare il fabbisogno di acqua delle piante. Ora io ho scritto questo codice, cosa ne pensate ?
long attivita = 10000; //tempo attività di flusso dell'acqua (10secondi per esempio )
int t = 0;
void setup() {
pinMode(2, INPUT); // pulsante
pinMode(3, OUTPUT); // elettrovalvola
}
void loop() {
if ((millis() - t) > attivita){ //acqua scorre fino a che il tempo indicato nella variabile indicato in attivita non viene superato
digitalWrite(3, LOW);
}else{ digitalWrite(3, HIGH);
}
if (digitalRead(2) == HIGH){ //nel caso in cui l'acqua inizialmente data non fosse bastata basta tenere premuto il pulsante per continuare ad attivare la elettrovalvola
digitalWrite(3, HIGH);
}
}
Praticamente il codice appena acceso Arduino porta l'elettrovalvola in HIGH (dunque accesa?) per X secondi modificabili tramite la variabile attività passato questo tempo l'elettrovalvola si spegne e viene riattivata solo se si tiene premuto il pulsante e rimane attiva per i secondi in cui il pulsante è premuto per poi spegnersi di nuovo.
La struttura del codice implica che ogni volta che si è finito di dare da bere alle piante si spenga Arduino togliendoli la corrente questo non dovrebbe essere un problema ne per Arduino ne per l'elettrovalvola giusto?
PS: il codice l'ho provato su Thinkercad simulando l'elettrovalvola con un led che si comporta come pensavo, il dubbio è se il codice è adatto per essere affiancato ad un elettrovalvola, guardando un pò in giro in questo forum varie discussioni a riguardo ho visto che le elettrovalvole sono forte oggetto di discussione e scontri tra idee, ad esempio quello che ho capito io è che per essere attivata un'elettrovalvola abbia bisogno di un breve spunto e lo stesso per essere spenta dunque il codice da me scritto in questo caso è sbagliato poichè durante il tempo di attività io la tengo sempre HIGH quindi accesa questo và bene o dà problemi allo strumento?