Módulo de reloj de tiempo real con chip DS3231 e I2C
| Pin | Señal | Descripción |
|---|---|---|
32K |
clock | 32.768 kHz clock output from the DS3231 RTC for external timing use. |
SQW |
interrupt | RTC square-wave or active-low alarm interrupt output from the DS3231. |
SCL |
SCL | I2C serial clock line for communication with the DS3231 RTC. |
SDA |
SDA | I2C serial data line for communication with the DS3231 RTC. |
VCC |
power | Main power input for the RTC module, typically 3.3 V to 5 V. |
GND |
ground | Ground reference for power and I2C signals. |
SCL.1 |
SCL | Duplicate I2C serial clock connection for the DS3231 RTC. |
SDA.1 |
SDA | Duplicate I2C serial data connection for the DS3231 RTC. |
VCC.1 |
power | Duplicate main power input for the RTC module, typically 3.3 V to 5 V. |
GND.1 |
ground | Duplicate ground reference for power and I2C signals. |
| Desde | Hasta | Cable |
|---|---|---|
board:5V |
x1:VCC |
red |
board:GND |
x1:GND |
black |
board:SCL |
x1:SCL |
green |
board:SDA |
x1:SDA |
blue |
Este ejemplo se escribió y verificó por compilación para arduino-uno. Codey Online lo adapta a cualquier otra placa compatible.
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
Wire.begin();
if (!rtc.begin()) {
Serial.println("Couldn't find DS3231 RTC module");
while (1) {
delay(10);
}
}
// If the RTC lost power, set it to the compile time.
if (rtc.lostPower()) {
Serial.println("RTC lost power, setting the time to compile time.");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
Serial.println("DS3231 RTC example started.");
}
void loop() {
DateTime now = rtc.now();
Serial.print("Date: ");
Serial.print(now.year());
Serial.print('-');
if (now.month() < 10) Serial.print('0');
Serial.print(now.month());
Serial.print('-');
if (now.day() < 10) Serial.print('0');
Serial.print(now.day());
Serial.print(" Time: ");
if (now.hour() < 10) Serial.print('0');
Serial.print(now.hour());
Serial.print(':');
if (now.minute() < 10) Serial.print('0');
Serial.print(now.minute());
Serial.print(':');
if (now.second() < 10) Serial.print('0');
Serial.println(now.second());
delay(1000);
}
Describe lo que quieres construir. Codey Online escribe el codigo, dibuja el esquema de conexiones, lo compila y graba tu placa directamente desde el navegador.
Empieza gratis