Страница 53 из 148

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

Добавлено: Вт дек 07, 2010 11:32:03
Kazemir
Спасибо Danko и всем за помощь!
Разобрался с адаптацией часового индикатора. Вопрос закрыт.

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

Добавлено: Вт дек 07, 2010 16:23:32
yurijI
Всем доброго здравия!

это типа так?
else { if (dubldot) zpt_4 = 0b00001100; //МОРГАЕМ ДВУМЯ ТОЧКАМИ в 2-3 разряде
else zpt_4 = 0b00000100; } // ОДНА ТОЧКА в 2 разряде
или я все еще не понял? :shock:

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

Добавлено: Вт дек 07, 2010 17:15:11
Ant-RG
Я думаю что так

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

  else       { if (dubldot)  zpt_4 = 0b00001000;   // засветить точку в 3 разряде 
                         else          zpt_4 = 0b00000100; } //                 в 2 разряде
но возможно я тоже чего то недопонимаю

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

Добавлено: Вт дек 07, 2010 17:28:31
Kazemir
yurijI & Ant-RG!
Не совсем так. (Да простит меня Danko !)

else { if (dubldot) zpt_4 = 0b00001100; //МОРГАЕМ ДВУМЯ ТОЧКАМИ в 2-3 разрядах
else zpt_4 = 0b00000001; } // засветить точку в 0 разряде

Далее примерно строка 1185 (примерно, потому что имеется некоторое разхождение с нумерацией Danko, почему то)

if(des)zpt_4=0b00001000; // засветить точку в третьем разряде (это нижняя точка в разделителе между часами и минутами)

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

Добавлено: Вт дек 07, 2010 18:06:17
Danko
чем более гибкая программа тем более больше заморочек в ней.

Итак:

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

else       { if (dubldot)  zpt_4 = 0b00000010;   // засветить точку в 1 разряде
             else          zpt_4 = 0b00000001; } //                 в 0 разряде
означает, что если неактивна функция ДвухТочекРазделителей то засветить точку в 1 разряде и напротив если эта функция активна, то засветить точку в 0 разряде к которой подпаяны светодиоды-разделители часов и минут

Все это предполагалось для часов у которых светодиоды-разделители часов и минут не привязаны к какому-либо разряду и их можно подпаять вместо точек любого разряда т.е. просто два светодиода. У Вас же светодиоды-разделители жестко привязаны к 2 и 3 разрядам (нумерация с 0), а в программе точки 2 и 3 разрядов это светодиоды горизонтальной и вертикальной черты знака плюс (так называемый пятый разряд).

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

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

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

  led_s, led_r, // выбор активных уровней на индикаторе
         hour0, // флаг индикации незначащего нуля в десятках часов
           des, // флаг точности индикации температуры (отбросить десятые градуса)
     rushechki, // "рюшечки" (плавная смена показаний индикации)
       fotorez, // регулеровка яркости с помощью фоторезистора
       dubldot, // если в часах кроме запятых есть еще точки-разделители часов и минут
     plusminus, // "пятый" разряд плюс/минус (два сегмента: горизонтальный и вертикальный)
    maxfotorez, // максимальный уровень яркости устанавливаемый пользователем (от 40 до 200)
это переменные ("флаги") которые участвуют в условиях активизации определенных функций, да и нужно учесть, что по умолчанию и по тому что чистая память EEPROM МК заполнена "1" (0xFF) то активизация функции происходит записью "0".

Еще раз разъяснил для тех кого удивляет установка фузов в МК AVR.

Приношу извинения если я кого то еще больше запутал.

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

Добавлено: Ср дек 08, 2010 14:54:01
yurijI
Danko писал(а): Приношу извинения если я кого то еще больше запутал.
:shock: АГА, вот завернул, так завернул…. :kill:

:)))

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

Добавлено: Вс дек 12, 2010 12:30:36
Valget
Уважаемый Danko. Я в начале декабря писал вам по поводу часов на 8mega_static. Ответил O-LED, по его совету загрузить прошивки от 28-03 и 29-04 2010г часы не оживили, так же и показывали информацию на индикаторах в инверсном режиме. Частично проблемму удалось решить, лишь загрузив программу 8mega_e. Все вроде бы работает за исключением запятой, которая горит постоянно на всех режимах, а в режиме "часы" - мигает. Оно и понятно, программа написана вами для динамической индикации. Я конечно извиняюсь (подобные мне "чайники" вам изрядно надоели), но что в этой ситуации посоветуете?

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

Добавлено: Вс дек 12, 2010 20:26:10
yurijI
Здоровья вам уважаемые! :))
Вот кажись и у меня кое что вышло…
В первом архиве поправленные исходники.
Во втором описание менюшек с индикатором CA56-21GWA

p/s видео работы часиков

http://video.yandex.ru/users/yurgin777/view/22/

:idea:

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

Добавлено: Пн дек 13, 2010 13:22:25
yurijI
Уважаемый DANKO подскажите, пожалуйста,
а за что вот эта функция отвечает :
//------------------------------------------------------------------------------------------
void dot_ON(void) {
if (dubldot) zpt_4 = 0b00000010; // засветить точку в 1 разряде
else zpt_4 = 0b00000001; // в 0 разряде
}//----------------------------------------------------------------------------------------
:roll:

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

Добавлено: Вт дек 14, 2010 23:16:45
foxit
А можно ли организовать коррекцию часов от ПК по rs232 или от gps?

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

