nid69ita:
Ma non ho capito, forse mi son perso. Non usavi 16*100+59=> 1659 ?
no adesso uso 16*60+59 che mi da i minuti
Brunello:
Ma se prendessi un sensore di temperatura?
Perche' ha la febbre ?
ahaha sto valutando se mettere il 4° sensore di temperatura...
leo72:
Calamaro:
il problema è che se tipo sono le 17:00 get_ora(); mi restituisce 1020 che rimane divisibile per 30 per 1 minuto quindi non va bene perchè la ventola si accende e si spenge 30 volte in un minuto e poi si spenge per 30min...Hai semplicemente bisogno di una variabile di stato, un flag, che ti dice lo stato attuale della ventola.
Quindi la logica del tuo programma diventa questa:SE tempo >= tempo_avvio E tempo <= tempo_arresto ALLORA
SE stato_ventola = 0 ALLORA
stato_ventola = 1
AVVIA VENTOLA
FINE
ALTRIMENTI
SE stato_ventola = 1 ALLORA
stato_ventola = 0
ARRESTA VENTOLA
FINE
FINE
In questo modo sia l'avvio che l'arresto della ventola lo fai 1 sola volta, grazie appunto al tuo flag.
ok però se usassi la tua funzione e impostassi TEMPO = 17:00, per esempio, la ventola mi si accenderebbe soltanto dalle 17:00 alle 17:30
dovrei mettere un'istruzione tipo quelle in "grassetto" giusto?
SE tempo >= tempo_avvio E tempo <= tempo_arresto ALLORA
SE stato_ventola = 0 ALLORA
stato_ventola = 1
AVVIA VENTOLA
FINE
ALTRIMENTI
SE stato_ventola = 1 [b]&& tempo >= tempo_arresto[/b] ALLORA
stato_ventola = 0
[b]tempo_avvio += 30minuti
tempo_arresto += 30minuti[/b]
ARRESTA VENTOLA
FINE
FINE
è troppo presto per dire: "avevo un cane e il suo nome era.... BINGOOOOOW!!!" ???