Часы, будильник и термометр на DS1307N и DS18B20

Форум, с конкретными примерами и реальными задачами и их решением.
Пишите в личку (admin, LEV-PRAV, mim) ссылки на темы, достойные быть скопированы сюда.

Модератор: Иван Николаевич

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение mim (mim) » 03 янв 2013, 10:19

Смотри на форуме - что такое начальное означивание переменных. Начальное значение
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение masivnik (Иван Николаевич) » 30 ноя 2013, 20:53

Прошло время и я уже собрал данные часы - 7 штук.
Повторюсь, уже как то писал на форуме, что спустя некоторое время, открывая данный проект в FC, у меня все больше и больше желание его полностью переписать, т.к. многое бы сделал по другому. Но времени нет этим заниматься, да и сами часы с данной прошивкой работают замечательно - за исключением некоторых моментов которые благополучно решились, а именно:
1. У двоих часов ход секунд замечательный, соответственно они не уходят вперед или назад – конечно это не атомные часы и спустя значительный промежуток времени они так или иначе начнут уходить. Но это вполне приемлемо.
А вот в остальных пяти – не все так благополучно. Некоторые бегут, а некоторые отстают – обсуждать причины не буду, т.к., думаю, если люди прочитают про DS1307 и часовой кварц, то они сами все поймут.
Но, тем не менее, что-то нужно было делать и я решил программно, насколько хватило понимания, решить эту проблему.
Убрал функцию изменения «Разрядности термо-датчиков» (БИТ) – т.к., за время эксплуатации, никакой надобности в ней не было и нет. И вместо неё внедрил функцию коррекции хода секунд: Одновременное нажатие четырех кнопок MINUTI, HASI, DEN и MES. Задержка и появляется индикация «hod_...» – включилась функция установки количества секунд в большую или меньшую сторону, где выставляется значение от минус 15 до плюс 15 секунд. Отпускаем все кнопки. Если установить значение 0 (ноль) – то функция коррекции не будет работать.
Установили значение коррекции секунд, далее переходим в функцию установки количества дней через которое будет производится коррекция секунд: Одновременное нажатие четырех кнопок MINUTI, HASI, DEN и MES. Сразу появляется индикация «dn_...» – где выставляется значение от 1 до 255. Отпускаем все кнопки. Если значение 1, то коррекция будет производится каждые сутки в 00 часов 00 минут и 30 секунд – на то значение которое установили в функции установки количества секунд. Если установили 10, то коррекция будет, с момента установки, через каждые 10 суток.
Изменение значений в большую строну - комбинация REG+HASI, в меньшую сторону - REG+MINUTI.
Для выхода из данных функция и записи значений в память - одновременное нажатие четырех кнопок MINUTI, HASI, DEN и MES.
Если продолжать удерживать указанные кнопки, то, через небольшую задержку, произойдет переключение в «Функцию изменение снятия температуры между датчиками УЛИЦА(u) или ДОМ(d)».

2. Мне, и не только, надоело постоянно, в течении всего года, высвечивать год – в принципе бесполезная информация. Поэтому, вместо года, решил выводить день недели.
Установка дня недели - комбинация REG+HASI+MINUTI+DEN
Установка значение года, а также просмотр установленного значения года, осталась как и раньше - комбинация REG+MES+DEN. После появления значения года, его установки, при отпускании кнопок - год будет высвечиваться в течении 6 секунд.

3. Ночью или в темное время суток, часто бывает так, что яркость сегментов довольно большая, что не всегда есть хорошее. Или наоборот, в светлое время суток, днем, яркость сегментов недостаточная.
Для решения данной проблемы внедрил функцию изменения яркости свечения разрядов индикатора от датчика освещенности (фото резистор, транзистор...) – произвожу манипуляции с регистром «TCNT0» в макросе обработки прерывания «Nomer_seg». Если посмотреть выложенную печатку, то в ней уже заложен вывод порта B7, он же ADC7, именно сюда подключаем датчик освещенности.

Да, чуть не забыл: резисторы на кнопки управления можно не ставить.
С уважением
Иван
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: masivnik
Имя: Иван Николаевич
(Междуреченск)
Суперконсульт
Суперконсульт
Информация о пользователе

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение batlink (Batlink) » 30 ноя 2013, 21:51

На счет синхронизации часов, не задумывался?
Электроника-наука о контактах.
Аватар пользователя
Ник: batlink
Имя: Batlink
(Taganrog)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение masivnik (Иван Николаевич) » 01 дек 2013, 08:45

batlink писал(а):На счет синхронизации часов, не задумывался?
Задумывался, но каких либо поползновений в этом направлении не делал, т.к. не вижу смысла в дополнительных заморочках, особенно если эти часы делаю не для себя.
Аватар пользователя
Ник: masivnik
Имя: Иван Николаевич
(Междуреченск)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение ssql (Федор) » 31 окт 2014, 13:51

Тема старая, но все таки спрошу)) Если не подключать датчики температуры, что будет с индикацией температуры?
Аватар пользователя
Ник: ssql
Имя: Федор
(Пушкино МО)
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение masivnik (Иван Николаевич) » 01 ноя 2014, 08:31

Это можно проверить в ПРОТЕУСЕ, а конкретней - при активации данного режима произходит проверка наличия датчиков и их количества. Если их два или один, то на индикаторе высветится их количество, если их нет, то после нескольких попыток проверки наличия датчиков, на индикатоте высветится информация отсутствия их и чтение темпиратуры с датчиков не будет - постоянно будет высечиваться дата и если включен будильник, то и время будильника. Индикация время - постоянно, единственное когда оно пропадает - когда происходит проверка наличия датчиков темпиратуры.
Аватар пользователя
Ник: masivnik
Имя: Иван Николаевич
(Междуреченск)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение masivnik (Иван Николаевич) » 18 янв 2015, 10:27

Очередные часы - правда, когда рисовал печатку, то напрочь забыл про тока-ограничивающие резисторы, ну да ладно соединил их через провода...
ЧАСЫ_БУДИЛЬНИК_ТЕРМОМЕТР.JPG
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: masivnik
Имя: Иван Николаевич
(Междуреченск)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение olegkaras2 (олег) » 01 сен 2015, 15:10

Добрый день.
У меня эти часики в протеусе не работают. В чем может быть причина ?
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: olegkaras2
Имя: олег
(Белая церковь)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение masivnik (Иван Николаевич) » 01 сен 2015, 16:42

olegkaras2 писал(а):Добрый день.
У меня эти часики в протеусе не работают. В чем может быть причина ?
У меня все без проблем запустилось - скачал, разархивировал и все замечательно работает без каких либо изменений. У меня ПРОТЕУС 7.8_SP2...
Аватар пользователя
Ник: masivnik
Имя: Иван Николаевич
(Междуреченск)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Часы, будильник и термометр на DS1307N и DS18B20

Сообщение olegkaras2 (олег) » 01 сен 2015, 19:25

masivnik писал(а):
olegkaras2 писал(а):Добрый день.
У меня эти часики в протеусе не работают. В чем может быть причина ?
У меня все без проблем запустилось - скачал, разархивировал и все замечательно работает без каких либо изменений. У меня ПРОТЕУС 7.8_SP2...


Установил 7.8 версию ,заработали часики. :dance:
Аватар пользователя
Ник: olegkaras2
Имя: олег
(Белая церковь)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в Готовые решения и примеры

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей