Arduino для начинающих. Урок 11. Подключение модуля часов реального времени DS3231

Share Button

Продолжаем серию уроков «Arduino для начинающих«. Знакомимся с модулем часов реального времени DS3231. В статье видео-инструкция, листинги программ, назначение и способы подключения к Arduino модулей из семейства DS.

Arduino для начинающих. Урок 11. Подключение модуля часов реального времени DS3231

Модуль часов реального времени DS3231

Что такое модуль часов реального времени DS3231?

Модуль часов реального времени — это электронная схема, предназначенная для учета хронометрических данных (текущее время, дата, день недели и др.), представляет собой систему из автономного источника питания и учитывающего устройства.

Модуль DS3231 по сути представляет из себя обыкновенные часы. В платах Arduino уже есть встроенный датчик времени Millis, однако он работает только при поданном питании на плату. При отключении и дальнейшем включении Arduino отсчет времени Millis сбросится до нуля. А DS3231 имеет на борту батарейку, которая даже при отключенной плате Arduino продолжает «питать» модуль, позволяя ему измерять время.

Модуль можно использовать в качестве часов или будильника, построенных на базе плат Arduino. Или же в качестве оповещения для различных систем, к примеру в «Умном доме».

Технические характеристики DS3231:

  • модуль производит подсчет часов, минут, секунд, дат, месяцев, лет (високосные года учитываются до 2100 года);
  • для подключения к различным устройствам, часы подключаются по I2C интерфейсу.

32К — Выход, частота 32 кГц.

SQW — Программируемый выход Square-Wave сигнала.

SCL – Через этот пин по интерфейсу I2C происходит обмен данными с часами.

SDA – Через этот пин передаются данные с часов.

VCC – Питание часов реального времени, нужно 5 вольт. Если на этот пин не поступает напряжение, часы переходят в спящий режим.

GND — Земля.

Схема подключения часов реального времени DS3231 и простейшая программа

Пины SDA и SCL на разных платах Arduino:

SDA SCL
UNO A4 A5
Mini A4 A5
Nano A4 A5
Mega2560 20 21
Leonardo 2 3

Arduino для начинающих. Урок 11. Подключение модуля часов реального времени DS3231

Подключим модуль часов реального времени к Arduino UNO. SDA — пин A4, SCL — пин A5.

Для работы модели подойдет следующая программа (программу вы можете просто скопировать в Arduino IDE):

#include
iarduino_RTC time(RTC_DS3231);
void setup() {
delay(300);
Serial.begin(9600);
time.begin();
}
void loop(){
if(millis()%1000==0){ // если прошла 1 секунда
Serial.println(time.gettime("d-m-Y, H:i:s, D")); // выводим время
delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
}
}

В данном скетче просто идет отсчет времени.

В первую очередь в сктече подключение библиотеки iarduino_RTC.h.

Там же укажите точное название своего модуля для корректной работы с ним.

Дальше укажите задержку включения модуля в сравнении с включением самой платы и укажите скорость для работы с монитором порта.

В итоге получаем вывод времени с модуля DS3231 в монитор порта. Идет вывод часов, минут, секунд.

В следующем скетче добавим функцию settime, позволяющую установить начальное время отсчета.

#include
iarduino_RTC time(RTC_DS3231);
void setup() {
delay(300);
Serial.begin(9600);
time.begin();
time.settime(0,0,18,24,04,17,1); // 0  сек, 0 мин, 18 час, 24, апреля, 2017 года, понедельник
}
void loop(){
if(millis()%1000==0){ // если прошла 1 секунда
Serial.println(time.gettime("d-m-Y, H:i:s, D")); // выводим время
delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
}
}

В примере время начинает отсчитываться с 0  сек, 0 мин, 18 час, 24, апреля, 2017 года, понедельник.

Смотрите также:

Учебный курс «Arduino для начинающих»: главная страница.

Посты по урокам:

  1. Первый урок: Светодиод.
  2. Второй урок: Кнопка.
  3. Третий урок: Потенциометр.
  4. Четвертый урок: Сервопривод.
  5. Пятый урок: Трехцветный светодиод.
  6. Шестой урок: Пьезоэлемент.
  7. Седьмой урок: Фоторезистор.
  8. Восьмой урок: Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail.
  9. Девятый урок: Подключение датчика температуры и влажности DHT.
  10. Десятый урок: Подключение матричной клавиатуры и интересные схемы.

Все посты сайта «Занимательная робототехника» по тегу Arduino.

YouTube канал Занимательной робототехники и YouTube канал ArturosTV, где публикуются видео-уроки.

Не знаете, где купить Arduino? Все используемые в уроке комплектующие входят в большинство готовых комплектов Arduino, их также можно приобрести по отдельности. Подробная инструкция по выбору здесь. Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазин Амперка. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Смотри также список магазинов.

Share Button

14 комментариев к статье “Arduino для начинающих. Урок 11. Подключение модуля часов реального времени DS3231”

  1. ARSLEE

    18.05.2017

    Боже, наконец новый урок!
    )))0)

    Ответить на этот комментарий
  2. Дмитрий

    02.07.2017

    Аффтар — убейся! Устройств на шине I2C может быть до 127-ми штук!

    Ответить на этот комментарий
  3. Aasssadsad

    04.07.2017

    Здесь не только ролика по сбору нету так ещё и схемы!

    Ответить на этот комментарий
  4. Николай

    10.09.2017

    Для чего?Что нового сказал?Даже не собрал ничего.Вывод в терминал?Автора-в топку!!!! Пукстопорожней болтовней только нет мусорит

    Ответить на этот комментарий
  5. Игорь

    14.10.2017

    В третьей версии UNO есть отдельные выводы SDA и SCL, а вообще для наглядности можно было и на макетке распараллелить и экран подключить.

    Ответить на этот комментарий
  6. Руслан

    28.05.2018

    вот про АЙТУСИ ты молодец конечно

    Ответить на этот комментарий
  7. DLRex

    14.07.2018

    Автор абсолютно не знает этот модуль. Как можно было назвать вывод 32К входом по питанию?!

    Ответить на этот комментарий
  8. ole

    01.06.2019

    Не будет твой скетч работать!!!
    Необходимо добавить вначале
    #include
    #include

    Ответить на этот комментарий
  9. Vladimir

    30.07.2020

    Что за ***фигню вы написали???

    32К — Выход, предназначенный для подачи внешнего питания >12В.

    С этого контакта выходят испульсы с частотой 32768 Гц/

    Вы вредитель. Ведь кто-то может и подать на этот пин 12 В.

    Вы **** ***.

    Ответить на этот комментарий

Оставить комментарий

© 2014-2024 Занимательная робототехника, Гагарина Д.А., Гагарин А.С., Гагарин А.А. All rights reserved / Все права защищены. Копирование и воспроизведение в любой форме запрещено. Политика конфиденциальности. Соглашение об обработке персональных данных.
Наверх