Module thời gian thực RTC DS1307 có chức năng lưu trữ thông tin ngày tháng năm cũng như giờ phút giây, nó sẽ hoạt động như một chiếc đồng hồ và có thể xuất dữ liệu ra ngoài qua giao thức I2C.
Được thiết kế kèm theo một viên pin đồng hồ có khả năng lưu trữ thông tin lên đến 10 năm mà không cần cấp nguồn 5V từ bên ngoài. Module đi kèm với EEPROM AT24C32 có khả năng lưu trữ thêm thông tin lên đến 32KBit.
Thông số kỹ thuật:
- Điện áp làm việc: 3.3V đến 5V
- Bao gồm 1 IC thời gian thực DS1307
- Các thành phần cần thiết như thạch anh 32768kHz, điện trở pull-up và tụ lọc nguồn đều được tích hợp trên board
- LED báo nguồn
- Có sẵn pin dự phòng duy trì thời gian khi mất điện
- 5-pin bao gồm giao thức I2C sẵn sàng giao tiếp: INT (QWO), SCL, SDA, VCC và GND
- Dễ dàng thêm một đồng hồ thời gian thực để dự án của bạn
- Nhỏ gọn và dễ dàng để lắp thêm vào bo mạch hoặc test board
Sơ đồ chân:
Code tham khảo Arduino:
/*
DS1307 Arduino
VCC 5V
GND GND
SDA SDA
SCL SCL
*/
#include <Wire.h>
#include <TimeLib.h>
#include <DS1307RTC.h>void setup() {
Serial.begin(9600);
while (!Serial) ; // wait for serial
delay(200);
Serial.println("DS1307RTC Read Test");
Serial.println("-------------------");
}void loop() {
tmElements_t tm;if (RTC.read(tm)) {
Serial.print("Ok, Time = ");
print2digits(tm.Hour);
Serial.write(':');
print2digits(tm.Minute);
Serial.write(':');
print2digits(tm.Second);
Serial.print(", Date (D/M/Y) = ");
Serial.print(tm.Day);
Serial.write('/');
Serial.print(tm.Month);
Serial.write('/');
Serial.print(tmYearToCalendar(tm.Year));
Serial.println();
} else {
if (RTC.chipPresent()) {
Serial.println("The DS1307 is stopped. Please run the SetTime");
Serial.println("example to initialize the time and begin running.");
Serial.println();
} else {
Serial.println("DS1307 read error! Please check the circuitry.");
Serial.println();
}
delay(9000);
}
delay(1000);
}void print2digits(int number) {
if (number >= 0 && number < 10) {
Serial.write('0');
}
Serial.print(number);
}
Tài liệu tham khảo:
Video tham khảo: