Москва, ул. Пушкинская, д.12
Акции
Бренды
О компании
Помощь
  • Методы оплаты
  • Методы доставки
  • Гарантия
  • Вопрос-ответ
Блог
Информация
  • Политика конфиденциальности
  • Политика использования файлов cookie
  • Договор публичной оферты
Отзывы
Контакты
    +7 100 000-00-11
    +7 100 000-00-11 Консультация
    +7 100 000-00-22 Отдел продаж
    +7 100 000-00-33 Бухгалтерия
    E-mail
    info@site.com
    Адрес
    Москва, ул. Пушкинская, д.12
    Режим работы
    Пн - Вс: 10.00 - 19.00
    3d-xpert
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    • 3D принтеры
      3D принтеры
      • Печать пластиком (FDM/FFF)
      • Печать фотополимером (SLA/DLP/LCD)
      • Печать воском (MJP)
      • Для дома
      • Для бизнеса
      • Для производства
      • Промышленные
    • 3D-сканеры
      3D-сканеры
    • Материалы для 3D печати
      Материалы для 3D печати
      • Пластики
      • Фотополимеры
    • Комплектующие 3D принтера
      Комплектующие 3D принтера
      • Электроника
      • Механика
      • Нагревательные столы и сопутствующие
      • Экструдеры
      • Сушилки для пластика
      • УФ-камеры
      • Мойки
      • Ультразвуковые ванны (мойки)
      • 3D ручки
      • Расходные материалы для SLA / LCD
      • Сопутствующие
      • Наборы для мейкеров
      • Инструменты для 3D печатника
      • Постобработка
      • Адгезивы
      • Автоматические системы подачи пластиков (АМС)
    • Arduino и робототехника
      Arduino и робототехника
      • Arduino
      • Raspberry Pi
      • Обучающие наборы
      • Orange Pi
      • Одноплатники
      • Модули
      • Датчики
      • Дисплеи
      • Механика
      • Макетные платы
      • Светодиоды
      • Провода и кабели
      • Источники питания
      • Радиодетали
    • Комплектующие ЧПУ станка
      Комплектующие ЧПУ станка
      • Шаговые двигатели и аксессуары
      • Зубчатые ременные передачи
      • Шарико-винтовые передачи (ШВП)
      • Трапецеидальные передачи винт-гайка
      • Цилиндрические направляющие
      • Профильные направляющие
      • Муфты соединительные
      • Электроника
      • Фрезы
      • Карбоновый профиль / трубки
      • Пневматическое оборудование
      • Системы подачи смазки
      • Сопутствующие
      • Шпиндели и сопутствующие
      • Механика
      • Конструкционный профиль
      • Комплектующие OpenBuilds
      • Лазерные станки
      • Лазерная резка и аксессуары
    • Инструменты
      Инструменты
      • Зачистка и обрезка кабеля
      • Измерительный инструмент
      • Кабель и провода
      • Клеевые пистолеты (термопистолеты)
      • Напильники и надфили
      • Обжимной инструмент
      • Отвертки
      • Паяльное оборудование
      • Пинцеты
      • Расходные материалы
    • Запчасти для 3D принтеров по брендам
      Запчасти для 3D принтеров по брендам
      • Bambu Lab
      • Creality
      • Flashforge
      • Anycubic
      • ELEGOO
      • Flying Bear
      • Qidi
      • Sovol
      • 3DIY printers
    3D принтеры 3D-сканеры Материалы для 3D печати Комплектующие 3D принтера Arduino и робототехника Комплектующие ЧПУ станка Инструменты Запчасти для 3D принтеров по брендам
    3d-xpert
    • 3D принтеры
      3D принтеры
      • Печать пластиком (FDM/FFF)
      • Печать фотополимером (SLA/DLP/LCD)
      • Печать воском (MJP)
      • Для дома
      • Для бизнеса
      • Для производства
      • Промышленные
    • 3D-сканеры
      3D-сканеры
    • Материалы для 3D печати
      Материалы для 3D печати
      • Пластики
      • Фотополимеры
    • Комплектующие 3D принтера
      Комплектующие 3D принтера
      • Электроника
      • Механика
      • Нагревательные столы и сопутствующие
      • Экструдеры
      • Сушилки для пластика
      • УФ-камеры
      • Мойки
      • Ультразвуковые ванны (мойки)
      • 3D ручки
      • Расходные материалы для SLA / LCD
      • Сопутствующие
      • Наборы для мейкеров
      • Инструменты для 3D печатника
      • Постобработка
      • Адгезивы
      • Автоматические системы подачи пластиков (АМС)
    • Arduino и робототехника
      Arduino и робототехника
      • Arduino
      • Raspberry Pi
      • Обучающие наборы
      • Orange Pi
      • Одноплатники
      • Модули
      • Датчики
      • Дисплеи
      • Механика
      • Макетные платы
      • Светодиоды
      • Провода и кабели
      • Источники питания
      • Радиодетали
    • Комплектующие ЧПУ станка
      Комплектующие ЧПУ станка
      • Шаговые двигатели и аксессуары
      • Зубчатые ременные передачи
      • Шарико-винтовые передачи (ШВП)
      • Трапецеидальные передачи винт-гайка
      • Цилиндрические направляющие
      • Профильные направляющие
      • Муфты соединительные
      • Электроника
      • Фрезы
      • Карбоновый профиль / трубки
      • Пневматическое оборудование
      • Системы подачи смазки
      • Сопутствующие
      • Шпиндели и сопутствующие
      • Механика
      • Конструкционный профиль
      • Комплектующие OpenBuilds
      • Лазерные станки
      • Лазерная резка и аксессуары
    • Инструменты
      Инструменты
      • Зачистка и обрезка кабеля
      • Измерительный инструмент
      • Кабель и провода
      • Клеевые пистолеты (термопистолеты)
      • Напильники и надфили
      • Обжимной инструмент
      • Отвертки
      • Паяльное оборудование
      • Пинцеты
      • Расходные материалы
    • Запчасти для 3D принтеров по брендам
      Запчасти для 3D принтеров по брендам
      • Bambu Lab
      • Creality
      • Flashforge
      • Anycubic
      • ELEGOO
      • Flying Bear
      • Qidi
      • Sovol
      • 3DIY printers
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    3d-xpert
    Телефоны
    +71000000011 Консультация
    +71000000022 Отдел продаж
    +71000000033
    E-mail
    info@site.com
    Адрес
    Москва, ул. Пушкинская, д.12, Москва, ул. Пушкинская, д.12
    Режим работы
    Пн - Вс: 10.00 - 19.00
    0
    0
    0
      • Каталог
      • 3D принтеры
        • 3D принтеры
        • Печать пластиком (FDM/FFF)
        • Печать фотополимером (SLA/DLP/LCD)
        • Печать воском (MJP)
        • Для дома
        • Для бизнеса
        • Для производства
        • Промышленные
      • 3D-сканеры
      • Материалы для 3D печати
        • Материалы для 3D печати
        • Пластики
        • Фотополимеры
      • Комплектующие 3D принтера
        • Комплектующие 3D принтера
        • Электроника
        • Механика
        • Нагревательные столы и сопутствующие
        • Экструдеры
        • Сушилки для пластика
        • УФ-камеры
        • Мойки
        • Ультразвуковые ванны (мойки)
        • 3D ручки
        • Расходные материалы для SLA / LCD
        • Сопутствующие
        • Наборы для мейкеров
        • Инструменты для 3D печатника
        • Постобработка
        • Адгезивы
        • Автоматические системы подачи пластиков (АМС)
      • Arduino и робототехника
        • Arduino и робототехника
        • Arduino
        • Raspberry Pi
        • Обучающие наборы
        • Orange Pi
        • Одноплатники
        • Модули
        • Датчики
        • Дисплеи
        • Механика
        • Макетные платы
        • Светодиоды
        • Провода и кабели
        • Источники питания
        • Радиодетали
      • Комплектующие ЧПУ станка
        • Комплектующие ЧПУ станка
        • Шаговые двигатели и аксессуары
        • Зубчатые ременные передачи
        • Шарико-винтовые передачи (ШВП)
        • Трапецеидальные передачи винт-гайка
        • Цилиндрические направляющие
        • Профильные направляющие
        • Муфты соединительные
        • Электроника
        • Фрезы
        • Карбоновый профиль / трубки
        • Пневматическое оборудование
        • Системы подачи смазки
        • Сопутствующие
        • Шпиндели и сопутствующие
        • Механика
        • Конструкционный профиль
        • Комплектующие OpenBuilds
        • Лазерные станки
        • Лазерная резка и аксессуары
      • Инструменты
        • Инструменты
        • Зачистка и обрезка кабеля
        • Измерительный инструмент
        • Кабель и провода
        • Клеевые пистолеты (термопистолеты)
        • Напильники и надфили
        • Обжимной инструмент
        • Отвертки
        • Паяльное оборудование
        • Пинцеты
        • Расходные материалы
      • Запчасти для 3D принтеров по брендам
        • Запчасти для 3D принтеров по брендам
        • Bambu Lab
        • Creality
        • Flashforge
        • Anycubic
        • ELEGOO
        • Flying Bear
        • Qidi
        • Sovol
        • 3DIY printers
    • Кабинет
    • Сравнение
    • Избранное
    • Корзина
    • Акции
    • Бренды
    • О компании
    • Помощь
      • Помощь
      • Методы оплаты
      • Методы доставки
      • Гарантия
      • Вопрос-ответ
    • Блог
    • Информация
      • Информация
      • Политика конфиденциальности
      • Политика использования файлов cookie
      • Договор публичной оферты
    • Отзывы
    • Контакты
    +71000000011 Бухгалтерия
    • Телефоны
    • +71000000011 Консультация
    • +71000000022 Отдел продаж
    • +71000000033 Бухгалтерия
    • info@site.com
    • Москва, ул. Пушкинская, д.12, Москва, ул. Пушкинская, д.12
    • Пн - Вс: 10.00 - 19.00
    Главная
    Блог
    Модули
    Часы реального времени DS3231

    Часы реального времени DS3231

    Часы реального времени DS3231
    Модули 01 января 2024

    Содержание

    • Обзор
    • Технические характеристики
    • Назначение контактов
    • Подключение к Arduino
    • Пример использования
    • Часто задаваемые вопросы

    Обзор часов реального времени DS3231

    Если вы создаете устройство, которому нужно знать точное время, вам пригодится модуль часов реального времени RTC (Real Time Clock). Данные модули отсчитывают точное время и могут сохранять его даже при отключении основного питания при использовании резервного питания (батарейка CR2032 или литий-ионный аккумулятор LIR2032-3,6 В), которого хватит на несколько лет.

    Еще совсем недавно основным модулем RTC в среде Ардуинщиков являлся модуль на микросхеме DS1307. В этом модуле использовался внешний кварцевый генератор частотой 32кГц, при изменении температуры менялась частота кварца, что приводило к погрешности в подсчете времени.

    Новые модули RTC (рис. 1) построены на микросхеме DS3231, внутрь которой установлен кварцевый генератор и датчик температуры, который компенсирует изменения температуры, поэтому время отсчитывается более точно. Погрешность составляет ±2 минуты за год. 

    real-time-clock-01.jpg

    Рисунок 1.


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

    • календарь до 2100 года
    • погрешность : +/- 4ppm
    • два будильника
    • выход стабильной частоты : 1-32768 Гц
    • напряжение питания : 2,7 - 5,3 В
    • напряжение батарейки : 2,3 - 5,3 В
    • ток потребления : 250 мкA
    • ток потребления от батарейки : 3 мкA
    • порог переключения на батарейку : 2,6 В
    • интерфейс : I2C
    • размеры : 40х22 мм

    Назначение контактов

    Модуль имеет 6 выводов:

    • GND – общий
    • VCC – питание 2,7 - 5,3 В
    • SDA – вход/выход данных интерфейса I2C
    • SCL – синхронизация интерфейса I2C
    • SQW – прерывание от будильников или выход импульсов 1-8192 Гц
    • 32K – выход импульсов 32768 Гц

    Подключение к плате Arduino

    Модуль DS3231 подключается к плате Arduino по интерфейсу I2C, используются выводы SDA и SCL. Схема подключения показана на рис. 2.

    real-time-clock-02.jpg

    Рисунок 2.

    Для программирования будем использовать библиотеки DS1307 и Time. Скетч получения данных с DS3231 и вывода в последовательный порт показан в листинге 1.

    Листинг 1
    	 #include <Wire.h>	 #include <DS1307RTC.h>	 #include <Time.h>
    	 tmElements_t datetime;
    
    	 void setup() {	    Serial.begin(9600);	 }
    
    	 void loop() {	    // получение данных из ds3231	    if (RTC.read(dt)) {	       print2(datetime.Hour, ":");	       print2(datetime.Minute, ":");	       print2(datetime.Second, " ");	       print2(datetime.Day, "/");	       print2(datetime.Month, "/");	       print2(tmYearToCalendar(datetime.Year) ,"");	       Serial.println();	    }
    	    else {	          Serial.println("error");	          delay(5000);	    }
    	    delay(1000);	 }
    	 void print2(int nn,String str) {	    if (nn >= 0 && nn < 10)	       { Serial.print("0");}	    Serial.print(nn);	    Serial.print(str);	 }

    Открываем монитор последовательного порта (рис. 3).

    real-time-clock-03.jpg

    Рисунок 3.

    Результат работы – правильный отсчет, но неверное значение времени и даты. При отсутствии питания значение времени в микросхеме DS3231 сбрасывается на 00:00:00 01/01/2000.

    Добавим функционал скетчу – установка времени отправкой строки вида "dd/mm/ YYYY hh:mm:ss" в последовательный порт.

    Листинг 2
    	 #include <DS1307RTC.h>	 #include <Time.h>	 #include <Wire.h>	  
    	 String inSer = "";	 boolean strFull = false;	 tmElements_t datetime;	  
    	 void setup() {	    Serial.begin(9600);	 }	  
    	 void loop() {	    // пришли данные по serial
    	    if (strFull) {	       datetime.Hour=(int(inSer[11])-48)*10+(int(inSer[12])-48);	       datetime.Minute=(int(inSer[14])-48)*10+(int(inSer[15])-48);	       datetime.Second=(int(inSer[17])-48)*10+(int(inSer[18])-48);	       datetime.Day=(int(inSer[0])-48)*10+(int(inSer[1])-48);
    	       datetime.Month=(int(inSer[3])-48)*10+(int(inSer[4])-48);	       datetime.Year=CalendarYrToTm((int(inSer[6])-48)*1000+(int(inSer[7])-48)*100+(int(inSer[8])-48)*10+(int(inSer[9])-48));
    	      RTC.write(datetime); // записать данные в DS3231	       // очистить строку	       inSer = "";	       strFull = false;	    }
    
    	    // получение данных из ds3231	    if (RTC.read(datetime)) {	       print2(datetime.Hour, ":");	       print2(datetime.Minute, ":");	       print2(datetime.Second, " ");	       print2(datetime.Day, "/");	       print2(datetime.Month, "/");	       print2(tmYearToCalendar(datetime.Year) ,"");	       Serial.println();	    }
    
    	    else {	          Serial.print("error");	          delay(5000);	    }	    delay(1000);	 }
    
    	 void print2(int nn,String str) {	    if (nn >= 0 && nn < 10)	       { Serial.print("0");}	    Serial.print(nn);	    Serial.print(str);	 }
    
    	 void serialEvent() {
    	    while (Serial.available()) {	       // получить очередной байт:	       char c = (char)Serial.read();	       // добавить в строку	       inSer += c;
    	       // /n - конец передачи
    	       if (c == '\n')	          { strFull = true;}	    }	 }

    После загрузки скетча на плату Arduino, открываем монитор последовательного порта и отправляем в Arduino строку «dd/mm/ YYYY hh:mm:ss» для установки текущей даты и точного времени (рис. 4,5).

    real-time-clock-04.jpg
    real-time-clock-05.jpg

    Рисунок 4,5.

    Теперь DS3231 будет отсчитывать точное время. И если установлена батарейка, время не собъется после отключения питания.


    Пример использования

    Создадим проект часов с выводом данных на 4-х разрядный семисегментный дисплей на базе драйвера TM1637.

    Нам потребуются следующие компоненты:

    • Плата Arduino Uno – 1
    • Плата прототипирования – 1
    • Модуль DS3231 – 1
    • 4digit display на базе TM1637 – 1
    • Провода

    Схема соединения элементов показана на рис. 6.

    real-time-clock-06.jpg

    Рисунок 6.

    Для программирования вывода данных на 4-х разрядный семисегментный дисплей на базе драйвера TM1637 установим в Arduino IDE библиотеку TM1637. Каждые 5 секунд меняем на дисплее отображение:

    • текущее время;

    • день и месяц.

    При отображении показаний текущего времени каждые 0.5 секунды мигаем разделителем типа "двоеточие" между вторым и третьим разрядом. Содержимое скетча показано в листинге 3.

    Листинг 3
    	 #include <DS1307RTC.h>	 #include <Time.h>	 #include <Wire.h>	 #include "TM1637.h"	 #define CLK 3     	 #define DIO 2
    
    	 TM1637 4dig_display(CLK,DIO);	 // для данных времени	 int8_t ListTime[4]={0,0,0,0};	 // для данных dd/mm	 int8_t ListDay[4]={0,0,0,0};	 // разделитель	 boolean point=true;	 // для смены время / день-месяц	 unsigned long millist=0;	 tmElements_t datetime;    
    	 void setup() {	    Serial.begin(9600); // запустить последовательный порт	    // запуск дисплея	    4dig_display.init();
    	    // яркость дисплея	    tm1637.set(7);	 }	  
    	 void loop() {	    // получение времени	    if (RTC.read(datetime)) {	       ListTime[0]= datetime.Hour/10;	       ListTime[1]= datetime.Hour%10;	       ListTime[2]= datetime.Minute/10;	       ListTime[3]= datetime.Minute%10;	       ListDay[0]= datetime.Day/10;	       ListDay[1]= datetime.Day%10;	       ListDay[2]= datetime.Month/10;	       ListDay[3]= datetime.Month%10;	    }	    else {	       // ошибка	       4dig_display.display(0,ListDay[0]);	       4dig_display.display(1,ListDay[1]);	       4dig_display.display(2,ListDay[2]);	       4dig_display.display(3,ListDay[3]);	       4dig_display.point(false);	    }
    
    	    if(millis()-millist>=10000) {	       millist=millis();	    }	    else if(millis()-millist>=5000) {	       // вывод день - месяц	       4dig_display.display(0,ListDay[0]);	       4dig_display.display(1,ListDay[1]);	       4dig_display.display(2,ListDay[2]);	       4dig_display.display(3,ListDay[3]);	       4dig_display.point(false);	    }	    else {	       // вывод времени	       4dig_display.display(0,ListTime[0]);	       4dig_display.display(1,ListTime[1]);	       4dig_display.display(2,ListTime[2]);	       4dig_display.display(3,ListTime[3]);	       4dig_display.point(point);	    }
    
    	    delay(500);	    // поменять индикацию точек	    point=!point;	 }

    Загружаем скетч на плату Arduino и проверяем работу часов.

    real-time-clock-07.jpg
    real-time-clock-08.jpg

    Рисунок 7,8. 


    Часто задаваемые вопросы

    1. Отсутствует получение данных времени с модуля DS3231.

    • Проверьте правильность подключения модуля DS3231 к плате Arduino.

    2. Данные, получаемые с модуля DS3231, неверные.

    • Установите правильную дату и время, загрузив код из листинга 2 и отправив из последовательного порт правильные данные.

    3. При отключении питания сбивается время и дата.

    • Установите резервное питание модуля (батарейка CR2032 или литий-ионный аккумулятор LIR2032-3,6 В).

    • Проверьте напряжение резервного питания (должно быть не менее 2,3 В).

    Похожие статьи

    Сравнение высокоэффективных полимеров (HPP) и металлов: что лучше для 3D-печати?
    Мировые новости
    08 сентября 2024
    Сравнение высокоэффективных полимеров (HPP) и металлов: что лучше для 3D-печати?
    Беспроводной передатчик FS1000A и приемник MX-RM-5V
    Модули
    01 января 2024
    Беспроводной передатчик FS1000A и приемник MX-RM-5V
    3D печатная модель не липнет к столу принтера. Как исправить?
    3D печать
    01 сентября 2024
    3D печатная модель не липнет к столу принтера. Как исправить?
    Назад к списку
    • Все публикации 273
      • 3D печать 62
      • 3D принтеры 57
      • 3D сканеры 1
      • Arduino механика 6
      • Arduino платы 8
      • Датчики 27
      • Дисплеи 6
      • Кейсы 1
      • Компоненты 13
      • Мировые новости 35
      • Модули 38
      • Проекты 7
      • Сопутствующие 2
      • ЧПУ 10
    Подпишитесь на рассылку наших новостей и акций
    Подписаться
    Подписаться
    на новости и акции
    Связаться с нами
    +71000000011
    +7 100 000-00-11 Консультация
    +7 100 000-00-22 Отдел продаж
    +7 100 000-00-33 Бухгалтерия
    E-mail
    info@site.com
    Адрес
    Москва, ул. Пушкинская, д.12
    Режим работы
    Пн - Вс: 10.00 - 19.00
    info@site.com
    Москва, ул. Пушкинская, д.12
    Каталог товаров
    3D принтеры
    3D-сканеры
    Материалы для 3D печати
    Комплектующие 3D принтера
    Arduino и робототехника
    Комплектующие ЧПУ станка
    Инструменты
    Запчасти для 3D принтеров по брендам
    Компания
    О компании
    Акции
    Блог
    Методы оплаты
    Методы доставки
    Гарантия
    Отзывы
    Контакты
    Личный кабинет
    Избранное
    Сравнение товаров
    Мои заказы
    Авторизация
    Регистрация
    Восстановление пароля
    Информация
    Политика конфиденциальности
    Политика использования файлов cookie
    Договор публичной оферты
    © 2026 Site
    Каталог товаров
    Компания
    Личный кабинет
    Информация
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Бренды Контакты