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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
philosoraptor
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб янв 14, 2012 22:53:50

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

Сообщение philosoraptor »

Исходник надо искать, а это лениво.

Добавлено after 13 minutes 42 seconds:
Ладно, скачал.

Находим

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

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 ((devices >= 1) && (indicate == IND_TERM)) {
		for (char j = 0; j < 5; j++ ) 
			{
		    temperature=ds18x20_temperature(&rom_code[num_DS][0]);
			if(temperature != -9999) break;
			}
		if (temperature != -9999) { yarkost_down(); view_term(); yarkost_up();  delay_ms_read_time(5000); }
		indicate = IND_CLOCK;
	}
Там еще в одном месте надо так же сделать, емнип.
Реклама
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

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

Сообщение Serzh2000 »

большое спасибо!
Там еще в одном месте надо так же сделать, емнип.
емнип незнаю что означает
а место думаю где принудительно кнопкой вызывается температура, да

и еще стесняюсь спросить ,а вы с какой целью игрались яркостью ???
Реклама
Аватара пользователя
philosoraptor
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб янв 14, 2012 22:53:50

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

Сообщение philosoraptor »

большое спасибо!
Пожалуйста.
вы с какой целью игрались яркостью ?
С целью ее изменения, вестимо. :) У меня она меняется кнопками +- в режиме секунд с пду. Мне так удобнее.
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

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

Сообщение Serzh2000 »

то есть у вас ночного режиме нет

Добавлено after 6 hours 31 minute 54 seconds:
да, действительно часики работают как надо

еще раз спасибо большое philosoraptor !

изменения также внес в настройки


номера ячеек EEPROM и их значение (на индикаторе номер ячейка Е2 - Е8 и ее значение):
2 - индикация незначащего нуля в десятках часов
3 - отбрасывание десятых долей при индикации температуры и добавление символа "С"
4 - включение плавной смены показаний
5 - включение ночного режима с 22-00 до 6-00
6 - работа с двумя видами точек
7 - "пятый" разряд (знак температуры)
8 - режим индикации состояния ADC (0 - кнопки, 1 - фоторезистор, F - откл.)
9 - автоперевод стрелок лето/зима (0 - отключено, 1 - включено т.е. по умолчанию включено)
а - минимальный уровень яркости (от 10 до 200) индикация в десятках т.е. на индикаторе от 1 до 20

может кому пригодится
Вложения
часы динамика ночь с 22_00 до 6_00.7z
(242.56 КБ) 339 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

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

Сообщение Serzh2000 »

Всем Привет!

Мне снова не нравится работа часов , а именно, как предупреждал zseer64
это отключить все запреты на прерывания. Правда при этом пострадает работа с датчиком DS18B20, что выразится, иногда, в пропуске индикации температуры.
так оно и есть, мне это не нравиться хотя, ярость работает отлично.
я на днях чинил им. блок питания и мне пришла такая мысль.
в ответ Demiurg
Если динамика, то регулировка осуществляется посредством ШИМ дополнительного ключа на общих анодах-катодах. Но в этом случае у МК 8-88 все ноги заняты
Изображение
вот я и подумал может поставить в разрыв питания транзисторов транзистор под управлением ШИМ (лучше полевик)
кто скажет по этому поводу веское слово?
Реклама
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

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

Сообщение Demiurg »

Засада динамики как раз из-за опроса датчика температуры. Нужно и индикаторами вовремя рулить и выдерживать жесткие времянки протокола 1-wire.
В статике этого недостатка нет, так как микросхемы-регистры постоянно выводят информацию на дисплей. Я потому и писал, что нужна микросхема, которая самостоятельно рулит светодиодами в динамике.
Реклама
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

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

Сообщение Serzh2000 »

все ясно с динамикой, но все же спаяно осталось транзистор впаять и код поправить или это не прокатит

Добавлено after 6 minutes 51 second:
кстати подскажите в какой строчке поправить чтоб программный ШИМ стал аппаратным на ножке 15
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

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

Сообщение Demiurg »

Проблема в том, что вам жалко потраченных усилий. Понимаю вас.

Добавлено after 13 minutes 33 seconds:
Есть такая микросхема STLED316S. Эта микросхема рулит светодиодами, также к ней можно подключить матрицу из 16 кнопок. То есть, отличный вариант расширения ввода-вывода для проекта вроде этого.
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

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

Сообщение Serzh2000 »

