Ciao a tutti,
sono un novello e sto provando a capire il funzionamento del fantastico arduino. Ho montato un RTC DS1307 seguendo questo tutorial
http://www.ladyada.net/learn/breakoutplus/ds1307rtc.html
ma non riesco a farlo funzionare, o meglio dopo aver caricato lo sketch il risultato è questo
2165/165/165 165:165:85
since midnight 1/1/1970 = 1399160785s = 16193d
now + 7d + 30s: 2014/5/10 23:46:55
Il tutorial è senz'altro fatto bene... ma tu come lo hai collegato? Hai una foto/schema del progetto?
Che sketch usi? Che arduino hai ecc...
Hai ricontrollato i collegamenti? La batteria tampone è collegata? Hai buttato la pasta?
if (! RTC.isrunning()) {
Serial.println(“RTC is NOT running!”);
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(DATE, TIME));
}
}
Sorry this is in english...I will google translate the text too. I'm not positive what is going on in the above threads but I see the error with the DS1307 RTC posting "2165/165/165 165:165:85" to the SD card. This is likely caused by a low voltage to the VCC pin on the RTC. I would bet that if you put a multimeter to that pin you would see that it shows something less than 5v. Whatever arduino shield or battery you are using is probably not getting enough voltage to the DS1307. I've also posted this response to the adafruit forums because it frustrated me, there weren't very many google results when I searched "2165/165/165 165:165:85", and I was excited to actually figure out the problem. You can see my other reply on the adafruit forums here: http://forums.adafruit.com/viewtopic.php?f=31&t=24867&p=133378#p133378.
Translated to italian with google translate:
Tradotto in italiano con Google Translate:
Spiacente, questo è in inglese ... io google tradurre il testo troppo. Io non sono positive ciò che sta accadendo nelle discussioni di cui sopra, ma io vedo l'errore con il RTC DS1307 distacco "2165/165/165 165:165:85" sulla scheda SD. Questo è probabilmente causato da un bassa tensione al pin VCC sul RTC. Sono pronto a scommettere che se si mette un multimetro a quel pin si vedrebbe che mostra qualcosa di meno di 5V. Qualunque Arduino scudo o la batteria si sta utilizzando non è probabilmente sufficiente a tensione ottenendo il DS1307. Ho anche inviato questa risposta al forum Adafruit perché mi frustrato, non c'erano molti risultati di Google quando ho cercato "2165/165/165 165:165:85", ed ero entusiasta di capire realmente il problema . Potete vedere la mia altra risposta sul forum Adafruit qui: http://forums.adafruit.com/viewtopic.php?f=31&t=24867&p=133378 # p133378.
But we get the error condition while arduino is connected to the usb port, so maybe the usb port is not giving the requested current? (it happens on some notebook)
@Franglove try on another (desktop) pc
ma la condizione d'errore cel'abbiamo con arduino connesso su usb, potrebbe essere la porta usb che non fornisce la corrente richiesta? (capita su alcuni notebook)
@Franglove prova su un altro pc (fisso).
P.S.
(ho trdotto la risposta per cortesia verso l'utente non italiano che si è prodigato per rispondere)
PaoloP:
Ma dopo aver montato la batteria, non và impostata la data e l'ora nel RTC?
Nello sketch non vedo i comandi o le variabili per impostarle.
viene fatto con
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}
Si puó lanciare un sketch una volta dove il RTC.adjust() non é condizionato.
Ciao Uwe
PaoloP:
Ma dopo aver montato la batteria, non và impostata la data e l'ora nel RTC?
Nello sketch non vedo i comandi o le variabili per impostarle.
viene fatto con
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}
Si puó lanciare un sketch una volta dove il RTC.adjust() non é condizionato.
Ciao Uwe
Si, ma DATE e TIME quanto valgono? Dove vengono settate?
Le passa il compilatore? Sono quelle del PC?
Sono variabili che contengono la data e l'ora del computer al momento della compilazione dello sketch e rimangono poi ovviamente sempre uguali perché "registrati" nello sketch. Ciò significa che se hai compilato alle 12:34:23 del 3/02/2012 tutte le volte che resetti la scheda, lo sketch reimposta questi valori nell'RTC
Comunque quel if dovrebbe fare che solo la prima volta che viene eseguito lo sketch dopo il uploade aggiorna l' ora. Nelle altre volte non dovreppe piú aggiornare l' ora perché il Flag che legge la funzione RTC.isrunning() é settato. e percui l'ora dovrebbe essere sempre giusta e non rimessa quella del momento della compilazione. Se succede che ogni volta ci si trova l' ora vecchia vuol dire che ci sono problemi con la betteria tampone.
Ciao Uwe
Certo, quando parlavo di resettare la scheda, intendevo tutto l'accrocchio senza batteria tampone. Se la batteria tampone è correttamente collegata, l'ora dovrebbe essere mantenuta indipendentemente dalla presenza o meno dell'alimentazione principale.
Cmq tempo fa avevo problemi con un DS1307 ed anch'io notai che quando l'alimentazione della batteria dava dei problemi, l'orologio sbarellava.
Mi viene da chiedere una cosa: è stato messo in comune il "-" della batteria tampone con la massa dell'RTC e del circuito?