Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Обсуждаем контроллеры компании Atmel.
saskin
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср мар 27, 2013 06:24:54
Откуда: краматорск

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение saskin »

Батарейка конечно стоит обвязка по схеме тютелька в тютельку я ж говорил секунды мигают в такт как и положено кварц я думаю не причем.Можно ли проверить генерацию с 7 ноги у дски тестером на подобие 176ие18(12) стрелка должна отклонятся в такт секунде при 1 Гц не помню уже на какой ноге.кнопки тоже как то реагируют неправильно
нашел,сделал,закопал
saskin
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср мар 27, 2013 06:24:54
Откуда: краматорск

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение saskin »

подскажите еще м41т56 можно поставить вместо дски вроде бы аналог мне главное календарь в часах
нашел,сделал,закопал
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20162
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Martin76 »

Это функциональный аналог , c отличиями , требующими изменений в программе, полный аналог у DS1307 - VS1307.

saskin писал(а):кнопки тоже как то реагируют неправильно
Скорее всего нужно c монтажом сначала разобраться, потом попробовать перепрошить мегу с полным стиранием, потом только на мс грешить.
С шиной I2C все нормально, не замкнуто, не оборвано, резисторы подтяжки подключены?
Valek
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт июн 29, 2006 15:25:23
Откуда: Иркутск

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Valek »

На днях было так же как у saskin
Точка мигает, часы не идут, глючат.
Поменял все, кварц и 1307 по три раза, атмегу один раз поменял, меняется, но не идут. В последний раз горела надпись FND0 c мигающей точкой.
Еще раз прошил в Ponyprog только все три памяти, заработало.
saskin
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср мар 27, 2013 06:24:54
Откуда: краматорск

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение saskin »

Вчера купил новую дску поставил огорчился заплакал выкинул опять таже ерунда в добавок будильник начал сам устанавливатся пишет 13А1 и поехало 14 15 16 итд.
Еще раз прошил в Ponyprog только все три памяти, заработало
что это значит можно по подробнее как стереть и почему три памяти eeproma для меги вроде нет файла, дску я понял батарейку вытащил и она обнулилася, мегу тоже вроде понятно снял галочку стер и поставил а третью это чё
нашел,сделал,закопал
Valek
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт июн 29, 2006 15:25:23
Откуда: Иркутск

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Valek »

В понипрог три кнопки прошить, прошить флеш, прошить епром. На всякий случай прошил с помощью всех трех. Заработало. Видимо без файла обнуляется.

Амегу, которую первый раз менял, рабочая оказалась, на новую плату поставил, прошил, работает.
Остальное, что менял, надо будет тоже проверить, чтоб на будущее знать, из-за чего такие глюки.
saskin
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср мар 27, 2013 06:24:54
Откуда: краматорск

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение saskin »

Подскажите как выставить что б прошить usbaspом в пони прог он ведь только для LTP или я ошибаюсь
нашел,сделал,закопал
Le_Fleurs
Встал на лапы
Сообщения: 101
Зарегистрирован: Ср май 09, 2012 23:32:22
Откуда: Культурная столица

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Le_Fleurs »

ВСЕХ с наступающим новым годом подскажите как реализовать вот такую вот функцию хочу по нажатию на кнопку + принудительно показывать дату в исходнике прописываю

Код: Выделить всё

реакция на нажатие кнопок
 if (key == KEY_PLUS) {
                        indicate = IND_DATE;
                        zpt_BLINK=0;
                        dot_ON();
                }


Но пишет ошибка в indicate = IND_DATE;

Кто знает где ошибка? Точно так же на минус я повесил температура. и все сработало. А на дату не получается.
Аватара пользователя
loop
Потрогал лапой паяльник
Сообщения: 370
Зарегистрирован: Пт сен 27, 2013 19:02:55

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение loop »

Le_Fleurs писал(а):Но пишет ошибка в indicate = IND_DATE;

Кто знает где ошибка? Точно так же на минус я повесил температура. и все сработало. А на дату не получается.

В исходнике на конце indicate = IND_DATA;

Попробуйте вот так:

if (key == KEY_PLUS) {
zpt_BLINK=0;
view_date();
indicate = IND_DATA;
}


Сначала тушите точку, потом вызываете дату.
Мастеру достаточно одной пальчиковой батарейки, чтобы запустить любое устройство, в любом направление, с любой скоростью...
Le_Fleurs
Встал на лапы
Сообщения: 101
Зарегистрирован: Ср май 09, 2012 23:32:22
Откуда: Культурная столица

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Le_Fleurs »

loop писал(а):Попробуйте вот так:

if (key == KEY_PLUS) {
zpt_BLINK=0;
view_date();
indicate = IND_DATA;
}


