Go Down

Topic: swRTC (Read 308168 times) previous topic - next topic

leo72

Lascia stare il quarzo da 32768.  ;)
Intendo un quarzo che si chiami quarzo, non un risonatore come quello dell'Arduino UNO.

ratto93

Eh sul seeeduino cè un affare che potrebbe essere un quarzo smdo o anche un risuonatore non lo so non ne ho mai visti di simili :)
Se corri veloce come un fulmine, ti schianterai come un tuono.

leo72

Ma intendi quello che si vede in questa foto:
http://www.seeedstudio.com/depot/seeeduino-v221-atmega-328p-p-669.html
Quello è un cristallo, va bene. Oppure quel cosino SMD che ha la UNO? Quest'ultimo è un risonatore e non va bene.

ratto93

No no è totalmente diverso... guarda qui....
http://www.seeedstudio.com/depot/seeeduino-mega-p-717.html?cPath=132_133

è quel cosino bianco davanti il micro anche se il mio cè l'ha da un altra parte  :smiley-roll:
Se corri veloce come un fulmine, ti schianterai come un tuono.

leo72

E' un cristallo SMD.
Quindi va bene.

reizel

domanda generica sul codice di un RTC sw o hw che sia

diciamo che predispongo 2 tastini low che mando high quando li premo, come si integra una funzione "aumenta di 1 secondo l'ora attuale" o "diminuisci di un secondo l'ora attuale" ?


altra domanda, gli oscillatori, quelli con 4 piedini, son + precisi dei quarzi? si potrebbero usare invece del quarzo da 16MHz?

lestofante


domanda generica sul codice di un RTC sw o hw che sia

diciamo che predispongo 2 tastini low che mando high quando li premo, come si integra una funzione "aumenta di 1 secondo l'ora attuale" o "diminuisci di un secondo l'ora attuale" ?

Code: [Select]
rtc.setTime(rtc.getHours(), rtc.getMinutes(), rtc.getSeconds() + 1);
ma ci potevi arrivare tranquillamente da solo


altra domanda, gli oscillatori, quelli con 4 piedini, son + precisi dei quarzi? si potrebbero usare invece del quarzo da 16MHz?

no! i quarzi son più precisi, ma nulla ti vieta di usare gli oscillatori

da http://it.wikipedia.org/wiki/Oscillatore:
Quote
Oscillatori quarzati: quest'ultima categoria di oscillatori fa uso di un cristallo di quarzo piezoelettrico il cui comportamento viene portato ad essere assimilabile a quello di un circuito LC. Tali oscillatori hanno spiccate qualità di stabilità in frequenza e di stabilità alla temperatura date dalle ottime qualità di oscillatore meccanico proprie dei cristalli piezoelettrici di quarzo. Il più noto è l'oscillatore di Pierce.
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

reizel


Code: [Select]
rtc.setTime(rtc.getHours(), rtc.getMinutes(), rtc.getSeconds() + 1);
ma ci potevi arrivare tranquillamente da solo

grazie, domani lo integro nel mio codice ;)
ci sarei potuto arrivare... ma hai visto il mio avatar? e' un Minion e non brillano certo per intelligenza, altrimenti mettevo un pinguino che programma al pc se c'arrivavo da solo :D

leo72

@reizel:
non confondiamo gli avatar, il pinguino programmatore è mio  XD

PS:
attenzione che mandare avanti o indietro i secondi senza un controllo porta ad uscire dal range di valori accettabili (0-59) col rischio che la funzione restituisca  un bel FALSE perché ha ricevuto in input valori non legali.
Andrebbe controllato se vai fuori di tale range ma con tutta una serie di controlli a catena per verificare gli altri valori.

Mi spiego.
Mettiamo che l'orario sia 12:34:29
Togliendo un secondo, non succede nulla di grave: passi a 12:34:28
Se però l'orario è 12:34:00, cosa fai? Se non intervenieni con un controllo, i secondi diventano 254 perché io uso un byte e se ad byte con valore 0 togli 1 vai a 254 (255-1) mi pare. Oppure scali anche i minuti? Quindi 12:33:59?

Ma se tale operazione, per tuo masochismo la vuoi fare alle 00:00:00 del 1° gennaio?
Avresti 00:00:254 (perché essendo valori byte, 0-1=(255-1)=254
Allora dovresti mettere i secondi a 59 e scalare di 1 anche i minuti... ma avresti i minuti a 254. Allora dovresti mettere i minuti a 59 e scalare di 1 l'ora... Stessa cosa: 254 che devono diventare 23 e scalare di 1 i giorni. Ma sei al 1°, quindi il giorno diventa 0. Allora devi scalare di 1 il mese e mettere come giorno l'ultimo giorno del mese... ma sei a gennaio, quindi 1-1=0. Allora devi andare a dicembre (12), mettere 31 come giorno e scalare di 1 l'anno!

Ecco cosa succede a scalare di 1 secondo!  XD

reizel

ovvio che il pinguino programmatore e' tuo! io ho il beota dallo sguardo beota, infatti non so programmare...

azz, e io volevo togliere solo un secondo se serviva... torno alla mia prima scelta, ovvero dare un reset alle 12.00.00 ogni tanto, cosi' da far ripartire l'orologio alle 12.00

tanto l'rtc va su una mangiatoia e devo comunque controllare che ci sia mangime nel contenitore ogni tot giorni

(sto facendo questa cavolo di mangiatoia per i pesci, all'inizio avevo motoriduttore con motorino in continua e finecorsa, tutto andava "teoricamente" ma mi si creavano disturbi tanto forti da resettare o freezare il micro, alla fine ho ripiegato su un miniservo, ma rimane il sistema "meccanico" prendicibo/versacibo che non mi fa dormire la notte, tante idee ma mancano strumenti e materiali per realizzarle... finisce che faccio un accrocchio... )

menniti

mangiati i pesci e risolvi alla fonte, se hai dubbi etici chiedi a Leo, che quanto a mangiare animali ha una teoria piuttosto esplicita. :smiley-yell:
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

leo72

Se si muove, vuol dire che si può mangiare  :smiley-yell:

astrobeed


Se si muove, vuol dire che si può mangiare  :smiley-yell:


Pure se è brutto, peloso e con tante zampe ?
Scientia potentia est

menniti

Bleah, Astrobeed, hai rovinato la poesia di un momento, pensa che stavo immaginando Leo antropofago :smiley-eek-blue:
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

leo72

In alcuni paesi mangiano anche gli insetti, non credo che una persona sana di mente mangi del veleno di proposito. Quindi si tratta tutto di come prepararlo e di come presentarlo  :P

Dalle mie parti (sono di Firenze) si usava il cervello fritto: non avete idea di quante merende ho fatto da ragazzino col cervello fritto! Anche adesso si usano il lampredotto e la trippa, che sono stomaci dei ruminanti. A chi non piace la trippa (alla fiorentina)? Ci sono piatti fatti con interiora di animali, insomma c'è solo da sbizzarrirsi.

E se non credete a me, credete alla natura. Abbiamo denti da erbivori (i molari, piatti e larghi, per macinare le cose) ma anche da carnivori (gli incisivi per tagliare la carne, i canini per strapparla): perché devo limitarmi a mangiare soja e legumi?  :smiley-yell:

PS: ho appena mangiato pappardelle sul cinghiale...  XD

Go Up