Внедрение продукции #

DS1307 — это обычный модуль часов реального времени (RTC), который объединяет функции часов и календаря и обеспечивает точную информацию о времени и дате. Он часто используется с контроллером для получения точной временной метки или выполнения синхронизированных задач при отсутствии сетевого подключения.
Модуль DS1307 использует шину I2C для связи и может быть подключен к шине I2C микроконтроллера. Он содержит кристалл часов реального времени 32 кГц для обеспечения высокоточного отсчета времени. Модуль также имеет интерфейс резервного питания от батареи для поддержания стабильности данных времени при отключении основного питания. Модуль DS1307 хранит информацию о годе, месяце, дате, часах, минутах и секундах, которую можно установить и получить путем чтения и записи регистров.
Область применения: электронные часы, таймеры, реле времени, контроль температуры и другие сценарии, где необходимо достижение точного времени.
Спецификация параметра #
| Параметр | Значение//Описание |
|---|---|
| Рабочее напряжение | 5V |
| Рабочая Температура | -40 ° C ~ + 85 ° C |
| Емкость | 56Byte |
| Частота часов | 32.768KHz |
| режим связи | IIC |
| Размер | 4.72cm * 2.38cm |

Схема подключения #

| Датчик движения | UNO |
|---|---|
| VCC | 5V |
| GND | GND |
| SCL | SCL |
| SDA | SDA |
Пример кода #
//www.acebott.com
#include // Includes RtcDS1307 library
#include // Includes Wire library for I2C communication
volatile int year;
volatile int month;
volatile int day;
volatile int hour;
volatile int minute;
volatile int second;
RtcDS1307 Rtc(Wire);
// Create RtcDS1307 object for I2C communication using Wire library
void setup(){
year = 0;
month = 0;
day = 0;
hour = 0;
minute = 0;
second = 0;
Rtc.Begin(); // Initialize RtcDS1307
Rtc.SetIsRunning(true); // Start the DS1307 real-time clock
Rtc.SetDateTime(RtcDateTime(__DATE__, __TIME__)); // Set the date and time of the DS1307 to the date and time at compile time
Serial.begin(9600); // Initialize serial communications
}
void loop(){
// Get the current date and time from the DS1307 real-time clock
year = Rtc.GetDateTime().Year();
month = Rtc.GetDateTime().Month();
day = Rtc.GetDateTime().Day();
hour = Rtc.GetDateTime().Hour();
minute = Rtc.GetDateTime().Minute();
second = Rtc.GetDateTime().Second();
// Print date and time to serial port
Serial.println(String(String(year) + String("Year")) + String(String(String(month) + String("Month")) + String(String(day) + String("Day"))));
Serial.println(String(String(hour) + String(":")) + String(String(String(minute) + String(":")) + String(second)));
delay(1000); // 1 second delay to control output frequency
}
Результат испытаний #
После загрузки кода на плату контроллера откройте монитор последовательного порта Arduino IDE и установите скорость передачи данных 9600.
Последовательный порт распечатает текущее время.


Связанные ресурсы #
Получить ценовое предложение или купить у: #
B2B-бизнес: info@acebott.com