| Ваш IP: 3.215.182.36 | Online(20) - гости: 10, боты: 10 | Загрузка сервера: 0.87 ::::::::::::


Часы реального времени 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);// Установка времени вручную (Год, Месяц, День, Час, Минута, Секунда)

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

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

Войти с помощью: 

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

  • Полицейская сирена

    Схема показанная на рисунке издает звук имитирую звук полицейской сирены. При нажатии кнопки переключателя SА1 конденсатор С1 начнет заряжается медленно открывая транзистор VT1. Когда VT1 полностью откроется, напряжение коллектора заставит открыться транзистор VT2. Конденсатор С2 заряжается почти до напряжения питания. Это приводит кувеличению напряжения коллектор — эмиттер транзистора VT2. Изменение …Подробнее...
  • Реле времени на PIC12F675

    Реле времени на PIC12F675

    Реле времени на PIC12F675 могут отсчитывать время от 0 до 60 минут, управление реле времени осуществляется при помощи потенциометра, крайние положения потенциометра соответственно равны 0 и 60 минутам, среднее положение 30 минутам и так далее. В качестве индикатор используется светодиод который загорается когда начинается отсчет времени, при окончании счета светодиод …Подробнее...
  • Регулятор громкости, баланса, тембра на TDA1524A

    Регулятор громкости, баланса, тембра на TDA1524A

    На рисунке показана схема простого регулятора громкости, баланса и тембра (ВЧ НЧ) на ИМС TDA1524A. Схема достаточна проста, в настройке не нуждается. Регулятор на TDA1524A имеет следующие технические характеристики: Полоса частот 20-20 000Гц Регулировка тембра на частоте 40Гц (bass) -19/+17db Регулировка тембра на частоте 16кГц (treble) -15/+15db Регулировка баланса -40db Входное сопротивление …Подробнее...
  • Сигнализатор жидкости

    Сигнализатор жидкости

    Сигнализатор жидкости (воды) основан на ИМС NE555 и содержит датчик (зонды) выполненный в виде двух медных оголенных проводов. Расстояние между контактами датчика не должно превышать 10 мм. Применение сигнализатора жидкости разнообразное — датчик уровня воды, датчик наполнения емкости, индикатор утечки воды и др. Схема работает от любого источника питания с …Подробнее...
  • Блок выбора программ для радиоприемника

    Блок выбора программ для радиоприемника (Радио 3/98) обеспечивает выбор восьми программ всего одной кнопкой. Блок выполнен всего на 3-х микросхемах и снабжен цифровым индикатором программ. При включении питания DD1 устанавливается в нулевое состояние (код 000), при этом на выходе мультиплексора DD2 появляется напряжение которое через R4 поступает на варикап приемника. …Подробнее...