SKU: OT2118-A47 Numéro d’article: NA509 EAN: 8324968584702
Module d’horloge temps réel avec la puce DS3231 (. Ce module permet à l’Arduino de connaître l’heure exacte à tout moment. En connectant l’Arduino à la broche ´sqw´, il est possible de générer une interruption chaque seconde, avec laquelle des valeurs de capteurs ou un affichage peuvent être sollicités.
Communication : interface I2C.
Maintient l’heure avec précision, même lorsque le module n’est pas connecté (batterie de secours)
Année - mois - jour heure : minute : seconde
Connexion pour déclenchement avec intervalle (1Hz, 4kHz, 8kHz, 32kHz)
56 octets de mémoire non volatile
Plus grande précision que la DS1307
Puce mémoire supplémentaire : AT24C32 (32K octets)
Capteur de température intégré (écart de ±3 °C)
Livré sans batterie
Attention : utilisez une batterie rechargeable LIR2032
Dimensions
Longueur : 3,9cm
Largeur : 2,2cm
Hauteur : 1,2cm
Voici comment connecter le Module d’horloge temps réel DS3231 I2C (RTC haute précision) à un Arduino UNO ou à un ESP32, avec un exemple de sketch que tu peux téléverser directement.
Ce projet relie un module RTC DS3231 de haute précision à un Arduino Uno via I2C. Le sketch règle la RTC sur l'heure de compilation si l'alimentation a été coupée, puis lit et affiche chaque seconde dans le Serial Monitor la date, l'heure et les mesures du capteur de température intégré, au format approprié.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : DS3231 Real-Time Clock with Arduino Uno
* Board : Arduino UNO (arduino:avr:uno)
* Parts : DS3231 Real Time Clock Module I2C
* Libraries : RTClib 2.1.4
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
void setup() {
Serial.begin(115200);
while (!Serial);
if (!rtc.begin()) {
Serial.println(F("Couldn't find DS3231 RTC"));
while (1) delay(10);
}
if (rtc.lostPower()) {
Serial.println(F("RTC lost power, setting time to compile time..."));
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
Serial.println(F("DS3231 RTC initialized."));
}
void loop() {
DateTime now = rtc.now();
char dateBuffer[11];
char timeBuffer[9];
snprintf(dateBuffer, sizeof(dateBuffer), "%04d-%02d-%02d", now.year(), now.month(), now.day());
snprintf(timeBuffer, sizeof(timeBuffer), "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
Serial.print(F("Date: "));
Serial.print(dateBuffer);
Serial.print(F(" | Time: "));
Serial.print(timeBuffer);
Serial.print(F(" | Temp: "));
Serial.print(rtc.getTemperature());
Serial.println(F(" C"));
delay(1000);
}
Bibliothèques nécessaires : RTClib 2.1.4
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Ce projet lit la date, l'heure et la température interne actuelles du module Real Time Clock DS3231 via I2C. Connectez le module au rail 3.3V de l'ESP32 et aux broches I2C par défaut, puis ouvrez le Serial Monitor à 115200 baud pour afficher l'horodatage en direct.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : ESP32 Real-Time Clock with DS3231
* Board : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
* Parts : DS3231 Real Time Clock Module I2C
* Libraries : RTClib 2.1.4
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Wire.begin(21, 22); // SDA = GPIO 21, SCL = GPIO 22
if (!rtc.begin()) {
Serial.println("Couldn't find DS3231 RTC module!");
while (1) delay(10);
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, setting time to compilation time!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
DateTime now = rtc.now();
char buffer[30];
snprintf(buffer, sizeof(buffer), "%04d-%02d-%02d %02d:%02d:%02d",
now.year(), now.month(), now.day(),
now.hour(), now.minute(), now.second());
Serial.print("Current Time: ");
Serial.print(buffer);
Serial.print(" | Temp: ");
Serial.print(rtc.getTemperature());
Serial.println(" °C");
delay(1000);
}
Bibliothèques nécessaires : RTClib 2.1.4
Wiring diagram and example code generated by Codey.online — https://www.codey.online