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К — Выход, предназначенный для подачи внешнего питания >12В.

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

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

  1. ARSLEE

    18.05.2017

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

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

    02.07.2017

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

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

    04.07.2017

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

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

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

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