Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
- GALIONVER
- Встал на лапы
- Сообщения: 85
- Зарегистрирован: Сб дек 26, 2009 09:46:13
- Откуда: Польша-Щецин
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Danko! заметил один глюк в часах-при переключении с показаний времени на температуру,время иногда показывает два цикла а потом температура.можно ли как-то подправить программу?плиз.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Это не глюк. Когда датчик возвращает ошибку, показания температуры пропускаются. При динамической индикации это не редкость. Ведь прерывания на индикацию сбивают чтение по шине 1-wire.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- GALIONVER
- Встал на лапы
- Сообщения: 85
- Зарегистрирован: Сб дек 26, 2009 09:46:13
- Откуда: Польша-Щецин
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
спасибо за информацию!
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Для "нетерпеливых"
добавил вызов температуры на 5 сек. кнопками "+" и "-", как описывалось выше., при это работает при любом времени индикации температуры. На эти 5 сек. состояние кнопок не читается т.е. в это время перевести часы в другой режим невозможно.
Хочу добавить по вопросу ошибок при чтении с датчиков: проблема может быть и аппаратной. Все зависит от физического подключения самого датчика. Тип провода, в экране или нет и пр. Подтягивающий резистор на 4,7 кОм это для идеальных условий и он может быть и не на 4,7 кОм и располагаться не возле МК. Более детально я думаю стоит почитать в соответствующих ветках форума или поискать в Инете.
P.S.
новая прошивка на 1 странице.
Хочу добавить по вопросу ошибок при чтении с датчиков: проблема может быть и аппаратной. Все зависит от физического подключения самого датчика. Тип провода, в экране или нет и пр. Подтягивающий резистор на 4,7 кОм это для идеальных условий и он может быть и не на 4,7 кОм и располагаться не возле МК. Более детально я думаю стоит почитать в соответствующих ветках форума или поискать в Инете.
P.S.
новая прошивка на 1 странице.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Может уже писали, заметил глюк - при работе с фоторезистором в темное время(при пониженной яркости дисплея) при переключении режима отображения с даты на температуру дисплей на пол секунды включается на полную яркость.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
часы дома. Вечером посмотрю, проверю.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
В последней версии при нажатии на кнопку два раза ярко вспыхивает
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Проверил. Есть такой глюк. При включении фоторезистора (через eeprom) при полной темноте глюк не проявляется. Начинает проявляться если фоторезистор закрыть от света (просто закрыть пальцем). Проявляется резкими сменами яркости (вспышки).
Буду исправлять и тестировать.
Буду исправлять и тестировать.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- 546vlad
- Нашел транзистор. Понюхал.
- Сообщения: 175
- Зарегистрирован: Ср июл 29, 2009 23:22:36
- Откуда: Беларусь
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Не могу понять: проект Proteus'а с первой страницы не работает. Запускается без ошибок, но ничего не происходит: индикатор не горит, реакции на кнопки нет. У меня Proteus 7.6 SP4
©Кварц обладает экстремальной поливариантностью своего генезиса.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Danko писал(а):Проверил. Есть такой глюк. При включении фоторезистора (через eeprom) при полной темноте глюк не проявляется. Начинает проявляться если фоторезистор закрыть от света (просто закрыть пальцем). Проявляется резкими сменами яркости (вспышки).
Буду исправлять и тестировать.
Могу подсказать, откуда ноги растут. Прерывания асм при опросе линии датчиков, но появляется при очень низких значениях яркости (точно не помню, по-моему, ниже 10).
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
546vlad, оба проекта рабочие.
инженегра, проблема не столько програмная сколько аппаратная. Фоторезистор вмести с резистором на 20 кОм образуют делитель напряжения. Сопротивление фоторезистора изменяется от кОм до МОм. При этом если с КилоОмами все в порядке, то МегаОмы дают эффект обрыва. Для исправления ситуации нужно параллельно фоторезисторы подпаять резистор на 200 кОм. Не помешает подпаять емкость на вход ADC1, но на практике я еще не проверял.
На первой странице обновил прошивку. Нововведений немного: направлены на более стабильную работу с фоторезистором.
Для настройки устройств подключенных к ADC0 и ADC1 добавил функцию, которая выводит на "экран" значения АЦП. Активизируется записью в ячейку EEPROM с адресом 0х06 номера АЦП (0 - кнопки, 1 - фоторезистор)
Для проверки правильности показаний термодатчиков да и для обкатки библиотек под WinAVR портировал программу под WinAVR. Программа особо не трогал. Библиотеку для DS1307 под I2C не нашел (точнее нашел, но она мне не понравилась) посему DS1307 запустил под TWI, соответственно в Протеусе не запускается, но в железе работает. Под DS18B20 библиотеку взял от AVR (проект "микро-термостат").
Сделал несколько выводов: в проекте с библиотеками из CVAVR и с библиотеками от AVR показания термодатчика не отличаются т.е. термодатчик врет не по вине моих исправлений в библиотеку CVAVR DS18B20.
второе: в новых часах однозначно будет мега168, меги88 не будет т.к. код под WinAVR получается более объемным, по сравнению с CVAVR. Загвоздка в библиотеке 1-wire, которая в CVAVR повидимому написана на Асме и более компактная, чем библиотека 1-wire написанная на Си под WinAVR.
инженегра, проблема не столько програмная сколько аппаратная. Фоторезистор вмести с резистором на 20 кОм образуют делитель напряжения. Сопротивление фоторезистора изменяется от кОм до МОм. При этом если с КилоОмами все в порядке, то МегаОмы дают эффект обрыва. Для исправления ситуации нужно параллельно фоторезисторы подпаять резистор на 200 кОм. Не помешает подпаять емкость на вход ADC1, но на практике я еще не проверял.
На первой странице обновил прошивку. Нововведений немного: направлены на более стабильную работу с фоторезистором.
Для настройки устройств подключенных к ADC0 и ADC1 добавил функцию, которая выводит на "экран" значения АЦП. Активизируется записью в ячейку EEPROM с адресом 0х06 номера АЦП (0 - кнопки, 1 - фоторезистор)
Для проверки правильности показаний термодатчиков да и для обкатки библиотек под WinAVR портировал программу под WinAVR. Программа особо не трогал. Библиотеку для DS1307 под I2C не нашел (точнее нашел, но она мне не понравилась) посему DS1307 запустил под TWI, соответственно в Протеусе не запускается, но в железе работает. Под DS18B20 библиотеку взял от AVR (проект "микро-термостат").
Сделал несколько выводов: в проекте с библиотеками из CVAVR и с библиотеками от AVR показания термодатчика не отличаются т.е. термодатчик врет не по вине моих исправлений в библиотеку CVAVR DS18B20.
второе: в новых часах однозначно будет мега168, меги88 не будет т.к. код под WinAVR получается более объемным, по сравнению с CVAVR. Загвоздка в библиотеке 1-wire, которая в CVAVR повидимому написана на Асме и более компактная, чем библиотека 1-wire написанная на Си под WinAVR.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- ВНН
- Потрогал лапой паяльник
- Сообщения: 347
- Зарегистрирован: Сб дек 13, 2008 09:03:43
- Откуда: г.Советская Гавань
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Для DS1307 посмотри http://www.extremeelectronics.co.in/avr ... TC/RTC.zip
Для d18b20 http://www.mulder.franken.de/ds1820tous ... 309.tar.gz
Библиотеку под 18в20 еще не использовал но выглядит компактно
Для d18b20 http://www.mulder.franken.de/ds1820tous ... 309.tar.gz
Библиотеку под 18в20 еще не использовал но выглядит компактно
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
С уважением ВНН.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
ВНН, спасибо все вытянул.
Разбираюсь.
Разбираюсь.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Извините, что вклиниваюсь не в свой топик. Прочитал только первую и последнюю страницу. Подобную конструкцию собрал два года назад. Задача была создать ПРОСТО часы с большим дисплеем и туда больше не заглядывать. Коррекции по суткам мало, как минимум брешет на пол секунды. Добавил коррекцию понедельно, и этого мало. За два года эксплуатации часы спешат почти на две минуты. Надо ввести помесячную коррекцию, правда две проблемы : по длительности месяцы разные (несущественно) и надо ещё вспомнить через месяц ввести константу( существенно).
Яркость регулировал изменением напряжения питания дисплея фоторезистором через LM317.
Яркость регулировал изменением напряжения питания дисплея фоторезистором через LM317.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Это вопрос, предложение или ... ???
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Danko писал(а):Это вопрос, предложение или ... ???
Это предложение, ввести понедельную и помесячную коррекцию DS1307. Если это уже осуществлено в Вашем проекте, то ещё раз извините.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Коррекция посуточная. В 23-00 прибавляется или отнимается установленное пользователем ко-во секунд. Возможно в следующем проекте добавлю еще и недельную или ежемесячную поправку (коррекцию). Но в первую очередь запоминание прошла корректировка или нет т.е. если в 23-00 часы были выключены.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- ВНН
- Потрогал лапой паяльник
- Сообщения: 347
- Зарегистрирован: Сб дек 13, 2008 09:03:43
- Откуда: г.Советская Гавань
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
При неблагоприятных обсоятельствах и использование DS1307 недельная
девиация может достигать 17сек (перепад влажности и температуры).
При MK41T56N 9сек Я предлагаю перейти на MK41T56 а корекцию производить один раз при запуске часов (апаратную).
Так что два раза в месяц допустим 1 и 16 числа каждого месяца, вполне.
PS. Дешевле ,более стабильнвй OSC ,менее капризна. (Как альтернатива возможность выбора кристала RTC)
девиация может достигать 17сек (перепад влажности и температуры).
При MK41T56N 9сек Я предлагаю перейти на MK41T56 а корекцию производить один раз при запуске часов (апаратную).
Так что два раза в месяц допустим 1 и 16 числа каждого месяца, вполне.
PS. Дешевле ,более стабильнвй OSC ,менее капризна. (Как альтернатива возможность выбора кристала RTC)
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
С уважением ВНН.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Ходил я на днях в местный центр по обслуживанию кассовых аппаратов и:
встретим меня доброжелательный ремонтник по национальности татарин но в душе хохол
На мой вопрос "не могли бы Вы мне продать микросхемку" я получил ответ:
"мікросхеми є но трішки та тільки для себе"
а если серьезно то: "микросхемы есть но как ремзапас т.к. пока пришлют микросхему с завода пройдет не одна неделя, а ремонтировать кассовые аппараты нужно"
Вот так.
Я с удовольствием перейду на MK41T56 если было бы где их достать попроще.
встретим меня доброжелательный ремонтник по национальности татарин но в душе хохол
На мой вопрос "не могли бы Вы мне продать микросхемку" я получил ответ:
"мікросхеми є но трішки та тільки для себе"
а если серьезно то: "микросхемы есть но как ремзапас т.к. пока пришлют микросхему с завода пройдет не одна неделя, а ремонтировать кассовые аппараты нужно"
Вот так.
Я с удовольствием перейду на MK41T56 если было бы где их достать попроще.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"