Как прилепить часы DS1302?
- Войдите на сайт для отправки комментариев
Вс, 04/11/2012 - 11:14
Господа! Помогите ламеру!
Есть вот такие часики на DS1302:
Как я понимаю - эти часы не могут общаться с Arduino по протоколу I²C / TWI? Как подключить?
Ну "VVC" к + 5 V, "GND" - на землю. Это понятно.
А вот как CLK, DAT и RST куда пристроить?
Как подключить? Может у кого библиотеки и скетчи имеются?
У DS1302 свой трех-проводной интерфейс более простой чем I2C.
А вот по поводу библиотеки.... библиотеку можно скачать с сайта по самой первой ссылке
в гугле по запросу "ds1302 arduino"
Спасибо!
https://github.com/msparks/arduino-ds1302 - именно оно. Теперь есть от чего плясать.
Спасибо!
P.S. Ну и по ходу разобрался в обозначениях:
SCLK = CLK
IO = DAT
CE = RST
Насчет RST не знаю, посмотрите в даташите на какой ноге CE и к какой ноге идет дорожка от RST, но скорее всего так и есть.
Ну вот, и maksim начал голос повышать :) Меня тут кто-то обвинил в заболевании синдромом "гуру", я теперь стараюсь молчать :)
Это кстати так текст копипаститься стал ))) поэтому не всегда голос повышаю, а просто лень источник редактировать.
А как установить корректное время на DS1302?
Что значит корректное?
Наверно, он имел в виду "правильное" или "текущее"
В библиотечном примере есть установка времени и запуск часов (после установки батарейки они изволят стоять :)
Ну вот, и maksim начал голос повышать :) Меня тут кто-то обвинил в заболевании синдромом "гуру", я теперь стараюсь молчать :)
Гуру - тоже развиваются :) Осознание ценности молчания - один из этапов. Проходящий. Все циклично ;)
Согласен. Но я в последнее время молчу, потому что просто некогда :( Изредка набегами по форуиу...
Да, нашел. Большое спасибо. Что то я не догадался туда посмотреть.
Я вообще web-разработчик, и вся это аппаратная магия для меня кажется именно магией.
Взял за основу библиотечный пример. Устанавливаю текущее время. Но в год и минуты стабильно вытягивается ноль (устанавливаю начальное значение года и минут огтличное от нуля). Кто нибудь сталкивался или может быть знает почему так?
Монитор серийного порта показывает примерно следущее:
Я вообще web-разработчик,
Если Вы web-разработчик, то наверное знаете, что разный код может выдавать разные результаты. Добавьте отладочных строчек, или покажите здесь код, которым получаете данные...
Да, нашел. Большое спасибо. Что то я не догадался туда посмотреть.
Я вообще web-разработчик, и вся это аппаратная магия для меня кажется именно магией.
Взял за основу библиотечный пример. Устанавливаю текущее время. Но в год и минуты стабильно вытягивается ноль (устанавливаю начальное значение года и минут огтличное от нуля). Кто нибудь сталкивался или может быть знает почему так?
Монитор серийного порта показывает примерно следущее:
Есть, тоже такой модуль брал, методом проб и ошибок определил, что если землю протянуть через резистор 10 ком всё стабилизируется. Видимо из-за большого тока шумы появляются.
Была проблемка - некорректное отображение даты и времени, (резистор на 10К впаял) например Год 2165, месяц 45, день 38, ну и.т.д. Оказалось, что та библиотека, которую я использовал не совсем корректна. Заменил на более старую, от 26.01.2012, все заработало.
Подскажите, пожалуйста.
Вы модуль часов от 5В контроллера запитывали?
Читал, что при переходе на встроенный источник могут быть проблемы, если вдруг возникнут сигналы на входах.
Уважаемые, помогите разобраться с сабжем.
Скачал библиотеку ( https://github.com/msparks/arduino-ds1302 ), запускаю пример из архива с библиотекой, Arduino (1.5.4) ругается на
set_clock.ino: In function 'void<unnamed>::printTime()':
set_clock:47: error: 'const class String' has no member named 'c_str'
Подскажите что делать %)
Paratruper, поделись пожалуйста своей библиотекой. Перепробовал несколько библиотек, но так и не нашел нормально рабочей: ни одна из них не может установить время в чипе.
А какая у вас ардуина? DUE?
Arduino Uno
Тогда зачем, если не секрет, вы пользуетесь ArduinoIDE 1.5.4 Beta?
Тогда зачем, если не секрет, вы пользуетесь ArduinoIDE 1.5.4 Beta?
Намек понял. Попробовать на 1.0.4? или?
От 1.0 до 1.0.5 - любую.
Запустил на Arduino 1.0.5, ошибки с
set_clock.ino: In function 'void<unnamed>::printTime()':
set_clock:47: error: 'const class String' has no member named 'c_str'
нет, но время так и не удалось установить.
Библиотека https://github.com/msparks/arduino-ds1302.
(unknown day) 2000-00-31 00:04:72
(unknown day) 2000-00-00 00:04:73
(unknown day) 2000-00-00 00:04:74
(unknown day) 2000-00-00 00:04:75
(unknown day) 2000-00-00 00:04:76
(unknown day) 2000-00-00 00:04:77
(unknown day) 2000-00-00 00:04:78
(unknown day) 2000-00-00 00:04:79
(unknown day) 2000-00-00 00:05:40
Купил такие же часы.
Подаю питание 3,3 V - показания считываются нормально, установка времени не работает.
Подаю 5 V - установка времени срабатывает, показания считываются некорректно.
Это дефект устройства или с этим как-то можно бороться?
У меня DS1302 часы на синем текстолите + Nano 3.0
Поначалу запустил без подведения внешнего питания к часам. Отсчет начался с 2000-00-01 00:00:00
Изменение дня и месяца в установке даты приводило к странным закономерностям в изменении года+месяца+дня
Когда таки подключил 5v к часам, то и установка, и считывание оказались корректными.
Тоже, кстати были глюки с некомпилируемостью, когда перепробовал несколько библиотек. Наверное это происходило из-за одинаковых названий классов и других тонкостей
Когда запутался, решил все переустановить заново (IDE 1.0.5 + либы) и вроде получилось )
брал отсюда : http://www.henningkarlsen.com/electronics/download.php?f=DS1302.rar
У кого Arduino Mini Pro 5В
Переназначайте лапы, которые стоят по умолчанию (2,3,4) например 8,9,10.
Я так понял что он общается с А2, А3, А4. У меня не распаяны, не проверял.
Самое интересное что на UNO работает без проблем с 2,3,4
Народ, подскажите пожалуйста рабочую библиотеку на данный модуль. Перебрал кучу библиотек с различным видом питания, не могу установить время, показывает все что угодно только не время, которое я устанавливаю.
Народ, подскажите пожалуйста рабочую библиотеку на данный модуль. Перебрал кучу библиотек с различным видом питания, не могу установить время, показывает все что угодно только не время, которое я устанавливаю.
Хотите чессна, возьмите что нибудь по I2C и спокойно с ним работайте. Пины сэкономите и от геммора избавитесь. А больше у 1302 никаких преимуществ нет.
Народ, подскажите пожалуйста рабочую библиотеку на данный модуль. Перебрал кучу библиотек с различным видом питания, не могу установить время, показывает все что угодно только не время, которое я устанавливаю.
Хотите чессна, возьмите что нибудь по I2C и спокойно с ним работайте. Пины сэкономите и от геммора избавитесь. А больше у 1302 никаких преимуществ нет.
так и планирую
Гуру, не откажите новичку в консультации )))
Подключил модуль часов с батарейкой, залил скетч, все заработало. Индикатор TX моргает каждую секунду. Вроде все ОК, но при каджом открытии окна Монитора порта показания начинаются с установленных в скетче значений.
Разве в пямяти 1302 не должны храниться значения от момента первоначальной установки?
Я полагал что можно даже снять питание с платы Arduino, и назавтра запустив монитор порта я должен был увидеть продолжение нормального хода часов...
Сбростье скетч, а так есть подозрения, что у вас строки установки времени не закомменчены.
Была такая же проблема как у Ulysses. При питании 3.3 В или без питания все отлично считывается, но часы не ставятся никак. При питании 5 В часы ставятся, но при чтении проблема. Проблема в согласовании уровней, то есть на стороне микроконтроллера - все ок, ему и размах в 3,3 и в 5 нормально, а вот этому DS1302 все плохо.
Землю подключить через 10кОм - не работает ничего. Через 1 кОм - работает, но считывается зачастую ерунда.
А вот если DATA подключить через 1 кОм работает и установка и чтение стабильно при питании 5В!
Купил модуль на buyincoins, но часы вначале не шли ни в какую - поменял кварц - стало ОК.
Всем удачи! Может поможет
SuperPesBarbo, спасибо помогло!
Еще вопросик...
Устанавливать часы с компа крайне неудобно.
Как можно прикрутить кнопки для установки?
Может есть ссылка на пример?
заранее спасибо.
Еще вопросик...
Устанавливать часы с компа крайне неудобно.
Как можно прикрутить кнопки для установки?
Может есть ссылка на пример?
заранее спасибо.
Да какой там пример, работа с кнопками+изменение переменной+запись в память часов.
Ну вот, и maksim начал голос повышать :) Меня тут кто-то обвинил в заболевании синдромом "гуру", я теперь стараюсь молчать :)
а зря ! и зачем ? если есть чё сказать...
Спасибо за совет ))))
Буду изучать. Это мои первые шаги )))
Еще вопросик...
Устанавливать часы с компа крайне неудобно.
Как можно прикрутить кнопки для установки?
Может есть ссылка на пример?
http://arduino.ru/forum/programmirovanie/saa1064-ds18x20-ds130#comment-92802
курите примерчик... он совсем простой, правда коментов маловато...
Столкнулся с проблемкой... на uno и nano всё работает корректно а на due вместо даты и времени в serial летит хххххх--хххххх
такая же проблемма .... нагуглил RTCdue библиотеку.... теперь вижу пятницу а время дата также иксами ...
d2 rst
d3 dat
d4 clk
код теста
выдает friday xxxxxx-xxxx
Я в этом деле совсем новичёк, так-что не судите строго. То-же 2 часа потерял, но стоило GMD взять с порта 13 подключив его как ноль всё заработало. Пример:
после void setup() {
pinMode(13,OUTPUT);
Сам намучался вначале с этими часами, то время собьется, то остановятся, но потом почему то все стало ок. Часы подключены к портам 8,9,10, ардуино про микро.работает от 3 и 5 вольт ардуино вполне стабильно. Заметил проблему при питании ардуины от кроны.
Ребята. я новичек и постоянно сталкиваюсь с каким то гемороем...
Скажите пожалуйста, как запихнуть в переменную только часы или минуты, что бы потом использовать в сравнениии или условии в программе?
Часы ds1302 и такая же библиотека....
Как с ней работать? Совсем запутался...
Гуглил до посинения.... так ничего и не нашел.
Ребята. я новичек и постоянно сталкиваюсь с каким то гемороем...
Скажите пожалуйста, как запихнуть в переменную только часы или минуты, что бы потом использовать в сравнениии или условии в программе?
Часы ds1302 и такая же библиотека....
Как с ней работать? Совсем запутался...
Гуглил до посинения.... так ничего и не нашел.
что на экране по команде
и вообще, скопируйте библиотеку в пост, только спойлером закройте..
Доброго дня вам дорогие друзья. Пожалуйста помогите чайнику с программированием ардуино.
Я хочу создать автоматические часы для звонка в школе где работаю.
Купил ардуино борд, реле, и часи RTC DS1302. Как их правильно связать и программировать?
Что делаю не получается.
Заранее благодарен спасителям и читателям.
DVM
Доброго дня вам дорогие друзья. Пожалуйста помогите чайнику с программированием ардуино.
Я хочу создать автоматические часы для звонка в школе где работаю.
Купил ардуино борд, реле, и часи RTC DS1302. Как их правильно связать и программировать?
Что делаю не получается.
Заранее благодарен спасителям и читателям.
DVM
Нуууу, для начала нужно научиться программировать и немного понимать электронику... В общем если никто не напишет ее Вам, сами Вы справитесь не ранее чем через полгода.
Начните с мигания светодиодом - уроков в ютубе вагон, потом пощелкайте реле, ну а потом часы и только после этого собирайте их в целое... и прикупите чего-нибудь для индикации и кнопки...
Спасибо за столь ценный савет.
Если попрашу (за денги конечно) сможете написать? и сколько будет стоить?
Спасибо за столь ценный савет.
Если попрашу (за денги конечно) сможете написать? и сколько будет стоить?
Если очень хочется, а времени нет, создайте тему в этом разделе
только не забудьте подробнее расписать, так сказать черновой вариант ТЗ с подробным описанием хотелок, и ссылками на уже приобретенные детали (именно ссылками, а не словами типа "у меня УНО и шилд реле")
ЗЫ я помогаю, но не делаю вместо (даже за деньги)
Привет, Народ. Почитал я комментарии выше... тоже помучался с модулем 1302.
сначала скачал библиотеку arduino-ds1302 с https://github.com/msparks/arduino-ds1302. поковырял, и вправду, через резистор на DATA (поставил на 150 ом) заработало без глюков. Библиотека не особо удобная, режим am/pm там я не нашел.
ковыряю второй день, попробовал найти другую библиотеку, нарвался на Универсальная библиотека iarduino_RTC для RTC DS1302, DS1307, DS3231 к Arduino. Сорри за ссыль на другой сайт, но что поделать... http://iarduino.ru/file/235.html Сначала работала вроде нормально без резистора, потом при долгом использовании, я все таки вернул его на место. На мой взгляд библиотека проще с объяснениями на русском и функиональнее. Не отрицаю, если они какую то библиотеку взяли и переворотили