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

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

Приветствую вас пользователи nookery.ru! Я уже не один год время от времени создаю проекты на arduino, для себя и друзей. У меня как и у многих из вас, возникают различные вопросы и проблемы, и это нормально ведь главное учиться и не останавливаться на достигнутом. Не давно я достал свой старый проект и вспомнил сколько проблем у меня с ним возникло. Сейчас я опишу одну из них. В моем проекте использовались часы DS1302, с подключением которых у меня особо не возникло проблем. Пробежавшись по не скольким сайтам нашел схему, в основном она была одна и та же на всех сайта.

В моем проекте я подключил на цифровые выводы arduino 8 9 10, вы же можете их подключить как угодно, у меня они просто единственные остались свободные. Установил множество различных библиотек для работы с часами, но рабочими в моем случаи было только две, остальные были либо принципиально с другим вариантом подключения, либо модифицированные, что меня абсолютно не устраивало. Все хорошо, что хорошо кончается, кода я загрузил скетч:

К моему разочарованию я увидел не то что хотел, а именно каждую секунду выводилось время как и положено дата и время, но в моем случаи выводилось реальное время и еще какое то левое, 2000-00-00 00:00:00 покапавший в библиотеке оказалось что это время вшито внутри нее. Но это никак не помогло мне, так как реальное и фейковое время поочередно выводились у меня на дисплей каждую секунду. Причем в lcd дисплее выводились не время с часов DS1302, а какие то иероглифы, по поочередно. На многих сайтах упоминалось о том что час сломаны, плохая пропайка итд. Но я не опускал руки и все же нашел причину. Оказалось что все дело в не полной схеме, а точнее не хватала резистора 10 кОм на землю -5v. Которые снижали шум внутри цепи, и предотвращали вывод не верной информации с часов. Я накидал полную схему:

С этой схемой все стабилизировалось и часы DS1302 стали работать как надо. Ниже я выложил две библиотеки которые работали у меня, но написаны одна на C# другая на C++ так как же в них разные команды вывода информации, но в обоих есть скетч примеры в архиве с комментариями.

11 комментариев

Мужик, спасибо большое. хотел было выбрасывать их уже)

Читайте также:  Обновить play market до последней версии бесплатно

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

В библиотеке перечислены пины:
DS1302(uint8_t ce_pin, uint8_t data_pin, uint8_t sclk_pin);
У Вас — перепутаны CLK и RST:
DS1302 rtc(8, 9, 10); //инициализация платы DS1302

И в течение!! — учите русский язык — отымённый предлог
В течении только у реки..

Золотой Вы человек! Спасибо за помощь в устранении проблемы с перепутанными пинами.

Александр, перепутанные порты не при чем. Учить русский — хорошо. А намерение помочь людям — важнее!
Надеюсь не допустил ошибок…)))

Большое спасибо — помогли!

Умный Александр — порты не при чем.

Собрал все по инструкции не работает выводил скажем нули, перевернул провода CLK и RST на плате и часы пошли.

Большое спасибо за статью! Два дня не мог разобраться что за чушь получаю на выходе с этих часов! :))) РЕЗИСТОР на 10 кОм. Теперь понимаю почему почти все модули реального времени используют аналоговые пины а не цифровые. Теперь буду смотреть как вывести время на 4 матрицы 8х8.

Сайт для радиолюбителей

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

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

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

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

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

