Go Down

Topic: Progetto Arduino rtc 1307 e uscite relè (Read 363 times) previous topic - next topic

fabpolli

Allora sei in piena fase copiaincolla selvaggio, così vai poco lontano, si vede che stai brancolando nel buio più totale.
Punto 1 la funzione funzionerrebbe anche (le due parenesi tonde sono superflue) ma se inizializzi e correggi la variabile (a proposito non servirebbe l'if ma applicare il modulo 12 è sufficiente allo scopo ma non è questo a non farlo fuzionare) e poi non la usi...
Punto 2 vedi punto 1 :) per la prima parte e per la storia dei relé se agisci solo sul relé 2 come pensi che il relé 1 possa fare qualcosa? Ci sono due modi per fare ciò che vuoi, il primo prevede di duplicare il codice (che è male ma per il momento potresti accontentarti) e l'altro è spostare un pezzo di codice e modificare la condizione del primo if
Punto 3 certo che puoi sta a te decidere di non far nulla per le ore che vuoi, chessò dalle 23:00 alle 07:00 non fare rintocchi controllando l'ora con un if che racchiude tutto il tuo codice che si occupa dei rintocchi (ad esempio ma ci sono anche altri modi, questo è quello che ritengo più semplice da farti implementare).

L'uso del test sui secondi se sono uguali a zero io lo eliminerei immediatamenente, può capitare non spesso ma potrebbe capitare che non arrivi al test esattamente al secondo zero e quindi quell'ora (o mezz'ora) non suonerebbe nulla, sostituirei quel test con una variabile (come già suggerivo nel post sopra) se il minuto è zero o trenta e la variabile è vera allora entri e suoni, metti a false la variabile. Se il minuto non è zero o trenta rimetti a true la variabile. In questo modo hai un minuto di tolleranza che è molto più che sufficiente.

michelecastelvero

mi potresti quindi dare qualche dritta riguardo a cosa modificare affichè funzioni ?

fabpolli

Per il punto uno la dritta l'ho fornita, usa la variabile a cui applichi il -12 visto che ora la inizializzi e non la usi.
Per gli altri punti ti suggerisco di ristrutturare il codcie come ti avevo suggerito al post #2 se non ricordo male, ti ho fornito in pseudocodice la struttura che dovrebbe avere il programma ovvero se segui le identazioni e strutturi gli if seguendo quelle vedrai che riuscirai ad ottenere il risultato voluto. Chiaro non è l'unico modo ne il più compatto e performante credo sia il più semplice da implementare.
Perdonami ma non ti scriverò il codice diretto perché non imparersti nulla, ti limiteresti a fare l'ennesimo copiaincolla senza metterci del tuo per capirlo, metti in campo le modifiche suggerite (o quantomeno provaci), iniziando dall'uso della variabile dei rintocchi, personalmente se vedo progressi poi posso anche aiutariti a rimuovere alcune inasattezze o per apportare migliorie necessarie. Ma finché quel che vedo sarà solo un copiaincolla non fornisco aiuti diretti, l'obiettivo che ti sei dato è molto semplice da realizzare, ovvio che se si è agli inizi non lo sarà immediatamente, ma se non usi questo come palestra sarai sempre più in difficoltà in futuro per progetti magari più complessi

Go Up