| Ваш IP: 18.207.254.88 | Online(30) - гости: 22, боты: 8 | Загрузка сервера: 0.57 ::::::::::::


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

Модуль часов реального времени  DS1307 собранный на базе микросхемы DS1307ZN с питание от литиевой батарейки (LIR2032), что позволяет работать автономно в течение длительного времени. Также на модуле, установлена энергонезависимая память EEPROM объемом 32 Кбайт (AT24C32).

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

  • Подсчет реального времени в секундах, минутах, часах, датах месяца, месяцах, днях недели и годах с учетом высокосности текущего года вплоть до 2100 г.
  • 56 байт энергонезависимого ОЗУ для хранения данных
  • 2 проводной последовательный интерфейс
  • Программируемый генератор прямоугольных импульсов
  • Автоматическое определение отключения основного источника питания и подключение резервного
  • Потребление не более 500 нA при питании от резервной батареи питания при температуре 25°C
  • Возможность поставки в промышленном диапазоне температур: от -40°C до+85°C

Библиотека iarduino_RTC поддерживает все функциональные возможности часов реального времени, проста в применении.

Плата Arduino Nano и часы реального времени DS1307 обмениваются данными на шине I2C по линиям SDA (data — данные) и SCL (clock — синхронизация).

Плата Пин SDA Пин SCL
Arduino Uno, Nano, Pro и Pro Mini A4 A5
#include <Wire.h>
#include <iarduino_RTC.h> // iarduino_RTC.zip
iarduino_RTC time(RTC_DS1307);
 
void setup() {
    delay(300);
    Serial.begin(9600);
    time.begin();
  // УСТАНОВКА ВРЕМЕНИ
  //  time.settime(0,5,11,30,1,20,4);  // 0  сек, 5 мин, 11 час, 30, января, 2020 года, четверг
  //  time.settime(-1, -1, -1, 30, 1, 20); // Установить дату 30.01.2020, а время и день недели оставить без изменений
}
void loop(){
      // time.gettime(); // опрос времени - использовать если не применяете time.gettime("d-m-Y, H:i:s, D")
 
      Serial.println(time.gettime("d-m-Y, H:i:s, D")); // выводим время
      Serial.println(time.gettime("d-M-Y, H:i:s, D")); // выводим время
      // часы: h (01-12) / H (01-24)
      // день недели: D (Mon Tue Wed Thu Fri Sat Sun) / w (0-воскресенье, 6-суббота)
      // месяц: m (1-12) / M (Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
      // год: Y (2020) / y (20)
      // полдень: a (am pm) / A (AM PM)
 
      Serial.println(); 
      // int & byte
      Serial.print("часы ");Serial.println(time.Hours);      // часы 0-24 // hours 0-12
      Serial.print("минуты ");Serial.println(time.minutes);    // минуты
      Serial.print("секунды ");Serial.println(time.seconds);  // секунды
      Serial.print("день ");Serial.println(time.day);        // день 0-31
      Serial.print("месяц ");Serial.println(time.month);      // месяц 1-12
      Serial.print("год ");Serial.println(time.year);       // год 
      Serial.print("день недели ");Serial.println(time.weekday);  // 0-воскресенье, 1-понедельник, ... , 6-суббота
 
      Serial.println();
 
    delay(1000);
}

Используя дисплей LCD1602(I2C) (на базе контроллера HD44780) можно сделать простые часы, которые будут показывать текущее время и дату.

#include <Wire.h>
#include <iarduino_RTC.h> // iarduino_RTC,zip
#include <LiquidCrystal_I2C.h>// http://forum.rcl-radio.ru/misc.php?action=pan_download&item=45&download=1
  LiquidCrystal_I2C lcd(0x27,16,2);  // Устанавливаем дисплей
  iarduino_RTC time(RTC_DS1307);
 
void setup() {
     Serial.begin(9600);
     time.begin();
     lcd.init();                     
     lcd.backlight();// Включаем подсветку дисплея
  //  time.settime(0,5,11,30,1,20,4);  // 0  сек, 5 мин, 11 час, 30, января, 2020 года, четверг
}
void loop(){
    //  time.gettime(); // опрос времени
      lcd.setCursor(4, 0);
      lcd.print(time.gettime("H:i:s")); // выводим время
      lcd.setCursor(1, 1);
      lcd.print(time.gettime("d-m-Y D")); // выводим время
 
    delay(1000);
}

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

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

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

  • Регулируемый стабилизатор напряжения с управлением от Arduino

    Регулируемый стабилизатор напряжения с управлением от Arduino

    На рисунке показана схеме регулируемого стабилизатора напряжения с управлением от Arduino. Регулируемый стабилизатор питается от нестабилизированного источника постоянного напряжения 28…35 В. Выходное напряжение стабилизатора регулируется от 0 до 25 В, выходной ток до 3 А. В стабилизаторе предусмотрена плавная регулировка выходного напряжения, защита от короткого замыкания выхода и стабилизация тока …Подробнее...
  • Логический пробник

    Логический пробник

    Развитие цифровой техники привело к созданию логических пробников. Предлагаемый логический пробник прост и удобен в эксплуатации. Пробник имеет большое входное сопротивление, этого удалось добиться применением КМОП структур. Принцип работы пробника весьма прост (см. рисунок). Когда пробник подключен к контролируемой точке, где присутствует «0», или последняя «оборвана», на выводах 8, 10, …Подробнее...
  • Новогодние мигалки (на семь гирлянд с эффектом бегущего огня)

    Алгоритм работы прост, последовательно переключаются семь гирлянд, а затем следует пауза 1/7 всего цикла переключения, и все повторяется снова. Уст-во очень простое, мультивибратор D1.1 D1.2 вырабатывает импульсы частоту которых можно менять в пределах 2…0,5Гц с помощью R2. Эти импульсы поступают на вход счетчика D2, он считает от нуля до семи, …Подробнее...
  • Ферриты магнитомягкие

    Ферриты магнитомягкие это вещества поликристаллического строения получаемые в результате спекания при высокой температуре смеси оксидов железа с оксидами цинка, марганца и других металлов, с последующим измельчением и дальнейшим формированием из полученного порошка магнитопроводов необходимой формы. Благодаря высокому удельному сопротивлению потери мощности в ферритах малы, а рабочая частота высокая. Марки ферритов …Подробнее...
  • Приемник последовательной информации

    Уст-во может быть применимо для вывода информации с РС на большие семисегментные табло или светодинамические установки. На рисунке показана схема передачи последовательного приема двоичной информации с одновременным преобразованием ее в параллельный восьми разрядный код. Разрядность может быть увеличина применив дополнительные КР1533ИР23. Литература: Ж.Радиосхема 05_2007г стр:6 /Автор:В.А. Мельник г.ДнепродзержинскПодробнее...