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

Обсуждаем контроллеры компании Atmel.
Ответить
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

перепроверил еще раз, все четко
Ant-RG схемку через RC цепочку 50-100 Ом 4,7-10 мкФ можете набросать ?
просто не знаю что уже пробовать ....
не могут же все 6 датчиков вести себя одинаково.... :shock:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Версия специально для kret_a_v
внесенные изменения:

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

			//if (temperature!=-9999){yarkost_down(); view_term(); yarkost_up();}
			if (temperature == -9999) temperature = 0xF9D0; // -99 гр.
			yarkost_down(); view_term(); yarkost_up();
Что означает если датчик возвращает ошибку т.е. -9999 вывести на экран -99 гр.
ранее если ошибка то показания температуры пропускались. Но также могу заметить, что они именно пропускались, а не заменялись датой.
Вложения
Clock-Term-Calendar-Alarm_LED_2011-08-11_kret_a_v.zip
(174.62 КБ) 379 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 541
Зарегистрирован: Ср май 05, 2010 20:47:56
Откуда: Украина

Сообщение Ant-RG »

Важно проверить именно Fuse, при неправильно установленной частоте мк датчики в протеусе вообще неопределяются а что будет в железе неизвестно.
От чего питаются часы? Длинный ли провод к датчику?
Вообще сам такого никогда невидел чтоб вместо температуры дату показывали, бывает пропускают температура да, но чтоб дату совали, странно. Хотя собирал и статику, и динамику в разных вариациях, в общем часов 6 я точно собрал
Вложения
1.JPG
(9.64 КБ) 669 скачиваний
I'am a Rock N' Roll-Aholic
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

спасибо Danko и Ant-RG
фузы такие как во вложении , завтра переделаю обвязку датчика и перепрошью (последовательно естественно - что бы знать причину)
часы питаются от импульсного адаптера 12в 0.8а , потом крен9 потом крен 5
тоже грешил на бп, запитывал от аккумулятора.... беда та же
датчик на проводках длинной 8см
Вложения
Фузы_mega8_(Int_RC_4_MHz).jpg
(38.04 КБ) 606 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

вт прикол... еще один.... :shock:
есть часы на тини 2313 там датчик работает ( 3 из 6 всевремя показывали 7 градусов - ушли в мусор)
ставлю на эти часы - ни гугу
перепрошил мегу - индикация пропала
блин ну не везет так не везет....
как с этим бороться????
________
перед прошивкой сохранил хек и епром
прошил ими снова , теперь температура дату не показывает а просто пропускает ( датчик рабочий - проверен на часах на тини 2313)
... сделал вывод что дело в прошивке (хек прилагаю) но в хеке не разберусь :shock:
вопрос к ув. Danko

подскажите пожалуйста - http://radiokot.ru/forum/download/file.php?id=139590в тест прошивке для моего случая наверно порты вывода меги не совпадают со схемой, как их проверить и (или) переназначить чтобы были согласно платы???
заранее благодарен
тип индикатора выбираю при подкл. питания с удержанием кнопки "set"
Вложения
plus.rar
хек,ром и фузы - на котором работает это железо
(108.79 КБ) 266 скачиваний
clock-7seg-v4.rar
печатка по которым сделаны часы
(207.72 КБ) 356 скачиваний
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 541
Зарегистрирован: Ср май 05, 2010 20:47:56
Откуда: Украина

Сообщение Ant-RG »

kret_a_v прошивка которую Вам предоставил Danko рабочая, прямо магия какая-то.
Ещё можете попробовать уменьшить резистор подтяжки до 2-х килоом, иногда помогает, за керамику я Вам уже писал, ну и по питанию после кренки 47 мкФ желательно раскидать по 10 мкФ о плате. Ну неможет же такого быть чтоб у всех работало а у Вас нет, прошивка то рабочая.
I'am a Rock N' Roll-Aholic
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

:kill:
прибил ....
в общем заработало
пока раскидывал керамику по плате , начали пропадать сегменты (это на первоначальной проше...) :oops:
надавил немного на плату... засветились....
тут мысль .... ага.... чудес не бывает - непропай
панелька в которой мега сидела .... в общем выдрал ее и запаял мегу прямо в плату
заработало :music:

спасибо еще раз огромное за помощь ув. Ant-RG и Danko :beer:
теперь вот мучает вопрос о переназначении сигментов....
это то что ув. Danko объяснял на 90й странице, 22 поста назад?
и при индикации темп. загораются точки 3 и 4 разрядов, как бы и их погасить?
п.с при индик. времени как надо , мигают точки 2 и 3 разрядов (у меня 3 и 4 перевернуты) , и при дате тоже , как надо - горит точка 2го разряда

еще раз огромное спасибо
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Что именно мучает?
файл term_mega8_88.h
строки:

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

