Arduino & Horloge DS3231 (RTC = Real Time Clock) - /dev/tbo
Maybe your like
- le composant DS3231 est une horloge temps réel (RTC) qui contient le quartz
- compensée pour les dérives suivant la température
- datasheet du composant,
- la communication se fait via le bus i2C (broches SDA & SCL)
- les dates et heures sont mémorisées grâce à une pile CR2032
Branchement
Programme Arduino
J’utilise la bibliothèque "ds3231" développée par Petre Rodan https://github.com/rodan/ds3231 sous licence GPL.
Les variables concernant la date et l’heure sont déclarées sous la forme d’un type struct dans cette bibliothèque :
- struct ts {
- uint8_t sec; /* seconds */
- uint8_t min; /* minutes */
- uint8_t hour; /* hours */
- uint8_t mday; /* day of the month */
- uint8_t mon; /* month */
- int16_t year; /* year */
- uint8_t wday; /* day of the week */
- uint8_t yday; /* day in the year */
- uint8_t isdst; /* daylight saving time */
- uint8_t year_s; /* year in short notation*/
- #ifdef CONFIG_UNIXTIME
- uint32_t unixtime; /* seconds since 01.01.1970 00:00:00 UTC*/
- #endif
- };
Télécharger
Ainsi, dans les programmes suivants : , on déclare une variable t de type struct ts : struct ts t. Si on veut faire référence à la variable minute de l’heure (hh:mm), on utilisera la variable t.min.
Les fonctions que l’on utilise :
| Nom de la fonction | description |
|---|---|
| DS3231_init(DS3231_INTCN) | initialise le module DS3231 |
| DS3231_set(t) | mettre à l’heure/date le module |
| DS3231_get(&t) | lire la date et l’heure |
Lire la date et l’heure.
- #include <Wire.h>
- #include <ds3231.h>
- struct ts t;
- void setup() {
- Serial.begin(9600);
- Wire.begin();
- DS3231_init(DS3231_INTCN);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- DS3231_get(&t);
- Serial.print("date : ");
- Serial.print(t.mday);
- Serial.print("/");
- Serial.print(t.mon);
- Serial.print("/");
- Serial.print(t.year);
- Serial.print("\t Heure : ");
- Serial.print(t.hour);
- Serial.print(":");
- Serial.print(t.min);
- Serial.print(".");
- Serial.println(t.sec);
- delay(500);
- }
Télécharger
Si on ouvre le moniteur série (loupe en haut à droite), on obtient :
REMARQUE : si on vient de mettre la pile dans le module, alors il ne sera pas l’heure, ni à la bonne date. Il va donc falloir le programmer.
Régler l’heure et la date
Le programme suivant permet de régler le module suivant les paramètres donnés dans la fonction void setup() . A chaque fois que l’on relance le programme (téléversement ou reset) il configure à nouveau le module et ré-initialise l’heure et la date.
- #include <Wire.h>
- #include <ds3231.h>
- struct ts t; //déclaration variable t
- void setup() {
- Serial.begin(9600);
- Wire.begin();
- DS3231_init(DS3231_INTCN);
- t.hour=12; // données pour mettre à l'heure l'horloge
- t.min=22;
- t.sec=0;
- t.mday=18;
- t.mon=12;
- t.year=2016;
- DS3231_set(t); // mise à l'heure de l'horloge
- }
- void loop() {
- // put your main code here, to run repeatedly:
- DS3231_get(&t);
- Serial.print("date : ");
- Serial.print(t.mday);
- Serial.print("/");
- Serial.print(t.mon);
- Serial.print("/");
- Serial.print(t.year);
- Serial.print("\t Heure : ");
- Serial.print(t.hour);
- Serial.print(":");
- Serial.print(t.min);
- Serial.print(".");
- Serial.println(t.sec);
- delay(500);
- }
Télécharger
Tag » Arduino Zs-042 Example
-
How To Use A Real-Time Clock Module (DS3231) - Arduino Cloud
-
Arduino Real Time Clock Module (ZS-042) - Eli The Computer Guy
-
Arduino And DS3231 Real Time Clock Tutorial - How To Mechatronics
-
Configuring The ZS-042 Real Time Clock Module - DS3231
-
Arduino And DS3231 Real Time Clock Tutorial - YouTube
-
Real Time Clock RTC Module Arduino - Random Nerd Tutorials
-
In-Depth: Interface DS3231 Precision RTC Module With Arduino
-
Arduino DS3231 RTC Module Tutorial - Real Time Clock
-
Real Time Clock Using DS3231 (EASY) : 4 Steps - Instructables
-
Sleemanj/DS3231_Simple - GitHub
-
Arduino Usage | Adafruit DS3231 Precision RTC Breakout
-
ZS-042 RTC (Real Time Clock) Module - Electronics In Touch Co.
-
Bộ 2 Mô đun Arduino DS3231 ZS042 AT24C32 IIC Làm Bộ Nhớ Thời ...