Обновлено: 24.10.2019 в 20:41 | Просмотров: 2 034

  • Похожие статьи
  • Домашняя метеостанция (Nokia 5110 LCD)(Arduino) — На основе недорогих модулей можно собрать простую домашнюю метеостанцию, в качестве индикатора будет использовать модуль Nokia 5110 LCD. Метеостанция имеет несколько датчиков (модулей): BMP180 — датчик давления (мм.рт.ст) и температуры (измерение температуры в помещении) 18B20 — цифровой.
  • Часы (DS3231) с будильником (Arduino) — Часы с будильником состоят из платы Arduino Nano (Uno), LCD индикатора 1602 и модуля часов реального времени DS3231 (ZS-042). Помимо текущего времени на экране индикатора отображается дата, день недели, месяц, год и температура. Будильник в часах один, он позволяет выставить время срабатывания в.
  • wi-fi модуль NodeMcu v3 с чипом ESP8266 (ESP-12e)(Умный дом) — На базе wi-fi модуля NodeMcu v3 с чипом ESP8266 (ESP-12e) можно сделать терморегулятор с удаленным управлением (по локальной сети или Интернет), помимо терморегулятора можно управлять несколькими цифровыми выходами. Предлагаемое для повторения уст-во содержит в себе несколько компонентов: .
  • Домашняя метеостанция + будильник (Nokia 5110 LCD)(Arduino) — На странице https://rcl-radio.ru/?p=55605 рассматривался пример создания простой погодной метеостанции на основе датчиков давления, влажности и температуры с выводом информации на LCD экран Nokia 5110. На данной странице будет показан пример создания погодной станции с будильником, так как в.
  • 8-и канальное реле времени (Arduino) — На рисунке показана схема 8-и канального реле времени, в реле времени используется Arduino Nano, часы реального времени DS3231 (модуль), семисегментный четырех-разрядный индикатор на базе драйвера TM1637 (модуль TM1637) и четыре кнопки управления. [caption .
Читайте также:  Перестал работать gps на андроид

Комментарии

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

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

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

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

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

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

Читайте также:  Красивые статусы со смайлами

В принципе логично. Зачем дешифратор? У ардуинки куча выходов.

7 на сегменты и 4 на сетки, итого 11 , 2 выхода еще свободные, на один из них можно запятую подключить

Вот только с накалом будут проблемы. Лучше выделить отдельно напряжение накала и параллельно запитать. Я однажды делал ламповый усилитель. Не было обмотки 6 В на накал. были 2 по 12 В. Решил пару входных ламп последовательно на одну обмотку и пару выходных на другую. Короче, одна из ламп «недогревалась». Пришлось мотать.

Не хочу усложнять схему, если не получится, то буду пробовать что-то другое. Питание всей схемы 9 В, преобразователь поднимет его до 27, стабилизатор до 5 В, накал как получится, надо эксперементировать.

Успехов. Уверен, что получится. Дорогу осилит идущий.

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

Для отправки комментария вам необходимо авторизоваться.

DS1302 — Часы реального времени. Часто встречается в KIT наборах компонентов для Arduino (arduino starter kit).

Особенности модуля:

  • Часы реального времени, календарь до 2100 года, учетом високосного года.
  • Держатель для Li-Ion батареи CR2032CR1220 в зависимости от версии, для резервного питания.
  • Трехпроводной последовательный интерфейс.

Из недостатков стоит отметить очень плохую точность хода.

Распиновка модуля:

  • VCC и GND — Питание и масса, Напряжение питания от 2,0 В до 5,5 В. Типичное 3,3 В.
  • CLK / SCLK — Тактовый сигнал последовательного интерфейса.
  • DAT / I/O — Input/Push-Pull Output, линия данных последовательного интерфейса.
  • RST / CE — Разрешение чтениязаписи.

Подключение к Arduino:

Модуль подключается на любые свободные порты arduino, питание модуля 5 вольт.

Есть библиотека, скачать можно тут

После установки библиотеки открываем пример set_clock.ino

в строке с константами указываем к каким портам подключен модуль, на модуле обозначения могут отличатся и подписаны как CLK, DAT, RES, это SCLK, I/O, CE соответственно.

После загрузки примера, в «мониторе порта» отображается время.

Ссылка на основную публикацию
Хорошие дешевые жесткие диски
Лучший жесткий диск далек от SSD в плане скорости передачи данных, однако есть причина, по которой данные устройства все еще...
Формат записи видео mov
MOV против MP4 Существует много форматов файлов, которые можно использовать для хранения ваших видео в зависимости от ваших потребностей. MOV...
Формат ммгг как писать
Сбербанк Онлайн позволяет проводить различные платежи прямо из дома с любого устройства, имеющего доступ в Интернет. Это существенно экономит время...
Хорошие ноутбуки за 20000 для игр
Если вам необходим хороший ноутбук для работы, то вам придется потратится как минимум 20 тысяч рублей. За эти деньги вы...
Adblock detector