ОПЯТЬ КОД. Я НЕ УМЕЮ ПИСАТЬ ЕГО
МОЖНО ССЫЛОЧКУ НА ГОТОВЫЕ ПРИМЕРНО ПОМОИМ ЗАПРОСАМ ЧАСЫ. Я СКОРО СДАМСЯ И БУДУ ГОТОВ НА ВСЕ.... 4 РЕГИСТРА 32 ТРАНЗИСТРА
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

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

Сообщение Demiurg »

[uquote="Serzh2000",url="/forum/viewtopic.php?p=3199250#p3199250"]4 РЕГИСТРА 32 ТРАНЗИСТРА[/uquote]
??? У вас наборные сегменты? Не индикаторы?
Не надо сдаваться. Но нужно признать, что на данный момент нет возможности. Значит, откладываем в сторонку, читаем книжки, пробуем другие проекты. Притом, не только си изучать, но и архитектуру мк и приемы программирования. А это только практикой. На чем-то попроще.
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

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

Сообщение Serzh2000 »

СОГЛАСЕН . ПОЙДУ СПАТЬ!!!!!!!
Аватара пользователя
philosoraptor
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб янв 14, 2012 22:53:50

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

Сообщение philosoraptor »

Ладно, пофиксил я ваш код.
часы динамика ночь с 22_00 до 6_00.7z
(245.47 КБ) 270 скачиваний
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

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

Сообщение Demiurg »

[uquote="philosoraptor",url="/forum/viewtopic.php?p=3199362#p3199362"]Ладно, пофиксил я ваш код.
часы динамика ночь с 22_00 до 6_00.7z
[/uquote]
Это не снимет проблемы косяков с динамикой из-за опроса температурного датчика.
Аватара пользователя
philosoraptor
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб янв 14, 2012 22:53:50

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

Сообщение philosoraptor »

Конечно-конечно, а еще "код с запретом прерываний не соберется", ага. Помним.
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

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

Сообщение Demiurg »

[uquote="philosoraptor",url="/forum/viewtopic.php?p=3199539#p3199539"]Конечно-конечно, а еще "код с запретом прерываний не соберется", ага. Помним.[/uquote]
??? Я подобное утверждал?
Так как динамика, при опросе температурного датчика будут срывы мультиплексирования. Посмотрим, что серж скажет.
Аватара пользователя
philosoraptor
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб янв 14, 2012 22:53:50

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

Сообщение philosoraptor »

Это последнее замечание говорит о незнании азов кодинга, в частности, для чего нужны циклы и что они делают. Видимо, не всем легко смириться с мыслью, что кто-то может определить совершенную непригодность такого вот бреда

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

if ((devices >= 1) && (indicate == IND_CLOCK) && (t_ind_term != 0)) {    
       for ( j = 0; j < 5; j++ ){
		    for (i=0;i<devices;i++) {
			temperature=ds18x20_temperature(&rom_code[i][0]); 
			   if (temperature!=-9999){yarkost_down(); view_term(); yarkost_up();}
                     temperature=ds18x20_temperature(&rom_code[num_DS][0]); }                  
         if(temperature != -9999) break;   
                }                                      
			delay_200ms(tt3);
		}
даже без симулятора.
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

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

Сообщение Serzh2000 »

я не скрываю ,что не умею писать код
что касается вашего резюме
Demiurg писал(а):philosoraptor писал(а):
Ладно, пофиксил я ваш код.
Вложение:
часы динамика ночь с 22_00 до 6_00.7z
прямо скажем не фонтан
яркость как положено работает тут все отично ,а показания датчиков...........
часы - температура дом- температура улица, затем может пропустить улицу или дом, или дом улица снова дом потом часы
в общем закономерности я не заметил в пропусках или задвоенности.


а что если разбить библиотеку на несколько частей
то есть за один цикл 0-255 выполняется либо преобразование, либо чтение результата или работа с датчиком пропускается совсем.

что скажете
Вложения
таймер 0-255.png
(37.41 КБ) 275 скачиваний
Аватара пользователя
philosoraptor
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб янв 14, 2012 22:53:50

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

Сообщение philosoraptor »

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

Упростил цикл, теперь будет опрашивать каждый датчик до упора.
main_mega8_88.7z
(11.85 КБ) 228 скачиваний
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

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

Сообщение Serzh2000 »

перед сменой показаний на термометр и сразу после смены на мили секунду ярко засвечиваются некоторые сегменты светящихся тускло цифр в ночном режиме. два засвета так же как и автора
Аватара пользователя
philosoraptor
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб янв 14, 2012 22:53:50

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

Сообщение philosoraptor »

Косяк(и) вроде

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

		#//asm("sei")
в ds18x20_v3.lib самостоятельно найти и поправить сумеете, надеюсь?
Ответить

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