Real Time Clock

Kan je met een Arduino een real time clock maken? Bestaat daar een shield voor? Of is er een andere methode?

Ja, daar zijn (best veel) shields en losse boardjes voor.

Zoekterm is RTC.

Je hebt niet altijd 'n Real Time Clock (RTC) nodig als je Arduino 'n internet verbinding heeft; een aantal Network Time Protocol (NTP) servers, leveren ook de correcte UTC tijd in ASCII formaat. Bijv. de server in Boulder levert dit: (even telnet gebruiken):

telnet 128.138.140.50 30
57334 15-11-08 15:35:15 00 0 0 111.8 UTC(NIST) *

waarbij 128.148.140.30 het IP address is van de server in Boulder; port 13 levert 'n enkele regel met daarin de tijd. Als je het sterretje (*) hebt gelezen heb je alles; het eerste nummer is het aantal dagen sinds 18-zoveel; het gedeelte erna wil je hebben. De tijd moet alleen nog aangepast worden aan jouw tijdzone (Time Zone of TZ). Loopt 't interne clockje van je Arduino een beetje op tijd, dan is een (1) keer per dag de tijd bij de server opvragen genoeg om vrij accuraat de tijd bij te houden.

Soms zijn die servers niet bereikbaar; het is dan handig om een of meer 'reserve' servers achter de hand te hebben; hier kun je ze vinden: NIST Internet Time Service

Als je te vaak (bijv. elke seconde) bij die server de tijd gaat opvragen, worden ze boos en word je op 'n 'black list' gezet, maar een aantal malen per dag is geen probleem.

vriendelijke groet,

Jos

Altijd goed te weten dat je ook zonder RTC boardje kunt werken.
Maar dan moet je een netwerkshield of GSM shield gebruiken...
Is dat niet oneindig veel ingewikkelder en duurder (niet financieel) dan zo'n RTC oplossing ?

Evarist heeft niets gezegd over netwerk oplossingen (dus ook niet dat ie dat niet gebruikt).

Even goed fijne informatie, mogelijk dat ik dat uit deze thread steel om met het recent gearriveerde ESP2866 boardje te gaan experimenteren...

MAS3:
Altijd goed te weten dat je ook zonder RTC boardje kunt werken.
Maar dan moet je een netwerkshield of GSM shield gebruiken...
Is dat niet oneindig veel ingewikkelder en duurder (niet financieel) dan zo'n RTC oplossing ?

Natuurlijk is 't (wat) ingewikkelder: die server geeft je alleen de UTC tijd, dus je moet zelf je tijdzone bijhouden (voor ECT (European Central Time) +1 uur of +2 uur voor zomertijd).

Dat eerste getalletje kan ook wat hulp bieden: het is 'n 'modifed julian day number' (MJDN) en meet 't aantal dagen sinds 17 november 1858 (vraag me niet waarom); wat prutsen met zeller's congruentie geeft je dan de datum; als je die MJDN onthoudt en bijvoorbeeld 't aantal minuten in de huidige dag (dat je elke minuut update met je interne kristalletje), dan ben je 'in business'.

't vervelendste is die tijdzone, die moet je gewoon weten, want geolocatie, gegeven je IP address is onbetrrouwbaar; en als 't al betrouwbaar zou zijn, dan nog weten politici er wel 'n rommeltje van te maken w.b. die tijdzones :wink:

Maar je hebt gelijk: zo'n RTC doet dit allemaal voor je (hoop ik!)

vriendelijke groet,

Jos

een RTC heeft 4 draadjes nodig, voeding clock en data, de software is er op deze site.

shooter:
een RTC heeft 4 draadjes nodig, voeding clock en data, de software is er op deze site.

Natuurlijk, ik schreef dan ook: als je 'n internet verbinding hebt, dan hoef je niet perse ook 'n RTC te hebben om de tijd bij te kunnen houden; heb je dat niet en als je wat bang bent voor software, dan is 'n RTC 'n betere (gemakkelijker?) oplossing.

vriendelijke groet,

Jos