Сначала тушите точку, потом вызываете дату.


попробовал написал вот так

Код: Выделить всё

  if (key == KEY_PLUS) {
                        zpt_BLINK=0;
                        view_date();
                         indicate = IND_DATE;
                } 


Если пишу DATA или DATE ошибка при компиляции L671: undefined symbol "IND_DATA" Что же не так делаю.
Аватара пользователя
loop
Потрогал лапой паяльник
Сообщения: 370
Зарегистрирован: Пт сен 27, 2013 19:02:55

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение loop »

Работают двое часов с такой прошивкой, плюсом вызывается температура первого датчика, минусом дата на 5 секунд. Правил исходник с первой страницы, а вы какой? У вас пишет не определено значение IND_DATA. В исходнике в середине файла term_mega8_88.h есть определение #define IND_DATA. Если закоментить эту строку получается ошибка как у вас undefined symbol "IND_DATA"
Мастеру достаточно одной пальчиковой батарейки, чтобы запустить любое устройство, в любом направление, с любой скоростью...
Le_Fleurs
Встал на лапы
Сообщения: 101
Зарегистрирован: Ср май 09, 2012 23:32:22
Откуда: Культурная столица

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Le_Fleurs »

loop писал(а):Работают двое часов с такой прошивкой, плюсом вызывается температура первого датчика, минусом дата на 5 секунд. Правил исходник с первой страницы, а вы какой? У вас пишет не определено значение IND_DATA. В исходнике в середине файла term_mega8_88.h есть определение #define IND_DATA. Если закоментить эту строку получается ошибка как у вас undefined symbol "IND_DATA"

Исходник с 1-й странички, и действительно открыл файл term_mega8_88.h и там не было IND_DATA добавил, отображение получилось при нажатии но спустя 5 сек на время не возвращается, а остается на дате. Хотя с Температурой получилось точно так еж и спустя 5 сек возвращается на время.
Аватара пользователя
loop
Потрогал лапой паяльник
Сообщения: 370
Зарегистрирован: Пт сен 27, 2013 19:02:55

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение loop »

Извиняйте, что выдаю информацию кусочками, просто было это очень давно, и я не помню всё что правил, теперь разобрался, так что давайте заново:
1. В файле term_mega8_88.h создаём определение #define IND_DATA
2. На кнопку + пишем:
if (key == KEY_PLUS) {
zpt_BLINK=0;
view_date();
indicate = IND_DATA;
}

3. Далее по исходнику есть вот такое:
// принудительная индикация температуры кнопками "+"(датчик 1 ) и "-"(датчик 2)
if ((devices >= 1) && (indicate == IND_TERM)) {
temperature=ds18x20_temperature(&rom_code[num_DS][0]);
if (temperature!=-9999){ view_term(); delay_ms_read_time(5000); }
indicate = IND_CLOCK;
}

После этого пишем:
// принудительная индикация даты кнопкой "+"
if (indicate == IND_DATA) {
zpt_4=0b00000010;
delay_ms_read_time(5000);
indicate = IND_CLOCK;
}

Теперь точно всё.
Мастеру достаточно одной пальчиковой батарейки, чтобы запустить любое устройство, в любом направление, с любой скоростью...
Le_Fleurs
Встал на лапы
Сообщения: 101
Зарегистрирован: Ср май 09, 2012 23:32:22
Откуда: Культурная столица

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Le_Fleurs »

loop писал(а):Теперь точно всё.


Спасибо да теперь действительно все. Все что хотел, получилось и в Proteus заработало. Огромное вам спасибо за помощь.
Le_Fleurs
Встал на лапы
Сообщения: 101
Зарегистрирован: Ср май 09, 2012 23:32:22
Откуда: Культурная столица

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Le_Fleurs »

А есть виде как работают часы, со всеми параметрами. Мне вот не особо понятны параметры
5 - регулятор яркости (фоторезистор)
8 - режим индикации состояния ADC (0 - кнопки, 1 - фоторезистор, F - откл.)
а - максимальный уровень яркости (от 40 до 200) индикация в десятках т.е. на индикаторе от 4 до 20

и ещё какой фоторезистор использовать?
А так же интересует если у меня маленькие индикаторы могу ли я убрать из схемы ULN
Аватара пользователя
loop
Потрогал лапой паяльник
Сообщения: 370
Зарегистрирован: Пт сен 27, 2013 19:02:55

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение loop »

