Pages: [1]   Go Down
Author Topic: atmega328-p-pu sd + rtc  (Read 469 times)
0 Members and 1 Guest are viewing this topic.
Latina
Offline Offline
Jr. Member
**
Karma: 0
Posts: 86
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

salve a tutti
ormai le cose con arduino e i vari Ic vanno benone ,

pero'  ce una cosa che non mi torna ,
ho realizzato le basette termometro con il suo at328  + lcd  tutto funzionante
il lettore sd card dopodiche associo questo al termometro  riprogrammando il nuovo codice
per ultimo ho realizzato sempre su basetta il RTC con il 1307

faccio un passo indietro ,
lavorando con la atmega adk  collego  SCL SDA  ad arduino mega adk + la sd card ( collegata correttamente , mi restituisce l'orario corrente piu' o meno ) e cmq scrive sulla scheda sd

trasportando tutto sul solo atmega328p-pu ( cambiati  pin etc..) scrive sulla card ma l'ora e quella di default . che potrebbe essere ??
mi rimane un dubbio su questa riga ...
RTC.adjust(DateTime(__DATE__,__TIME__));   non e' che devo inserire un orario ed una data di partenza ?

allego  l'eventuale testo


* codice C.zip (0.96 KB - downloaded 13 times.)
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 77
Posts: 2146
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
trasportando tutto sul solo atmega328p-pu ( cambiati  pin etc..) scrive sulla card ma l'ora e quella di default . che potrebbe essere ??

che devi avviare l'RTC impostando un'orario

Quote
mi rimane un dubbio su questa riga ...
RTC.adjust(DateTime(__DATE__,__TIME__));   non e' che devo inserire un orario ed una data di partenza ?

si, dovresti sostituire (__DATE__,__TIME__) con data e orario.

ma e' un modo un po' "gretto", visto che ogni vlta che riavvii ti si reimposta con quei dati
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22917
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Devi controllare se l'RTC sta girando, in caso negativo imposti l'orario con uno di partenza e poi segnali all'utente che l'orologio è ripartito (es. LCD lampeggiante) oppure chiedi immediatamente all'utente di inserire l'ora esatta.

Per controllare se l'RTC sta girando alcune librerie offrono una funzione apposita. Oppure puoi anche fare un controllo su un particolare flag di un registro interno che varia a seconda dell'RTC usato. Sul DS1307 e sul PCF8563 sono diversi ma il principio è lo stesso: entrambi impostano un bit per segnalare che l'RTC si è arrestato per assenza di alimentazione.
Logged


Latina
Offline Offline
Jr. Member
**
Karma: 0
Posts: 86
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao Leo

ma inserimento manuale della data e ora avviene tramite la riga
RTC.adjust(DateTime(__DATE__,__TIME__));     ma non ho capito bene il formato 
gg/mm/AAAA,HH:MM:SS    non so se e questo.
ma tutto questo avviene se ce ide di arduino

una volta montato il 328p-pu   sulla basetta e reso indipendente dal pc e....

dando per scontato ( ma non troppo che rtc funzioni )

dovrei inserire nel codice che faccio caricare al 338p-pu  una sorta di inserimento della data e dell'orario da inserire
tramite almeno due pulsanti  (  set  +  -  per esempio)

da dove comincio ?? smiley-sad
help
a.






Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22917
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao Leo

ma inserimento manuale della data e ora avviene tramite la riga
RTC.adjust(DateTime(__DATE__,__TIME__));     ma non ho capito bene il formato 

No, questo non carica manualmente la data e l'ora, e non potrebbe visto che l'Arduino mica ha un orologio  smiley-wink
Quelle che vedi, __DATE__ e __TIME__, sono delle costanti predefinite che in fase di compilazione vengono sostituite con la data e l'ora di compilazione dello sketch. Quindi se tu carichi ora il programma, metti l'Arduino nel cassetto e lo rispolveri fra un anno esatto, il 28/04/2014 alle 00:18, l'Arduino partirà dal 28/04/2013, ore 00:18, perché questa è l'ora e la data salvate nella Flash.

Quote
gg/mm/AAAA,HH:MM:SS    non so se e questo.
ma tutto questo avviene se ce ide di arduino

una volta montato il 328p-pu   sulla basetta e reso indipendente dal pc e....

dando per scontato ( ma non troppo che rtc funzioni )

dovrei inserire nel codice che faccio caricare al 338p-pu  una sorta di inserimento della data e dell'orario da inserire
tramite almeno due pulsanti  (  set  +  -  per esempio)

da dove comincio ?? smiley-sad
help
a.
Ci sono tanti progetti in rete, basta cercare e leggere il codice per farsi un'idea.
Logged


Latina
Offline Offline
Jr. Member
**
Karma: 0
Posts: 86
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK. Grazie PeR le info leo
Buona domenica
 Armando
Logged

Pages: [1]   Go Up
Jump to: