Обсуждаем контроллеры компании Atmel.
Ответить

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

Пн окт 02, 2017 11:54:37

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

Добавлено 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;
   }

Там еще в одном месте надо так же сделать, емнип.

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

Пн окт 02, 2017 12:14:20

большое спасибо!

Там еще в одном месте надо так же сделать, емнип.

емнип незнаю что означает
а место думаю где принудительно кнопкой вызывается температура, да

и еще стесняюсь спросить ,а вы с какой целью игрались яркостью ???

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

Пн окт 02, 2017 12:28:21

большое спасибо!

Пожалуйста.
вы с какой целью игрались яркостью ?

С целью ее изменения, вестимо. :) У меня она меняется кнопками +- в режиме секунд с пду. Мне так удобнее.

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

Пн окт 02, 2017 19:14:59

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

Добавлено 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 KiB) Скачиваний: 318

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

Чт окт 05, 2017 17:25:04

Всем Привет!

Мне снова не нравится работа часов , а именно, как предупреждал zseer64
это отключить все запреты на прерывания. Правда при этом пострадает работа с датчиком DS18B20, что выразится, иногда, в пропуске индикации температуры.

так оно и есть, мне это не нравиться хотя, ярость работает отлично.
я на днях чинил им. блок питания и мне пришла такая мысль.
в ответ Demiurg
Если динамика, то регулировка осуществляется посредством ШИМ дополнительного ключа на общих анодах-катодах. Но в этом случае у МК 8-88 все ноги заняты

Изображение
вот я и подумал может поставить в разрыв питания транзисторов транзистор под управлением ШИМ (лучше полевик)
кто скажет по этому поводу веское слово?

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

Чт окт 05, 2017 17:37:20

Засада динамики как раз из-за опроса датчика температуры. Нужно и индикаторами вовремя рулить и выдерживать жесткие времянки протокола 1-wire.
В статике этого недостатка нет, так как микросхемы-регистры постоянно выводят информацию на дисплей. Я потому и писал, что нужна микросхема, которая самостоятельно рулит светодиодами в динамике.

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

Чт окт 05, 2017 17:49:13

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

Добавлено after 6 minutes 51 second:
кстати подскажите в какой строчке поправить чтоб программный ШИМ стал аппаратным на ножке 15

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

Чт окт 05, 2017 18:34:50

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

Добавлено after 13 minutes 33 seconds:
Есть такая микросхема STLED316S. Эта микросхема рулит светодиодами, также к ней можно подключить матрицу из 16 кнопок. То есть, отличный вариант расширения ввода-вывода для проекта вроде этого.

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

Чт окт 05, 2017 19:15:46

ОПЯТЬ КОД. Я НЕ УМЕЮ ПИСАТЬ ЕГО
МОЖНО ССЫЛОЧКУ НА ГОТОВЫЕ ПРИМЕРНО ПОМОИМ ЗАПРОСАМ ЧАСЫ. Я СКОРО СДАМСЯ И БУДУ ГОТОВ НА ВСЕ.... 4 РЕГИСТРА 32 ТРАНЗИСТРА

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

Чт окт 05, 2017 19:21:27

4 РЕГИСТРА 32 ТРАНЗИСТРА

??? У вас наборные сегменты? Не индикаторы?
Не надо сдаваться. Но нужно признать, что на данный момент нет возможности. Значит, откладываем в сторонку, читаем книжки, пробуем другие проекты. Притом, не только си изучать, но и архитектуру мк и приемы программирования. А это только практикой. На чем-то попроще.

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

Чт окт 05, 2017 19:36:52

СОГЛАСЕН . ПОЙДУ СПАТЬ!!!!!!!

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

Чт окт 05, 2017 22:20:05

Ладно, пофиксил я ваш код.
часы динамика ночь с 22_00 до 6_00.7z
(245.47 KiB) Скачиваний: 250

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

Пт окт 06, 2017 04:59:02

Ладно, пофиксил я ваш код.
часы динамика ночь с 22_00 до 6_00.7z

Это не снимет проблемы косяков с динамикой из-за опроса температурного датчика.

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

Пт окт 06, 2017 09:41:01

Конечно-конечно, а еще "код с запретом прерываний не соберется", ага. Помним.

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

Пт окт 06, 2017 12:20:05

Конечно-конечно, а еще "код с запретом прерываний не соберется", ага. Помним.

??? Я подобное утверждал?
Так как динамика, при опросе температурного датчика будут срывы мультиплексирования. Посмотрим, что серж скажет.

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

Пт окт 06, 2017 12:35:59

Это последнее замечание говорит о незнании азов кодинга, в частности, для чего нужны циклы и что они делают. Видимо, не всем легко смириться с мыслью, что кто-то может определить совершенную непригодность такого вот бреда
Код:
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);
      }

даже без симулятора.

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

Пт окт 06, 2017 17:51:52

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

прямо скажем не фонтан
яркость как положено работает тут все отично ,а показания датчиков...........
часы - температура дом- температура улица, затем может пропустить улицу или дом, или дом улица снова дом потом часы
в общем закономерности я не заметил в пропусках или задвоенности.


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

что скажете
Вложения
таймер 0-255.png
(37.41 KiB) Скачиваний: 257

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

Пт окт 06, 2017 18:45:34

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

Упростил цикл, теперь будет опрашивать каждый датчик до упора.

main_mega8_88.7z
(11.85 KiB) Скачиваний: 215

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

Пт окт 06, 2017 19:36:07

перед сменой показаний на термометр и сразу после смены на мили секунду ярко засвечиваются некоторые сегменты светящихся тускло цифр в ночном режиме. два засвета так же как и автора

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

Пт окт 06, 2017 19:48:03

Косяк(и) вроде
Код:
      #//asm("sei")

в ds18x20_v3.lib самостоятельно найти и поправить сумеете, надеюсь?
Ответить