| Ваш IP: 3.231.220.225 | Online(26) - гости: 20, боты: 6 | Загрузка сервера: 0.27 ::::::::::::

Часы реального времени DS1302 (Arduino)

DS1302 — модуль часов реального времени ведет отсчет времени в секундах, минутах, часах, датах месяца, месяцах, днях недели и годах с учетом высокосности текущего года вплоть до 2100 г. Электронная схема модуля включает в себя микросхему, источник питания и кварцевый резонатор. Кварцевый резонатор работает на частоте 32768 Гц.

Ниже показан простой пример скетча для вывода времени в монитор порта. Для первоначальной установки времени необходимо раскомментировать строчку:

// time.settime(0,30,18,24,10,19,4); // Записываем время в модуль: сек, мин, час, дата, месяц, год (2019 = 19), день недели (пон = 1).

Загрузить скетч в плату Arduino, а затем закомментировать строчку и по новой загрузить скетч.

Библиотека — iarduino_RTC.zip

#include <iarduino_RTC.h>
iarduino_RTC time(RTC_DS1302, 6, 7, 8); // RST, CLK, DAT
 
void setup(){Serial.begin(9600);
  time.begin();
 // time.settime(0,30,18,24,10,19,4); // Записываем время в модуль: сек, мин, час, дата, месяц, год (2019 = 19), день недели (пон = 1).
}
 
void loop(){
  time.gettime();
  //Год
  Serial.print(20, DEC);
  Serial.print(time.year);
  Serial.print("-");
  //Месяц
  Serial.print(time.month / 10);
  Serial.print(time.month % 10);
  Serial.print("-");
  //День
  Serial.print(time.day / 10);
  Serial.print(time.day % 10);
  Serial.print(" ");
  //Час
  Serial.print(time.Hours / 10);
  Serial.print(time.Hours % 10);
  Serial.print(":");
  //Минуты
  Serial.print(time.minutes / 10);
  Serial.print(time.minutes % 10);
  Serial.print(":");
  //Секунды
  Serial.print(time.seconds / 10);
  Serial.println(time.seconds % 10);
  // Формат даты
  Serial.println(time.gettime("d-m-Y, H:i:s, D"));
  // День недели
  Serial.println(time.weekday);
 
  delay(1000);
}


Простые часы на LCD1602 I2C

#include <iarduino_RTC.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
  iarduino_RTC time(RTC_DS1302, 6, 7, 8); // RST, CLK, DAT
  LiquidCrystal_I2C lcd(0x27,16,2);  // Устанавливаем дисплей
 
void setup(){Serial.begin(9600);
  time.begin();
  lcd.init();                     
  lcd.backlight();// Включаем подсветку дисплея
 // time.settime(0,30,18,24,10,19,4); // Записываем время в модуль: сек, мин, час, дата, месяц, год (2019 = 19), день недели (пон = 1).
}
 
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(100);
}

Комментарии

  • Спасибо за описание. Применяю этот модуль к проекту часов на ламповых индикаторах. Модуль подключаю по I2C. Никогда не сталкивался с часами реального времени, поэтому у меня некоторое недопонимание в установке. Насколько я понял смысл, первоначально в скетче строку // time.settime(0,30,18,24,10,19,4); // Записываем время в модуль: сек, мин, час, дата, месяц, год (2019 = 19), день недели (пон = 1). я записываю без начальных символов //. вручную вписываю время и дату и заливаю скетч. Потом эту же строку я записываю с начальными символами //, но время и дату не вписываю. Должно произойти обновление времени по времени компиляции?

    • liman28:

      Выставляете время (заполняете строку). Убираете // и заливаете скетч, потом снова ставите // и снова заливаете скетч, если не поставить // то при старте всегда будет устанавливаться время которое Вы указали в строке.
      По времени компиляции это DS3132, DS1302 так не умеют.
      Если честно то DS1302 мне не понравился, не очень точные часы, кварц надо сразу менять. DS3132 намного лучше.

      • Я то же посмотрел отзывы об этом модуле. Всё таки решил купить DS3231.и использовать оригинальный скетч. Доделаю- выставлю видео часов, аналогичных Вашим, но на индикаторах ИН-12.

        • liman28:

          Начал работу с индикаторами ИВ-22, не факт что выйдет, но попытаться стоит.

          • В отличии от знаковых ИН. ИВ это семисегментные.Там дешифратор другой нужен, формирующий из сегментов число. В советских часах Электроника такие стояли, но там применялась узкоспециальная микросхема. Думаю, что если использовать к514ид2 и на выходе высоковольтные транзисторные ключи, то всё получится.

            • liman28:

              Дешифратор ставить не буду, 27 вольт на сегменты и сетку буду подавать через транзисторы bc547, нить накала 5 В через все лампы 4 шт, получится по 1,25 В. Ардуино будет сам как дешифратор.

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

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

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

  • РЕЛЕ ВРЕМЕНИ

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

    Бинауральный преобразователь

    Бинауральный преобразователь — устройство значительно снижающее эффект локализации кажущихся источников звука в голове слушателя и уменьшает неестественное резкое разделение каналов, что обычно возникает при прослушивании стерео фонограмм через стерео телефоны(наушники). Такой преобразователь приближает качество воспроизведения через головные телефоны к качеству воспроизведения через АС. Характеристики бинауральный преобразователя: Номинальное входное напряжение 0,8В …Подробнее...
  • Цифровой автосторож на двух микросхемах

    Данное уст-во предназначено для установки в автомобиле ВАЗ-2107, но его без особых изменений можно установить на любой отечественный или зарубежный автомобиль. Автосторож работает так: после включения питания тумблеров из салона автомобиля следует выдержка 15-20 секунд, в течении этого времени автосторож не реагирует на замыкание контактных датчиков(дверные выключатели внутри салонного освещения). …Подробнее...
  • Блок бесперебойного питания

    Блок бесперебойного питания

    Блок бесперебойного питания обеспечивает выходную мощность до 220 Вт. В схеме (см. рисунок) и напряжение свинцового автомобильного аккумулятора GB1 приложено к задающему генератору на микросхеме DD1 частотой 50 Гц, который раскачивает мощные ключевые транзисторы, попеременно прикладывающие 12 В к обмоткам Ia и Iб повышающего трансформатора Т2. С вторичной обмотки Т2 …Подробнее...
  • Радиоприемник УКВ с ЧМ в диапазоне частот 64-108 МГц и низковольтным питанием

    Приемник работает в диапазоне 64-108 МГц и имеет чувствительность не хуже 5 мкВ/м. Номинальное напряжение питания — 3 В. Весь высокочастотный тракт, включая ЧМ детектор, УВЧ и гетеродин, собран на одной специализированной микросхеме DA1 типаК174ХА34. Эта микросхема представляет собой УВЧ смеситель, гетеродин, УПЧ, усилитель-ограничитель, ЧМ детектор, системы шумопонижения и сжатия …Подробнее...