Innanzitutto un GRAZIE A TUTTI a Leo ed a Guglielmo in particolare per i preziosi suggerimenti.
Il sistema sembra ok (finalmente), mi dispiace avervi scassato le ...... ma fatico ancora a capire il regolamento
Dalle stime che ho fatto il risparmio in soldoni è di circa 4 - 5 euro AL GIORNO rispetto alla gestione con i parametri separati della caldaia e della stufa, non male davvero.
Vi invio il codice completo ( ora che il computer ha una usb libera) è un po da riordinare ed ha un po di serial print da togliere ma avevo fretta di condividere con qualcuno sudate e bestemmie degli ultimi 3 mesi .
Lo schema elettrico lo sto scrivendo in autocad appena pronto lo rendo disponibile.
Naturalmente consigli e domande sono bene accetti.
Una sola cosa vorrei capire perche per le ore ed i minuti non posso usare variabili float?
Ho provato ma non mi funziona. Mah per ora mi accontento.
Ecco il codice spero non pesi troppo
@Capitankevin:
le OO non le rompe nessuno qui, basta porre le domande in maniera corretta ed una risposta la si ottiene sempre
Piuttosto: metti sempre una sola istruzione per riga, rendi tutto più leggibile
leo bello il tuo nuovo avatar, e' il tuo micrologio giusto ?
mi chiedevo, per quanto riguarda questa sfilza di while, ma il "while+break" e' identico all "if" ?
a me sembra di si, ci sono situazioni in cui l'uno non puo' sostituire l'altro ?
Testato:
ma il "while+break" e' identico all "if" ?
In che senso ???
Il WHILE ripete in continuazione fino a quando una certa condizione è vera, poi, se occorre, in particolari condizioni, con il break forzi l'uscita anche se la la condizione continua ad essere vera (stessa cosa puoi fare in un FOR) ... cosa ci trovi nel comportamento di simile al IF ?
se apri il file del primo post vedi che e' pieno di while, ogn'uno con break,
quindi ogni riga di codice con il while controlla se e' vera la condizione ed esegue una sola volta il suo contenuto, porprio perche' poi incontra il break, andando quindi avanti a verificare le altre condizioni.
in questo caso quindi mi sembra identico all'IF, che appunto controlla la condizione e la esegue una sola volta uscendo ed andando avanti
diverso e' l'uso del while senza break, dove appunto si aspetta che una delle variabili controllate cambi per poter uscire
L'uso di questo "while interruptus" è interessante ma poco funzionale.
Secondo me, il codice oggetto è poco ottimizzato e risulterà più lento di un IF.
Ragazzi vi ringrazio ma con l'if ho provato e non sono mai riuscito a farlo andare, probabilmente perche non ho ancora capito bene come usarlo. L'ideale sarebbe scrivere lo sketch usando lo switch su weekday() e poi l' IF per le ore ed i minuti ma ho tentato molte volte e non cambia le soglie.
Comunque e una parte ancora provvisoria perche dopo aver scritto gli sketch degli altri arduino dovro creare una interfaccia utente tramite touch utilizzando i dati che arrivano sul seriale.
Intanto BUON 2014 e tante buone cose a tutti
Per adesso mi accontento di studiare Nayquizt e Bode per il prossimo esame di sistemi
Ho dato una sistematina al codice, spero la cosa non ti dispiaccia.
Dovresti continuare ad modificare i restanti giorni della settimana nello switch case cosi come ho fatto per domenica e lunedì.
Sto pensando che potresti mettere i dati in un array e fare un controllo ciclico, ti risparmieresti un bel po' di righe di codice e potresti modificare le soglie con facilità.
Dimensione del file binario dello sketch: 13.224 bytes (su un massimo di 32.256 bytes)
Mod version
Dimensione del file binario dello sketch: 10.072 bytes (su un massimo di 32.256 bytes)
Mod version IDE 1.5.5 (I love it)
Lo sketch usa 9.964 byte (30%) dello spazio disponibile per i programmi. Il massimo è 32.256 byte.
Le variabili globali usano 518 byte (25%) di memoria dinamica, lasciando 1.530 byte liberi per le variabili locali. Il massimo è 2.048 byte.
Testato:
leo bello il tuo nuovo avatar, e' il tuo micrologio giusto ?
Scusami se ti rispondo solo adesso ma mi era sfuggito questo thread.
Sì, è il mio Micrologio, la primissima versione. Mi piaceva usare un qualcosa "di mio", al posto delle solite icone strausate che si trovano in rete.
mi chiedevo, per quanto riguarda questa sfilza di while, ma il "while+break" e' identico all "if" ?
a me sembra di si, ci sono situazioni in cui l'uno non puo' sostituire l'altro ?
Personalmente non mi piace infarcire il codice di while/break. Un while è un'istruzione che dice al compilatore che il blocco deve essere eseguito diverse volte fino al verificarsi di una condizione, mentre con un if..else dici di fare un controllo singolo. Se usi un while/break per un controllo singolo vuol dire che non hai afferrato bene i costrutti logici
grazie della conferma, e' quello che pensavo anche io, ma visto che capitankevin vi ringraziava a te e guglielmo dell'aiuto (leggi primo post) mi erano venuti dei dubbi