Altijd bij de tijd met de DS1307 en DS3231 real-time clock modules
Geplaatst op 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 € 3,95
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
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
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.