Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
В этот раздел стоит обращаться если Вы используете маленькие индикаторы ОА или ОК не имеет значения и не используете транзисторных ключей для разрядов и для сегментов.
Если использовать большие индикаторы от 1,5" и больше, то в схеме появляются транзисторные ключи в сегментах (ULN2803) и разрядах BC547 (smd - BC847).
Для открытия транзисторных ключей на биполярных транзисторах нужна лог.1 (дабы не углубляться в теория транзисторов пусть будет так). И соответственно получается, что для зажигания сегментов нужна лог. 1 и для зажигания разрядов тоже лог.1.
Настройки об управляющих уровнях хранятся в EEPROM памяти микроконтроллера и т.к. чистая память МК заполнена не нулями а наоборот лог.1 то выходит, что по умолчанию и при заливке программы в "чистый" МК у Вас будут установлены управляющие лог.1 для разрядов и для сегментов или по другому при использовании ключей из биполярных транзисторов в разрядах и в сегментах, то не нужно производить никаких настроек.
И как говорят (пишут): при заведомо исправных деталях конструкция не нуждается в настройке.
Если использовать большие индикаторы от 1,5" и больше, то в схеме появляются транзисторные ключи в сегментах (ULN2803) и разрядах BC547 (smd - BC847).
Для открытия транзисторных ключей на биполярных транзисторах нужна лог.1 (дабы не углубляться в теория транзисторов пусть будет так). И соответственно получается, что для зажигания сегментов нужна лог. 1 и для зажигания разрядов тоже лог.1.
Настройки об управляющих уровнях хранятся в EEPROM памяти микроконтроллера и т.к. чистая память МК заполнена не нулями а наоборот лог.1 то выходит, что по умолчанию и при заливке программы в "чистый" МК у Вас будут установлены управляющие лог.1 для разрядов и для сегментов или по другому при использовании ключей из биполярных транзисторов в разрядах и в сегментах, то не нужно производить никаких настроек.
И как говорят (пишут): при заведомо исправных деталях конструкция не нуждается в настройке.
Последний раз редактировалось Danko Вт дек 20, 2011 14:37:40, всего редактировалось 1 раз.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Danko СПС!!!!
Вы гений
- это факт!!!!
Уряяяяяя!!!! ЗАраБолтало!!!!
долго я игрался с ключами
для своих индикаторов и наконец плюнул и собрал схемку download/file.php?id=70421
от Valek - из ветки - viewtopic.php?f=20&t=12805&start=380
и о чудо .... (дальше непереводимая игра слов)
не , ну это мега супер пупер бомбовые часы !!!!!!!
особенно понравилась фишка с плавной сменой показаний и фоторезистором
Danko - респект!!!
будете в Одессе , с меня море пива и экскурсия по городу
Вы гений
Уряяяяяя!!!! ЗАраБолтало!!!!
долго я игрался с ключами
для своих индикаторов и наконец плюнул и собрал схемку download/file.php?id=70421от Valek - из ветки - viewtopic.php?f=20&t=12805&start=380
и о чудо .... (дальше непереводимая игра слов)
не , ну это мега супер пупер бомбовые часы !!!!!!!
особенно понравилась фишка с плавной сменой показаний и фоторезистором
Danko - респект!!!
будете в Одессе , с меня море пива и экскурсия по городу
-
ilsmolencev
- Родился
- Сообщения: 7
- Зарегистрирован: Пн дек 19, 2011 16:09:47
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
тогда у меня вопрос по теме где в когде программы задаются ноги с atmega которые идут на дисплей?
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
файл term_mega8_88.h
строки:семь разрядов кроме точки (вес разряда в двоичной системе)
точка
файл main_mega8_88.c
строки (158, 159):точка подключена к пятому (нумерация с нуля)
порт к которому подключены сегменты: строки main-файла 154, 155
разряды: строки main-файла 151, 152, 162, 163
P.S.
это все для часов с динамической индикацией
строки:
Код: Выделить всё
#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; }
порт к которому подключены сегменты: строки main-файла 154, 155
разряды: строки main-файла 151, 152, 162, 163
P.S.
это все для часов с динамической индикацией
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
NickNI писал(а):Сейчас Danko меня "убёт" за ламерский совет по изменению исходника
Найдите строки:Код: Выделить всё
temp = (unsigned int) temperature;
if (temperature < 0) {
Измените так:Код: Выделить всё
temp = (unsigned int) temperature-48;
if (temperature-48 < 0) {
Остальные строки оставить оригинальные.
В протеусе работает, в железе не проверял.
P.S. А не проще ли поменять датчик на исправный?
Большое спасибо за помощь, правда в железе попробую только в конце недели, а можете мне немного объяснить, почему для трех градусов отнимается число 48, и почему его нужно отнимать от temperature в двух строчках? Датчик поменять наверное можно, но только у меня 6 таких датчиков с разных магазинов и все врут от +1 до +3, к тому же, я установил датчик в закрытом корпусе, и сама схема часов нагревает его на 2-2,5 градуса вот потому и нужна коррекция температуры датчика.
нужно не только знать, но и уметь это объяснить
-
ilsmolencev
- Родился
- Сообщения: 7
- Зарегистрирован: Пн дек 19, 2011 16:09:47
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
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; }
порт к которому подключены сегменты: строки main-файла 154, 155
разряды: строки main-файла 151, 152, 162, 163
P.S.
это все для часов с динамической индикацией
Большое спасибо
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
jumbo писал(а):...а можете мне немного объяснить, почему для трех градусов отнимается число 48...
Я же предупреждал...
Корректировать подготовленные к выводу на индикаторы данные температуры, учитывая знак, разрядность, пред-настройки (целые/с десятыми) весьма сложно. Так и памяти контроллера не хватит. Гораздо удобнее откорректировать "сырые" данные полученные сразу с датчика и уже откорректированные отправить на обработку для вывода на индикаторы. Такой вариант и предложен. Ну а откуда 48? Скорее "попугаи"
jumbo писал(а):...почему его нужно отнимать от temperature в двух строчках? ...
А тут и ничего не отнимается. Просто для принятия решения: температура положительная или отрицательная, сравниваться не данные полученные от датчика, а откорректированные.
Жизнь - цепь, а мелочи в ней звенья. Нельзя звену не придавать значения!
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
если Автор не против , выложу печатку (доработанную) под очень большие индикаторы
и вопросик если можно ...
иногда при вкл. пит. загорается и постоянно горит Fnd1, ни чего не мигает
иногда норм. погорит пару сек и на время вкл. с миг-ей точкой
постоянства поведения при включении нет
что это может значит?
и вопросик если можно ...
иногда при вкл. пит. загорается и постоянно горит Fnd1, ни чего не мигает
иногда норм. погорит пару сек и на время вкл. с миг-ей точкой
постоянства поведения при включении нет
что это может значит?
- Вложения
-
- mega8 big led-111.lay
- плата под очень большие индикаторы
- (169.79 КБ) 533 скачивания
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
А ПЛАТА 2 где? Сдаётся мне , что Вы в очередной раз изобрели велосипед . 
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
yuritmics писал(а):А ПЛАТА 2 где? Сдается мне , что Вы в очередной раз изобрели велосипед .
там одна плата
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Доброго вечера ув. Коты и котята
маленькая идейка по доработке возникла
если использовать аккумулятор на 3,6в вместо батарейки и снабдить простенькой схемкой зарядки
на первую мысль падает LM3940 (стаб. 3,3в) + диод блок-й и сопротивление на ом 30
подключал аккум 3,6в 550ма вместо батарейки (таблетки) начинает сильно грется DS1307
батарейка за сутки садится практически до нуля (у меня они бэу)
верны ли мои рассуждения ?
и как схемно это лучше реализовать (аккум + подзарядка) ?
и еще один вопрос,
при установке коррекции яркости а = 4 (40) при полной темноте все равно сильно ярко
как еще можно уменьшить яркость?
может ув. Danko не сочтет за труд помочь
заранее благодарен
прошивка от ув. NickNI
маленькая идейка по доработке возникла
если использовать аккумулятор на 3,6в вместо батарейки и снабдить простенькой схемкой зарядки
на первую мысль падает LM3940 (стаб. 3,3в) + диод блок-й и сопротивление на ом 30
подключал аккум 3,6в 550ма вместо батарейки (таблетки) начинает сильно грется DS1307
батарейка за сутки садится практически до нуля (у меня они бэу)
верны ли мои рассуждения ?
и как схемно это лучше реализовать (аккум + подзарядка) ?
и еще один вопрос,
при установке коррекции яркости а = 4 (40) при полной темноте все равно сильно ярко
как еще можно уменьшить яркость?
может ув. Danko не сочтет за труд помочь
заранее благодарен
прошивка от ув. NickNI
- Вложения
-
- Clock-Term-Alarm_m8.rar
- мигают 2 точки 2го и 3го разряда,
3й разряд перевернут - (8.58 КБ) 306 скачиваний
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
kret_a_v писал(а):...батарейка за сутки садится практически до нуля (у меня они б/у)...
страница 1 даташника DS1307 - потребление о батарейки 500 наноАмпер - это половина микроАмпера (с выключенной генерацией на 7-ой ноге)
Одной батарейки на год автономной работы должно хватить.
Идите в магазин за новой DS1307 и все и никаких аккумуляторов.
У нас батарейки CR2032 плохие (дешевые) стоят 3 гривны - $0,4, а хорошие (дорогие) 20 гривен - $2.5
Я беру по 3 гривны и проблем до сих пор не было.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
спс ув. Danko , что мониторите и поддерживаете проект
это я читал... сам в
с этим поможете?
хотелось бы чтобы от максимума светилось ( днем ) и до минимума но различимо ночью
или может аппаратный какой то приемчик есть?
резистор в разрыв 9в на тр-ры не то...
за ранее благодарен
с ув. Алексей
Danko писал(а):страница 1 даташника DS1307 - потребление о батарейки 500 наноАмпер
это я читал... сам в
kret_a_v писал(а):как еще можно уменьшить яркость?
с этим поможете?
хотелось бы чтобы от максимума светилось ( днем ) и до минимума но различимо ночью
или может аппаратный какой то приемчик есть?
резистор в разрыв 9в на тр-ры не то...
за ранее благодарен
с ув. Алексей
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
kret_a_v писал(а):хотелось бы чтобы от максимума светилось ( днем ) и до минимума но различимо ночью
Алексей код править умеете? если нет пишите помогу.
посмотрите строки в функции void set_yarkost (void)
Код: Выделить всё
if (adc_rez < rez_50) {
max_yarkost = 64; // яркость 25%
}
Данил.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
kret_a_v писал(а):прошивка от ув. NickNI
Уточню: Автор Danko! Я лишь добавил несколько мелких, незначительных "рюшек" под конкретную конструкцию, в частности индикация номера датчика температуры точкой перевернутых разрядов минут.
Жизнь - цепь, а мелочи в ней звенья. Нельзя звену не придавать значения!
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
kret_a_v писал(а):Алексей код править умеете? если нет пишите помогу.
если бы умел
помогите плиз

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
NickNI писал(а):NickNI
пасибки, огромное - вечером обкатаю 
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
NickNI писал(а):NickNI
ДА!!!!! это именно то!!!!
спс ограмнюйщее!!!
но... извините за дотошность....
только точки мельтешат сильно часто,
раз в сек. было бы привычнее
- headshotbacs
- Вымогатель припоя
- Сообщения: 641
- Зарегистрирован: Пт ноя 28, 2008 20:34:39
- Откуда: Краматорск
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Люди! Нужна помощь! Часы от данко очень подходят к такому "девайсу":

Есть ли мысли как воплотить в реальность?

Есть ли мысли как воплотить в реальность?