Добавлено: Ср дек 15, 2010 01:39:13
Seal
foxit , я еще давно предлагал куда проще организовать коррекцию внешним источником.Но пока никаких наметок не видно .Думаю ,если Данко соберется, это может будет в следующем проекте, на другом контроллере.

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

Добавлено: Ср дек 15, 2010 17:56:24
Danko
yurijI писал(а):Уважаемый DANKO подскажите, пожалуйста,
а за что вот эта функция отвечает :
//------------------------------------------------------------------------------------------
void dot_ON(void) {
if (dubldot) zpt_4 = 0b00000010; // засветить точку в 1 разряде
else zpt_4 = 0b00000001; // в 0 разряде
}//----------------------------------------------------------------------------------------
:roll:
Эта функция вызывается при переходе в режим индикации времени и необходима на зажигания точки (точек). т.е. если в Ваших часах две точки как разделитель часов и минут и они подключены вместо светодиода точки 0 разряда.
foxit писал(а):А можно ли организовать коррекцию часов от ПК по rs232 или от gps?
в данных часах нет.

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

Добавлено: Ср дек 15, 2010 19:02:43
foxit
Danko писал(а):
foxit писал(а):А можно ли организовать коррекцию часов от ПК по rs232 или от gps?
в данных часах нет.
По-моему что-то подобное было.
Может остались материалы и ссылки?

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

Добавлено: Чт дек 16, 2010 10:36:11
Danko
наверное стоит немного углубится в понятие коррекции времени.

1 вариант: МК через последовательный порт (или I2C, SPI, 1wire и пр.) обменивается с большим братом (ПК) информацией т.е. часы минуты и секунды устанавливаются с ПК.

2 вариант: тоже самое только обмен с GPS-модулем.

3 вариант: на вход МК внешнее устройство подает сигнал точного времени по которому на часах секунды сбрасываются в 00. Внешним устройством может быть другой МК который в свою очередь получает информацию от ПК, GPS или по 6-му сигналу радиостанции "Маяк".

Возможно еще есть варианты. Но в Данных часах первые два варианта неприменимы.

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

Добавлено: Чт дек 16, 2010 22:32:39
dem-vr
Еще есть варианты!
Отказаться от кнопок на входе АЦП и поставить приемник ИК-сигнала от пульта RC5,
на котором кнопок намного больше. Китайцы делают дешевые мини-игрушки для детей с такими пультами.
Это упрощает саму конструкцию и повышает надежность - меньше трогаешь=меньше ломается!.

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

Добавлено: Пт дек 17, 2010 09:07:49
odesasha
Danko писал(а):наверное стоит немного углубится в понятие коррекции времени.

1 вариант: МК через последовательный порт (или I2C, SPI, 1wire и пр.) обменивается с большим братом (ПК) информацией т.е. часы минуты и секунды устанавливаются с ПК.
или по 6-му сигналу радиостанции "Маяк".
Большой брат (ПК) сам точен и требует такого же ( ряд скоростей обмена по СОМ портам ) от всех . USB - не исключение .Нужны кварцы 3.68 ,7.35 ( не помню точно , но типа этого ) на UART , и 12 Мгц для USB . Будет проблема с ногами .
Применение I2C , 1Ware для обмена с компом потребует резидентного ПО , а это ,похоже , -тема для отдельного форума .
А "Маяк" в Одессе давно не слышно - забит шумами .

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

Добавлено: Пт дек 17, 2010 09:20:18
Gordon Shumway
Доброго времени суток, уважаемые Коты, Кошки и Котята !
Всех с наступающим праздником !

Уважаемый автор ! Спасибо за ваш проект - вчера попробовал на макетке - все супер ! Как раз искал что-то подобное. Сегодня буду плату рисовать.

К сожалению не обойтись без вопросов:

1.Что означают понятия "статика" и "динамика" ? Прошивка "статика" показывает на экране непонятные символы, одинаковые на всех знакоместах. "Динамика" заработала сразу и без проблем.

2.Будет ли нормально работать Mega8L ? Есть в TQFP-корпусе...

Спасибо заранее за ответы !

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

Добавлено: Пт дек 17, 2010 10:08:07
Danko
Gordon Shumway писал(а):1.Что означают понятия "статика" и "динамика"
Статическая индикация и динамическая индикация. Каждая прошивка предназначена для определенной схемы. "Динамика" - для схемы с динамической индикацией, ну и "статика" - соответственно для статической индикации.
Gordon Shumway писал(а):2.Будет ли нормально работать Mega8L ? Есть в TQFP-корпусе...
ДА. Сам собирал именно на таком камне.

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

Добавлено: Пт дек 17, 2010 12:28:46
Gordon Shumway
Доброго времени суток !

Назрел еще один вопрос:
* пятый разряд (знак температуры), расположенный слева от первого - это два сегмента
горизонтальный и вертикальный которые образуют знак "минус" и знак "плюс".
Вместо точки 3-го разряда подключается горизонтальный сегмент, а вместо точки 4-го - вертикальный.
немного не понятно - точки ведь в динамической индикации запараллелены, а переключение делается разрядами... то есть получается оба сегмента включаются всегда вместе, у них же один разряд. Или я чего-то не понимаю ?

Спасибо заранее за ответ.

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

Добавлено: Пт дек 17, 2010 12:38:58
ВНН
Имеется 4 точки 2 используются как раздемитель ( : и , ) отаются свободными еще 2 тобиш вертикальная и горизонтальная черта в знаке температуры - или +