ho aperto un altro sketch che allego, non riesco trovare il comando per dargli il ritardo al Elettrovalvola cosi comè scritto non funziona le ho provate tutte in quel poco che so ma non va, dove sto sbagliando??
Non so il perchè ma ancora non funziona, il led si accende appena avvio il programma , non so se possa differire ma al posto del Elettrovalvola ho in uso un Led per semplificare e vedere meglio come si comporta il codice.
In pratica il led si dovrebbe accendere 5 secondi dopo del avvio del programma ma non lo fa.
Se prima di inserire il codice faccio CTRL + T mi si apre una nuova pagina Web se inserisco il codice tra CTRL + E non va bene per semplificare e non avere problemi come lo inserisco?
...Ma che c'entra tutto questo con i LED RGB???...
Aprire un'altra discussione è gratis e permette di seguire e ritrovare il discorso! Perché devi accodare a una discussione esistente un'altra discussione su un argomento diverso???...
Mah...
Buon Giorno,
come richiesto da Maurotec ho inserito gli OUTPUT.
La riga dove cè limite sonda penso si possa regolare anche dopo per il momento non dovrebbe creare problemi.
Il problema ora per cui chiedo aiuto è il ritardo del avvio elettrovalvola.
Non so se la stringa inserita alla riga 52 dove cè il void ritardo_Elettrovalvola sia scritto correttamente.
Poi cè il richiamo sotto il digitalWrite ( 3, OUTPUT ); anchesso se è scritto in maniera corretta e se mancano ulteriori comandi.
Ho riguardato il codice ma non ne esco, non capisco do ve ci sia il problema per cui non funziona il ritardo.
Sono riuscito risolvere un primo punto, cioè ora quando avvio il programma l'elettrovalvola si accende 5 secondi più tardi e questo va bene ora il problema è che se tolgo la sonda dal terreno ( in questo caso sto utilizzando un bicchiere d'acqua) l'elettrovalvola si apre subito al posto di aprirsi 5 secondi più tardi come ritardo questo secondo punto?
Allego lo sketch per fare il pundo dove sono ( spero di allegarlo in maniera corretta perche ancora non ho ben capito il giusto inserimento )
Perche il programma al avvio lo esegue correttamente e poi se inserisco la sonda nel umidita e poi la tolgo non esegue più correttamente il programma ma si accendono in contemporanea sia la pompa che l'elettrovalvola? anzichè aprire l'elettrovalvola ritardata?
Sarebbe bello poter proseguire, ma se oltre non riesco andare devo lasciare lo sketch sospeso.
Prima di tutto mai abbattersi ma perseverare se si vuole andare avanti.
Leggendo di botto il programma, mi pare di vedere un po’ di confusione sia nelle dichiarazioni di variabili e funzioni, sia sul loro uso.
Es. tu dichiari una funzione chiamata Ritardo_Elettrovalvola. In realtà non fa altro che invertire lo stato del pin e basta senza tempi.
Poi, nella If dove controlli il valore della sonda , alla sezione else prima accendi l’elettrovalvola e poi verifichi se sono trascorsi i 5 secondi. Dovresti fare al contrario.
Ripeto, l’ho letto di un fiato prima di andare a lavoro.
if ( currentMillis - previousMillis_A <= interval_A ) {
Ritardo_Elettrovalvola ( ) ; // questa non fa altro che accendere se risulta spenta
previousMillis_A = currentMillis;
} { // qui forse volevi metterci } else {
digitalWrite ( pinElettrovalvola, HIGH ); // qui accendi l'elettrovalvola ma quando la devi spegnere?
}
Aiutati con Serial.println("entrato nella if ecc") così da vedere quale porzione di codice viene eseguita.
Specifica chiaramente quando vuoi accendere l'elettrovalvola e quando spegnerla, es:
L'elettrovalvola e la pompa si devono accendere a comando e poi si devono spegnere dopo 3 secondi.