Go Down

Topic: timer senza rtc e rampa tensione (Read 1 time) previous topic - next topic

PaoloP

Conviene ragionare col tempo in secondi. Conoscendo il tempo in secondi del momento in cui le luci devono essere allo 0% e quando al 100%, con una proporzione (o funzione matematica) ti calcoli la percentuale per l'ora corrente.
Naturalmente per avere un riferimento certo devi avere un RTC sincronizzato o quantomeno regolato sull'ora corrente, poi minuto più minuto meno non è che faccia differenze.
Il problema di un RTC software, come dicevano, è che spegnendo l'Arduino perde la sincronizzazione, quindi l'errore potrebbe essere molto maggiore di un minuto.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

leo72


ho un dubbio, come faccio a "sincronizzare" le luci con il tempo?  ...ammettiamo che a metà pomeriggio do tensione al crcuito, imposto l'ora, ma come faccio a dire che in quel momento esatto devo avere il 100% della luce oppure il 45% o meno o più a seconda?


Qui devi intervenire tu nel senso che sarai tu a strutturare l'algoritmo in base alle tue esigenze. Se cioè vorrai un aumento/diminuzione a rampa dovrai stabilire delle percentuali e con una funzione, come ha detto Paolo, ti calcoli l'istante in cui sei a che valore di luminosità corrisponde.
Esempio.
Mettiamo che la tua rampa duri, per facilità di calcoli, 64 minuti.
Sapendo che su un pin PWM puoi "scrivere" un valore che va da 0 a 255, avrai 256 passi di illuminazione. Facendo 256/64 è facile trovare che la luminosità da scrivere sarà 4 volte il numero dei minuti dall'inizio della rampa.
Quindi se tu decidi alle 17:00 che debba iniziare il tramonto, esso finirà alle 17:00+0:64->18:04.
Se accendi la scheda alle 17:32, sarai a 32 minuti dall'inizio della rampa per cui la luminosità da "scrivere" sarà 32*4=128.

Ovviamente questo è un esempio, oltretutto stupido, ma ti spiega una possibile (delle molteplici) soluzioni.

uwefed


ho un dubbio, come faccio a "sincronizzare" le luci con il tempo?  ...ammettiamo che a metà pomeriggio do tensione al crcuito, imposto l'ora, ma come faccio a dire che in quel momento esatto devo avere il 100% della luce oppure il 45% o meno o più a seconda?



Devi farti Tu una tabella con gli orari di accensione- spegnimento e durata del PWM.
Quella lo memorizzi nel Arduino e lo esegui.
Ciao Uwe

vanniboy

ciao, quindi con questa tabella che dovrei fare, come la dovrei impostare? scusa la domanda banale :)
se voglio che l'alba duri 2 ore, ho quindi 256 "passi" da suddividere in 7200 secondi, e fanno 1 "passo" ogni 28 secondi (arrotondando il 28... vengono meno di 7200 secondi, per comodità).

ma io devo fare 256 linee ognuna con il valore da impostare in quel momento? o esiste un modo per fare la stessa cosa senza riscrivere 256 volte la stessa cosa?

o sbaglio il ragionamento in partenza?

leo72

Io continuo a suggerirti l'uso di un semplice algoritmo che ti calcoli la curva in base all'istante.

Go Up