Altijd bij de tijd met de DS1307 en DS3231 real-time clock modules

Geplaatst op
Real time clock modules Real time clock modules

Real time clock versies

De real time clock serie bevat veel verschillende typenummers met allen vergelijkbare functionaliteit. In deze serie zijn maar 2 versies 'mainstream', namelijk de DS1307 en de DS3231. Deze chips hebben beiden de mogelijkheid om een batterij aan te sluiten en hebben een sqw output pin, waarmee de controller een clockpuls van (1Hz, 1.024kHz, 4.096kHz, 8.192kHz) kan ontvangen. Ook hebben beide ic's een One-Wire interface, waardoor het mogelijk is deze over I2C aan te spreken.
DS1302 Realtime klokmodule - SPIDe DS1302 Real Time Clock Module heeft een SPI-interface waarmee hij de tijd kan aflezen. Direct leverbaar € 1,85
Real time clock module DS3231Real time clock module met de DS3231 chip. Deze module zorgt ervoor dat de Arduino op ieder moment het exacte tijdstip weet. Door de Arduino op de ´sqw´ pin aan te sluiten, is het mogelijk om iedere seconde een interrupt te genereren waarmee sensorwaardes of een display kan worden aangesproken. Direct leverbaar € 4,55

De RTC module aansluiten op de Arduino UNO

De RTC modules komen in verschillende vormen en maten, de verbinding met de Arduino is echter voor alle modules gelijk. De module moet in ieder geval gevoed worden met 5V, verder zal de I2C interface verbonden moeten worden met de SDA (Serial data) SCL (Serial clock) pinnen van de Arduino (dit zijn pinnen A4 en A5 bij de Arduino UNO). Verder kan de SQW output worden aangesloten op een willekeurige pin van de Arduino om een klokpuls van de RTC te ontvangen.

DS1307 aansluiting Arduino UNO DS1307 aansluiting Arduino UNO

BCD Code

De numerieke waardes in de RTC chips zijn in BCD formaat opgeslagen. BCD code is op hardware niveau makkelijker in gebruik dan decimale getallen, echter zijn deze codes in de software niet erg handig. De getallen van en naar de chip moeten dus gecodeerd en gedecodeerd worden zodat de controller en RTC elkaar begrijpen.


De huidige tijd naar de RTC schrijven

De tijd hoeft maar 1 keer naar de RTC worden geschreven wanneer deze aan de batterij is verbonden. De RTC houd zelf de tijd bij en telt verder, zelfs wanneer deze niet is aangesloten aan de controller.
Hard drive clock Hard drive clock

De tijd van de RTC lezen


De tijd weergeven

Met deze functies samen kan de tijd worden bepaald door de Arduino. Met onderstaande functie word deze data naar de serial monitor geschreven, maar de mogelijkheden voor het weergeven van de tijd zijn eindeloos.

SQW frequentie instellen

Met deze code kan een complete klok worden gebouwd, welke de tijd kan weergeven. Dit kan op een 7-segment display, als analoge klok, met rooksignalen of deze kan zelfs worden uitgesproken wanneer hierom wordt gevraagd. Daarnaast kan de tijd ook worden gebruikt in de domotica / huis automatisering, koffiezetter gaat 's ochtends om 8 uur aan, de magnetron 's avonds om 17.15 en de gordijnen gaan dicht om 19.01:05. Werkelijk alles is mogelijk.
Geschreven door Website Ik ben geïnteresseerd in elektronica, programmeren en vooral de combinatie hiertussen. Voor Opencircuit schrijf ik onder andere blogs waarin ik de werking van elektronica en modules uitleg.

Reacties

Webwinkelkeur Kiyoh Trustpilot Opencircuit