#define A   1
#define B   4
#define C  16 
#define D  64  
#define E 128 
#define F   2 
#define G   8 
это вес каждого бита. Переставляйте как хотите, а если нужно еще и запятую переставить, то
файл main_mega8_88.c
строки(158-159):

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

		if (led_s) { PORTB.5=1; }
		else       { PORTB.5=0; }
Здесь еще проще. Точка подключена к PB5.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

Danko писал(а):Что именно мучает?
файл term_mega8_88.h
строки:

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

#define A   1
#define B   4
#define C  16 
#define D  64  
#define E 128 
#define F   2 
#define G   8 
а вот что не понятно ....
по схеме
#define A 1 - вывод 14
#define B 4 - вывод 16
#define C 16 - вывод 18
#define D 64 - вывод 9
#define E 128 - вывод 10
#define F 2 - вывод 15
#define G 8 - вывод 17
если надо
A - вывод 17
B - вывод 15
C - вывод 19
D - вывод 14
E - вывод 16
F - вывод 18
G - вывод 9
тогда так???
#define A 8
#define B 2
#define C ?? -какое тут значение
#define D 1
#define E 128
#define F 4
#define G 64
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Бит 0 имеет вес 1,
бит 1 = 2,
бит 2 = 4
бит 3 = 8
и т.д.
или по другому:
бит 0 = 2 в 0 степени
бит 1 = 2 в 1 степени
и т.д.
kret_a_v писал(а): если надо
A - вывод 17 -
B - вывод 15
C - вывод 19
D - вывод 14
E - вывод 16
F - вывод 18
G - вывод 9
тогда так???
...
#define C ?? -какое тут значение
...
У Вас "С" подключен к PB5 т.е.

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

#define C  32 // или 2 в 5 степени 
Остальные я думаю Вы сами исправите.

P.S.
Да и не забудьте, что точка у Вас подключена не к PB5, а к PB7 (выв.10).
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

спасибо Danko
как всегда коротко и доходчиво

проверьте пож. правильно ?

так???
#define A 8
#define B 2
#define C 32
#define D 1
#define E 4
#define F 16
#define G 64
__________
if (led_s) { PORTB.7=1; }
else { PORTB.7=0; }
__________
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

да верно.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Пн май 02, 2011 14:40:16

Сообщение nail2008 »

как отключить будильник, горят светодиоды. Может я слепой, но в описании ничего не сказано (или не совсем ясно), может часы не работают. Пробовал методом тыка, не помогло.
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

приветствую всех достопочтенных котов
вот вопрос
собрал двое часов, по одной печатке (выше выкладывал), на одинаковых комплектующих
одни .... вроде живут (история выше) :oops: - не обнуляются при откл. 12в
вторые (мегу запаял в плату) тоже вроде ни чего
но при откл. 12в - обнуляются
проверил , прозвонил линии связи меги с DS1703 (28-6 и 27-5) - все в норме
3в. от батарейки присутствуют
керамика и подтяжки присутствуют
DS1703 - менялась на новую

подскажите плиз. как побороть обнуление???
Родился
Сообщения: 7
Зарегистрирован: Пн май 02, 2011 14:40:16
Re:

Сообщение nail2008 »

Danko писал(а):Добавил схему и исходники с двумя будильниками.

В схеме добавлены две кнопки для установки времени срабатывания будильников.

Для деактивации будильника нужно установить будильник на 25 часов (на индикаторе будут два знака минус в часах) при этом минуты могут быть любыми.

Для остановки будильника (отключение сигнала) нужно нажать кнопку "+" или "-" в режиме индикации времени, или даты, или температуры.

Если нужен только один будильник, то вторую кнопку можно не устанавливать. Логика работы всего устройства не изменится.

!!! На схеме динамики подключены только для показа логики работы !!!
извините за сообщение. Поковырялся в сообщениях, нашел. ИМХО надо подправить описание.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Раньше на форуме можно было редактировать любое свое сообщение, а сейчас нет.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 61
Зарегистрирован: Пт мар 09, 2012 20:36:27
Откуда: СССР

Сообщение Генеральный »

Добрый день !!
Подскажите возможно ли выводить температуру в F (форингейтах), и много ли для этого надо ??? :solder:
СССР, жив !!!!
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Ну в форингейтах не знаю, а в Градусах Фаренгейта можно. :)

Изображение
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 61
Зарегистрирован: Пт мар 09, 2012 20:36:27
Откуда: СССР

Сообщение Генеральный »

:)))
А как эту формулу скрестить с ds18b20 ???
СССР, жив !!!!
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Ну если в моих часах то не очень просто, а вот если использовать стандартную библиотеку CVAVR, то

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

float ds18b20_temperature(unsigned char *addr);
мы имеем температуру в виде числа с плавающей запятой, ну а дальше чистая математика.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Ответить

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