A что тут не понятного:
5 - регулятор яркости (фоторезистор). Подключаете фоторезистор как на схеме, активируете эту функцию и наблюдаете, в темноте, когда минимальная освещённость в комнате индикатор светится, тускло, не напрягая глаза. А днем когда освещённость максимальная, индикатор светится на всю как дурной. Всего в прошивке сделаны три ступеньки яркости. То есть тускло, по ярче и совсем ярко.
На стр. 23 форума есть фотка фоторезистора и где его можно добыть, а также примерные его параметры.
а - максимальный уровень яркости (от 40 до 200) индикация в десятках т.е. на индикаторе от 4 до 20.
На стр. 51 форума:
Danko писал(а):в ячейку в EEPROM №9 (скрытые настройки) заносите значение от 50 до 200 с шагом 10 (на индикаторе от 5 до 20 с шагом 1).

Следом:
empic писал(а):Протестировал. Освещение в комнате до 65. В ячейке №9 выставил значение 60. Результат интервалы яркости: x>60 30<x<60 x<30
То что хотел :music:
Минимальное значение ячейки можно уменьшить до 40.

8 - режим индикации состояния ADC (0 - кнопки, 1 - фоторезистор, F - откл.)
Этот параметр используется исключительно для настройки часов. Его вы можете включить в Proteus и поиграться с ним. Включаем 0, тыкаем по кнопочкам, наблюдаем циферки соответствующие нажатой кнопки. Я чтобы не подбирать точно сопротивления в делители на кнопках, при первом включении часов включил этот режим тыкнул на все кнопочки записал значения, подставил их в исходник, скомпилировал, прошил микроконтроллер заново и проблем с нажатием кнопок нет.
Включаем 1, и с подключенным фоторезистором определяем максимальную освещённость в комнате, о чём писалось выше, и заносим это значение в ячейку EEPROM №9.

Да, индикаторы до 0,56 дюймов можно включать без ULN, на форуме об этом много писалось пролистайте первые страниц 20, хотя бы по диагонали.

P.S.:На стр. 57
Kazemir писал(а):Собрал в разное время две конструкции данного девайса, сразу заработали без проблем, как говориться Plug&Play, за что автору большой респект. Но в обоих часах мне не понравился один момент, связанный с регулировкой яркости свечения индикатора с помощью фоторезистора. Дело в том, что при определенной освещенности фоторезистора, соответствующей граничному положению между двумя областями (в функции set_yarkost их три),
яркость свечения индикатора начинает дергаться, попадая то в одну, то в другую область. И это продолжается до тех пор, пока освещенность фоторезистора не изменится и мы конкретно не окажемся в той или иной области.
Исправить этот момент удалось. Таймер/Счетчик2 я использовал в режиме Fast PWM (Быстрый ШИМ) и при этом в указанной выше функции убрал три "области". В итоге регулировка яркости индикатора получилась плавная, а не ступенчатая.
Нижний порог яркости индикатора устанавливается подбором резистора, включаемого параллельно фоторезистору, у меня получилось 200ком.

Это дёрганье реально бесит. Поэтому я тоже правил прошивку под плавное регулирование яркости в следствии чего отказался от ячейки EEPROM №9. Вот только хорошего фоторезистора тогда не было и что получилось не опробывал, теперь фоторезистор добыл, но попробовать никак руки не доходят.
Мастеру достаточно одной пальчиковой батарейки, чтобы запустить любое устройство, в любом направление, с любой скоростью...
Dmi3x
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Ср янв 21, 2009 01:02:59

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Dmi3x »

У кого нить есть печатная плата в лоуте под статику (дип корпуса). Заранее спасибо!
Аватара пользователя
дядушка зуэ
Встал на лапы
Сообщения: 141
Зарегистрирован: Вт сен 24, 2013 10:11:21
Откуда: борисове поле

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение дядушка зуэ »

вот чьято из ветки лично не проверялась мне больше та что Ant-RG нравится хотя там смд
Вложения
Clock-static _LED.rar
(35.34 КБ) 499 скачиваний
yurii-bo
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Вс янв 08, 2012 18:03:26

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение yurii-bo »

Подскажите,кто нибудь,уличный датчик показывает меньшую температуру от градусника.Виноват датчик,или что то в схеме?
Аватара пользователя
Mazzz
Нашел транзистор. Понюхал.
Сообщения: 165
Зарегистрирован: Пт июл 05, 2013 01:31:35
Откуда: Владивосток

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Mazzz »

Здравствуйте!! Проект конечно отличный, но есть вопрос. Может ли кто помочь, переделайте пожалуйста прошивку что бы светодиод Led1 Al был на индикаторе. Включил будильник загорелась разделительная точка в четвертом разряде. Второй будильник вообще не интересует. И еще по поводу регулировки яркости от фоторезистора, так и осталось три уровня или сейчас яркость изменяется по средствам ШИМ? Заранее спасибо, с Уважением Кот.
Ответить

Вернуться в «AVR»