| Ваш IP: 54.234.228.78 | Online(15) - гости: 7, боты: 8 | Загрузка сервера: 1.21 ::::::::::::

Часы реального времени DS3231SN (ZS-042)

Модуль часов реального времени DS3231 (ZS-042) построен на микросхеме DS3231SNкоторая является часами реального времени. В отличии от старой модели часов, например на микросхеме DS1307, эти часы содержат внутренний кварцевый резонатор, благодаря чему часы имеют точный ход.

Отличительные особенности:

  • Точность ±2 ppm в диапазоне температур от 0°C до +40°C
  • Точность ±3.5 ppm в диапазоне температур от-40°C до +85°C
  • Вход для подключения автономного источника питания, позволяющего обеспечить непрерывную работу
  • Рабочий температурный диапазон
    коммерческий: от 0°C до +70°C
    индустриальный: -от 40°C до +85°C
  • Низкое потребление
  • Часы реального времени, отсчитывающие секунды, минуты, часы, дни недели, дни месяца, месяц и год с коррекцией високосного года вплоть до 2100
  • Два ежедневных будильника
  • Выход прямоугольного сигнала с программируемой частотой
  • Быстродействующие (400 кГц) I2C интерфейс
  • 3.3 В питание
  • Цифровой температурный датчик с точностью измерения ±3°C
  • Регистр, содержащий данные о необходимой подстройке
  • Вход/выход сброса nonRST

Используя библиотеку DS3231.h можно очень просто установить время часов по времени компиляции и вывести показания времени и температуры на индикатор LCD 1602.

#include <Wire.h>
#include <DS3231.h>//https://github.com/jarzebski/Arduino-DS3231/archive/master.zip
DS3231 clock;// Связываем объект clock с библиотекой DS3231
RTCDateTime DateTime;// Определяем сущность структуры RTCDateTime (описанной в библиотеке DS3231) для хранения считанных с часов даты и времени
#include <LiquidCrystal.h>  
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// RS,E,D4,D5,D6,D7
void setup(){
    Serial.begin(9600);
    lcd.begin(16, 2);// LCD 16X2 
    Wire.begin(); 
    clock.begin();// Инициализируем работу с объектом библиотеки DS3231
 // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
 // clock.setDateTime(2016, 9, 15, 0, 0, 0);// Установка времени вручную (Год, Месяц, День, Час, Минута, Секунда)
}
void loop(){
 DateTime = clock.getDateTime();   // Считываем c часов текущие значения даты и времени в сущность DateTime
 lcd.setCursor(0,0);
 lcd.print(clock.dateFormat("H:i:s ", DateTime));// выводим часы, минуты и секунды
 lcd.print(clock.readTemperature(),1);lcd.print((char)223);lcd.print("C");// выводим значение температуры
 lcd.setCursor(0,1);
 lcd.print(clock.dateFormat("D d M Y", DateTime));// выводим день недели, дату, месяц и год
 delay(200);
}
 
