Оглавление:

DS1307 Часы реального времени RTC с Arduino: 4 шага
DS1307 Часы реального времени RTC с Arduino: 4 шага

Видео: DS1307 Часы реального времени RTC с Arduino: 4 шага

Видео: DS1307 Часы реального времени RTC с Arduino: 4 шага
Видео: Часы реального времени. Уроки Arduino 2024, Ноябрь
Anonim
DS1307 Часы реального времени RTC с Arduino
DS1307 Часы реального времени RTC с Arduino

В этом руководстве мы узнаем о часах реального времени (RTC) и о том, как Arduino и микросхема часов реального времени DS1307 объединены в качестве устройства синхронизации.

Часы реального времени (RTC) используются для отслеживания времени и ведения календаря. Чтобы использовать RTC, нам нужно сначала запрограммировать его на текущую дату и время. Как только это будет сделано, регистры RTC можно будет прочитать в любое время, чтобы узнать время и дату. DS1307 - это RTC, работающий по протоколу I2C. Данные из различных регистров могут быть прочитаны путем доступа к их адресам для чтения с использованием связи I2C.

Шаг 1. Вещи, которые вам нужны

Вещи, которые нужно
Вещи, которые нужно
Вещи, которые нужно
Вещи, которые нужно
Вещи, которые нужно
Вещи, которые нужно

Для этого руководства вам понадобятся следующие вещи:

Arduino uno

Модуль ds1307 rtc

Провода перемычки

Плоская ячейка 3,7 в

Шаг 2: Подключения

Подключения
Подключения
Подключения
Подключения

Пожалуйста, следуйте приложенным схемам в разделе изображений и подключите все в соответствии со схемами.

Шаг 3. Кодирование

Кодирование Часть
Кодирование Часть

Программирование Arduino для подачи в RTC текущей даты и времени; и считывание даты и времени с RTC.

Здесь мы будем использовать библиотеку DS1307 от Watterott с GitHub.

Загрузите эту библиотеку отсюда.:

Извлеките библиотеку и добавьте папку с именем DS1307 в путь к папке с библиотеками в Arduino IDE.

После добавления библиотеки в IDE Arduino откройте среду IDE и откройте пример скетча с именем Example из добавленной библиотеки DS1307.

Предупреждение: в примере скетча в цикле настройки используется функция rtc.set (). Передайте аргументы текущей даты и времени, как указано в этой функции. В приведенном в качестве примера скетче это утверждение будет прокомментировано. Раскомментируйте его и загрузите скетч. После загрузки скетча раскомментируйте утверждение еще раз и загрузите скетч. Если этого не сделать, каждый раз, когда плата Arduino UNO сбрасывается или включается после выключения питания, установленные вами дата и время будут устанавливаться снова и снова, и вы не сможете прочитать точное текущее время и дату.

/ * Пример DS1307 RTC (часы реального времени)

Uno A4 (SDA), A5 (SCL) Mega 20 (SDA), 21 (SCL) Леонардо 2 (SDA), 3 (SCL) * /

#include "Wire.h"

#include "DS1307.h"

DS1307 rtc;

void setup () {/ * init Последовательный порт * / Serial.begin (9600); в то время как (! серийный); / * ждать подключения последовательного порта - требуется только для Леонардо * /

/ * инициализация RTC * / Serial.println ("Init RTC…");

/ * установить дату + время только один раз * / rtc.set (0, 0, 8, 24, 12, 2014); / * 08: 00: 00 24.12.2014 // сек, мин, час, день, месяц, год * /

/ * остановка / пауза RTC * / // rtc.stop ();

/ * запускаем RTC * / rtc.start (); }

void loop () {uint8_t сек, мин, час, день, месяц; uint16_t год;

/ * получить время из RTC * / rtc.get (& сек, & мин, & час, & день, & месяц, & год);

/ * последовательный вывод * / Serial.print ("\ nTime:"); Serial.print (час, DEC); Serial.print (":"); Серийный отпечаток (мин., DEC); Serial.print (":"); Serial.print (сек, DEC);

Serial.print ("\ nДата:"); Serial.print (день, DEC); Serial.print ("."); Serial.print (месяц, DEC); Serial.print ("."); Serial.print (год, DEC);

/ * подождать секунду * / delay (1000); }

Скопируйте приведенный выше код и загрузите его на плату Arduino.

Шаг 4: получение времени

Получение времени
Получение времени
Получение времени
Получение времени

После соединения всего и загрузки кода на плату Arduino откройте монитор последовательного порта в arduino ide, и тогда вы сможете получить дату и время, как у меня, на вашем последовательном мониторе, поскольку вы можете видеть, что я могу видеть свое время и date на моем последовательном мониторе, для демонстрационного вывода обратитесь к приведенному выше выводу изображения и получайте удовольствие, добавляя часы RTC в свой проект.

Рекомендуемые: