DS1307 reset als stroom erop

Ik heb een DS1307, een display 2 regels met I2C en een arduino uno.
Ik heb al eens een goed werkend klokje gemaakt. Eerst set clock sketch uploaden met juiste tijd, dan andere sketch met bv display eroverheen. Je krijgt dan op 1e regel de tijd en op 2e regel de datum.
14:12:23
27/01/2017 ik wilde
vrijdag, 14:12
27januari 2017

Ik heb nu één van bovengenoemde sketches omgebouwd en die werkt. Ik krijg dus een werkend klokje met de gewenste output. Ik was dan ook heel verheugd. ...Tot ik de arduino loskoppelde van de pc. Als ik hem weer aankoppel geeft de display de waarde die ik heb ingesteld, terwijl ik hoopte dat de tijd doorliep. Dat doet hij misschien ook wel (batterijtje), maar het lijkt erop dat de sketch opnieuw wordt geupload als ik de usb weer aansluit.Wat gaat er fout?

De SKETCH reset als je verbinding krijgt met de PC. Zo is de arduino gemaakt. Soms is dat handig, soms ook niet.

ZO'n "display een tijd" is lastig goed te krijgen zonder een echte RTC (real time clock). Dat is en chipje met een (kleine) batterij er naast die blijft doortellen ook als de normale spanning er af is.

De arduino zelf heeft geen mogelijkheid om door te tellen als ie niet van spanning voorzien wordt....

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Ik had laatst ook een DS1307 waarbij de tijd niet doorliep als de spanning eraf was, onthield wel de tijd maar liep gewoon niet op de knoopcel.
Zat een slecht crystal op, ondanks dat het een "dure" Sparkfun was.

@rew, TS heeft een RTC klokje

@TS:
en hoe heb je de tijd ingesteld?
als je ergens in de setup een regel hebt staan die de RTC programmeerd, dan zal die telkens met dezelfde tijd en datum geprogrammeerd worden. die regel moet je dus verwijderen en dan nog eens de sketch uploaden.

ik gebruik en DS3231 en om die te programmeren zat deze regel in de setup.

setDS3231time(30,01,19,1,24,5,15);

daarna verwijderd ik die (in tekst zetten) en upload de sketch nogmaals. de RTC zou de tijd onthouden moeten hebben en doorlopen.
ik gebruik chinese RTC klokjes van een halve euro

ik hou van werken ..., ik kan er uren naar kijken

Wij hebben hier enkele duizenden gebruikt in een aantal van de producten.
Het kan ook een defecte DS zijn.
De 1307 gaat niet vaak kapot, maar als ze gaan krijg je hele bijzondere effecten. klokjes die te snel of te traag lopen, spontaan op de programmeer datum staan (of 1970) en dat soort rare grappen.

maar wat fcapri schrijft, die programmeer regel moet je inderdaad niet hebben. die 'reset' het feest natuurlijk.

RTFM, dan pas vragen...

Op 27 januari 2017 17:04:40 schreef fcapri:
@rew, TS heeft een RTC klokje

Verrek. Even over DS1307 heen gelezen. En het staat in de titel en ook nog in de text. Suf. Sorry.

fcapri: Jou hypothese klinkt aannemelijk!

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 27 januari 2017 17:04:40 schreef fcapri:
@rew, TS heeft een RTC klokje

@TS:
en hoe heb je de tijd ingesteld?
als je ergens in de setup een regel hebt staan die de RTC programmeerd, dan zal die telkens met dezelfde tijd en datum geprogrammeerd worden. die regel moet je dus verwijderen en dan nog eens de sketch uploaden.

ik gebruik en DS3231 en om die te programmeren zat deze regel in de setup.

setDS3231time(30,01,19,1,24,5,15);

daarna verwijderd ik die (in tekst zetten) en upload de sketch nogmaals. de RTC zou de tijd onthouden moeten hebben en doorlopen.
ik gebruik chinese RTC klokjes van een halve euro

Je kunt kijken of het CH (clock halt) bitje is geset. Deze staat default op 1 en de RTC is dan gedisabled. Als deze 1 is, kun je hem op 0 zetten en de RTC begint te tikken. Met knopjes/UART kun je vervolgens de tijd instellen, maar het belangrijkste is dat als het CH bit op 0 staat, je de tijd niet opnieuw instelt. De RTC blijft dan gewoon doortellen.