/*
******************************** Форматы времени ***********************************
Date formats (Day)
------------------
 
 * d : Day of the month, 2 digits with leading zeros (01 to 31)
 * D : A textual representation of a day, three letters (Mon through Sun)
 * j : Day of the month without leading zeros (1 to 31)
 * l : A full textual representation of the day of the week (Sunday through Saturday)
 * N : ISO-8601 numeric representation of the day of the week (1 for Monday through 7 for Sunday)
 * S : English ordinal suffix for the day of the month, 2 characters (st, nd, rd or th. Works well with j)
 * w : Numeric representation of the day of the week (0 for Sunday through 6 for Saturday)
 * z : The day of the year (0 through 365)
 
Date formats (Month)
--------------------
 
 * F : A full textual representation of a month, such as January or March (January through December)
 * m : Numeric representation of a month, with leading zeros (01 through 12)
 * M : A short textual representation of a month, three letters (Jan through Dec)
 * n : Numeric representation of a month, without leading zeros (1 through 12)
 * t : Number of days in the given month (28 through 31)
 
Date formats (Year)
-------------------
 
 * L : Whether it's a leap year (1 if it is a leap year, 0 otherwise)
 * Y : A full numeric representation of a year, 4 digits (Examples: 1999 or 2003)
 * y : A two digit representation of a year (Examples: 99 or 03)
 
Date formats (Time)
-------------------
 
 * a : Lowercase Ante meridiem and Post meridiem (am or pm)
 * A : Uppercase Ante meridiem and Post meridiem (AM or PM)
 * g : 2-hour format of an hour without leading zeros (1 through 12)
 * G : 24-hour format of an hour without leading zeros (0 through 23)
 * h : 12-hour format of an hour with leading zeros (01 through 12)
 * H : 24-hour format of an hour with leading zeros (00 through 23)
 * i : Minutes with leading zeros (00 to 59)
 * s : Seconds, with leading zeros (00 through 59)
 
Dare formats (Full Date/Time)
-----------------------------
 
 * U : Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
*/

Установка времени часов возможна по времени компиляции, а так же в ручном режиме:

//clock.setDateTime(__DATE__, __TIME__);

//clock.setDateTime(2016, 9, 15, 0, 0, 0);// Установка времени вручную (Год, Месяц, День, Час, Минута, Секунда)

Раскомментируйте одну из строк для установки времени, загрузите скетч, убедитесь что время выставлено правильно, закомментируйте строку и по новой обновите скетч.

Добавить комментарий

Случайные статьи

  • Двухканальный электронный цифровой регулятор громкости на ИМС КА2250

    Предлагаемый регулятор имеет значительно меньший Кг и уровень шумов, чем регулятор на ИМС К174УН12 (A273D). Вторым его достоинством является использование для регулировки вместо аналоговых потенциометров всего двух кнопок SB1 («Тише») и SB2 («Громче»). Типовая схема включения ИМС KA2250 обеспечивает синхронную регулировку громкости двух каналов этими двумя кнопками. К достоинствам ИМС …Подробнее...
  • Двух канальный регулятор тембра на транзисторах

    Двух канальный регулятор тембра на транзисторах

    На рисунке показана схема малошумящего двух канального регулятора тембра. Каждый канал содержит по три транзистора С945, это старые транзисторы но их можно заменить на аналоги: 2SC945, 2SC1000,  BC547, КТ3102Д. Напряжение питания регулятора тембра может быть в пределах от 12 до 24 В, ток потребления каждого канала не превышает 80 мА (при напряжении питания …Подробнее...
  • FM-передатчик

    FM-передатчик

    В этом fm-передатчике используется конденсаторный микрофон, обратите внимание чтобы плюс микрофона через резистор R1 был подключен к положительному полюсу источника питания. Сигнал с микрофона подается на базу транзистора VT1 через разделительный конденсатор С1 (10мкФ). VT1 действует как усилитель ЗЧ и одновременно как генератор ВЧ, в итоге на выходе передатчика мы …Подробнее...
  • LM3915 — 10-и разрядный индикатор уровня

    LM3915 — 10-и разрядный индикатор уровня

    На рисунке показана схема простого десятиразрядного индикатора уровней. Основа схемы ИМС LM3915, напряжение питания от 5 до 20В, при напряжении питания 5В стабилизатор 7805 из схемы можно исключить. Устройство подключается непосредственно к линейному выходу.Подробнее...
  • Блок стабилизатора с регулируемым выходным напряжением 3…30В/3А

    Этот блок стабилизатора обеспечивает выходное регулируемое напряжение от 3 до 30 В при максимальном токе до 3А. Технические характеристики: Защита от перегрузки Защита от КЗ Выходной ток: макс. 3A Выходные пульсации напряжения не более 0.5mV Выходное напряжение: регулируемое от 3 до 30В, стабилизированные Входное напряжение: от 9 до 30 В …Подробнее...