Go Down

Topic: problema lettura secondi RTC (Read 8 times) previous topic - next topic

danidiscus


Se il risultato è un numero ragionevolmente grande allora va bene: il troncamento dei decimali non si farà sentire.
Esempio:
705000/7050=100

Ma se il dividendo ed il divisore sono vicini come ordini di grandezza, allora puoi rischiare di avere un risultato troncato anche allo zero.
6000/7050=0.85 -> 0
E l'incremento non esiste.

Non so su che ordini di grandezza andate, forse sarebbe meglio usare un float e poi fare il casting in fase di analogWrite


attualmente stiamo testando in scala di pochi minuti per vedere come funziona, diciamo che si tratta di una beta, ringrazio tantissimo "qsecofr" che mi sta aiutando pur non avendo l'hardware da testare, quindi si basa sulle mie analisi, così da poter studiare un po meglio il funzionamento e la logica usata.
quello che stiamo cercando di fare è un controller per acquario "dolce" quindi niente pretese particolari. vorremmo inserire un menu per gestire le varie accensioni e regolare orario, data e orari di accensione dei vari tubi LED. per me so già che sarà un lavoraccio, però sarebbe bello finirlo con l'aiuto del forum, anche perché in giro per la baia ci sono molti di questi 3D aperti ma che poi finiscono alla deriva.
dovrò sistemare bene anche l'hardware perché al momento è un groviglio di fili, che per il momento fa il suo lavoro........... 

qsecofr


Se il risultato è un numero ragionevolmente grande allora va bene: il troncamento dei decimali non si farà sentire.
Esempio:
705000/7050=100

Ma se il dividendo ed il divisore sono vicini come ordini di grandezza, allora puoi rischiare di avere un risultato troncato anche allo zero.
6000/7050=0.85 -> 0
E l'incremento non esiste.

Non so su che ordini di grandezza andate, forse sarebbe meglio usare un float e poi fare il casting in fase di analogWrite


il valore del dividendo lo vedi calcolato appena sopra (tutte le volte che passa di li il loop): è dato da millis- oldmillis e pertanto partirà da 0 ed arriverà (nel caso ipotetico di un'albatramonto di un'ora) a 60.000... e chissà: se serve anche oltre.... Nel caso di un divisore di 7050 quindi il fade comincierà effettivamente 7050 millesimi di sec. dopo il lancio orario: se vogliamo è un po' inesatto perchè sarebbe stato da farlo partire immediatamente ma tanto da 0 a 1 (su 255) sull'uscita analogica non si ha comunque un cambiamento visibile ad occhio nudo (anzi probabilmente rimane sotto la soglia del led) e l'alba in questo caso la facciamo durare mezz'oretta: sette secondi non ci spostano la vita.

per il groviglio di fili è meglio che non vedi dove lavoro io... diremo solo che è in zona di interdizione totale dalla moglie... io non so come fare per tenere questa stanza "presentabile"... ci sono fili ovunque... resistenze...pc... stagno...stampanti e cosi spaccati per prendere i componenti... ogni tanto passo con la mano sopra il tavolo e butto giù un po' di stagno o residui di filo poi lancio la roomba perchè appunto la moglie...ma la cosa non migliora affatto...

danidiscus



Se il risultato è un numero ragionevolmente grande allora va bene: il troncamento dei decimali non si farà sentire.
Esempio:
705000/7050=100

Ma se il dividendo ed il divisore sono vicini come ordini di grandezza, allora puoi rischiare di avere un risultato troncato anche allo zero.
6000/7050=0.85 -> 0
E l'incremento non esiste.

Non so su che ordini di grandezza andate, forse sarebbe meglio usare un float e poi fare il casting in fase di analogWrite


il valore del dividendo lo vedi calcolato appena sopra (tutte le volte che passa di li il loop): è dato da millis- oldmillis e pertanto partirà da 0 ed arriverà (nel caso ipotetico di un'albatramonto di un'ora) a 60.000... e chissà: se serve anche oltre.... Nel caso di un divisore di 7050 quindi il fade comincierà effettivamente 7050 millesimi di sec. dopo il lancio orario: se vogliamo è un po' inesatto perchè sarebbe stato da farlo partire immediatamente ma tanto da 0 a 1 (su 255) sull'uscita analogica non si ha comunque un cambiamento visibile ad occhio nudo (anzi probabilmente rimane sotto la soglia del led) e l'alba in questo caso la facciamo durare mezz'oretta: sette secondi non ci spostano la vita.

per il groviglio di fili è meglio che non vedi dove lavoro io... diremo solo che è in zona di interdizione totale dalla moglie... io non so come fare per tenere questa stanza "presentabile"... ci sono fili ovunque... resistenze...pc... stagno...stampanti e cosi spaccati per prendere i componenti... ogni tanto passo con la mano sopra il tavolo e butto giù un po' di stagno o residui di filo poi lancio la roomba perchè appunto la moglie...ma la cosa non migliora affatto...

per la stanza ti capisco benissimo mi sa che siamo messi bene noi due.
vorrei approfittare per farti tanti sinceri auguri di una buona fine e un migliore inizio 2013 a te e tutta la tua famiglia.
ora vado a prepararmi altrimenti mia moglie chiede il divorzio con l'anno nuovo ;-)
ci sentiamo il prossimo anno, ciao ciao

riciweb

Ciao,
ho letto solo oggi il topic e con molto piacere devo dire...
Anche io sto lavorando ad una centralina per controllare un acquario, ho iniziato mooolto tempo fa, anche io partendo da zero, ma per mancanza di tempo vado pianissimo, in più un'altro ragazzo con il quale brutalizzavamo insieme arduino per il progetto in questione si è tirato momentaneamente fuori con ullteriore rallentamento di tutto.
Ad ogni modo, ti allego una fotina della mia bread, sulla quale vedi anche la scheda relé che mi sono autocostruito perché l'avorando con l'acqua ho voluto relè a doppio contatto. Il topic dove i ragazzi del forum mi hanno aiutato: http://arduino.cc/forum/index.php/topic,128951.0.html
Ad ogni modo il nostro sketch attualmente permette con una serie di menù di impostare l'ora dell'rtc, di inserire i dati per i 2 fotoperiodi, 2 perché voglio gestire due linee inipendenti di luci e c'è anche una funzione che in base ai dati inseriti gestisce i fading delle due linee ed infine in base al dato inserito gestisco la temperatura dell'acqua leggendo e mediando la lettura di due sensori dallas come quello che stai usando anche tu, ovviamente il codice è molto sporco, va snellito e modificato, perché nel frattempo è cambiato l'ide le librerie e via dicendo, ma credo ci sia del buono da utilizzare, sono un neofita anche io  :smiley-roll-sweat:
Mi piacerebbe se formassimo un gruppetto di lavoro tutti insieme, se la cosa interessa approfondisco quanto ho fatto e molto volentieri lo condivido...

Riccardo  :)

P.S. Anche a me interessa un'acquario di discus  XD
Riccardo

PaoloP

Ciao Rici.
Complimenti per l'ottimo risultato. :smiley-mr-green:
Le tue board sono sempre ordinatissime. ;)
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Go Up