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

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

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

Сообщение Danko »

В этот раздел стоит обращаться если Вы используете маленькие индикаторы ОА или ОК не имеет значения и не используете транзисторных ключей для разрядов и для сегментов.
Если использовать большие индикаторы от 1,5" и больше, то в схеме появляются транзисторные ключи в сегментах (ULN2803) и разрядах BC547 (smd - BC847).

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

Настройки об управляющих уровнях хранятся в EEPROM памяти микроконтроллера и т.к. чистая память МК заполнена не нулями а наоборот лог.1 то выходит, что по умолчанию и при заливке программы в "чистый" МК у Вас будут установлены управляющие лог.1 для разрядов и для сегментов или по другому при использовании ключей из биполярных транзисторов в разрядах и в сегментах, то не нужно производить никаких настроек.

И как говорят (пишут): при заведомо исправных деталях конструкция не нуждается в настройке.
Последний раз редактировалось Danko Вт дек 20, 2011 14:37:40, всего редактировалось 1 раз.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

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

Сообщение kret_a_v »

Danko СПС!!!!
Вы гений :idea: - это факт!!!!

Уряяяяяя!!!! ЗАраБолтало!!!!

долго я игрался с ключами :solder: для своих индикаторов и наконец плюнул и собрал схемку 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)

Сообщение ilsmolencev »

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

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.
это все для часов с динамической индикацией
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
jumbo
Мучитель микросхем
Сообщения: 490
Зарегистрирован: Вт фев 03, 2009 11:06:33

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

Сообщение jumbo »

NickNI писал(а):Сейчас Danko меня "убёт" за ламерский совет по изменению исходника :oops:
Найдите строки:

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

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)

Сообщение ilsmolencev »

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.
это все для часов с динамической индикацией


Большое спасибо
Аватара пользователя
NickNI
Прорезались зубы
Сообщения: 237
Зарегистрирован: Ср май 19, 2010 11:15:36
Откуда: Украина

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

Сообщение NickNI »

jumbo писал(а):...а можете мне немного объяснить, почему для трех градусов отнимается число 48...

Я же предупреждал... :)
Корректировать подготовленные к выводу на индикаторы данные температуры, учитывая знак, разрядность, пред-настройки (целые/с десятыми) весьма сложно. Так и памяти контроллера не хватит. Гораздо удобнее откорректировать "сырые" данные полученные сразу с датчика и уже откорректированные отправить на обработку для вывода на индикаторы. Такой вариант и предложен. Ну а откуда 48? Скорее "попугаи" :). Вероятно так: Точность датчика (1/16) умножено на 48 "попугаев" равно три градуса :)
jumbo писал(а):...почему его нужно отнимать от temperature в двух строчках? ...

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

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

Сообщение kret_a_v »

если Автор не против , выложу печатку (доработанную) под очень большие индикаторы


и вопросик если можно ...

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

что это может значит?
Вложения
mega8 big led-111.lay
плата под очень большие индикаторы
(169.79 КБ) 533 скачивания
Аватара пользователя
yuritmics
Открыл глаза
Сообщения: 55
Зарегистрирован: Сб окт 15, 2011 21:45:32
Откуда: SARATOV

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

Сообщение yuritmics »

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

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

Сообщение kret_a_v »

yuritmics писал(а):А ПЛАТА 2 где? Сдается мне , что Вы в очередной раз изобрели велосипед . :))

:)) в этот раз это был самокат, только модернизированный
там одна плата
Аватара пользователя
yuritmics
Открыл глаза
Сообщения: 55
Зарегистрирован: Сб окт 15, 2011 21:45:32
Откуда: SARATOV

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

Сообщение yuritmics »

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

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

Сообщение kret_a_v »

Доброго вечера ув. Коты и котята :)
маленькая идейка по доработке возникла
если использовать аккумулятор на 3,6в вместо батарейки и снабдить простенькой схемкой зарядки
на первую мысль падает LM3940 (стаб. 3,3в) + диод блок-й и сопротивление на ом 30

подключал аккум 3,6в 550ма вместо батарейки (таблетки) начинает сильно грется DS1307

батарейка за сутки садится практически до нуля (у меня они бэу)

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

и еще один вопрос,
при установке коррекции яркости а = 4 (40) при полной темноте все равно сильно ярко
как еще можно уменьшить яркость?

может ув. Danko не сочтет за труд помочь :oops:

заранее благодарен :beer:

прошивка от ув. 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)

Сообщение Danko »

kret_a_v писал(а):...батарейка за сутки садится практически до нуля (у меня они б/у)...
:shock:

страница 1 даташника DS1307 - потребление о батарейки 500 наноАмпер - это половина микроАмпера (с выключенной генерацией на 7-ой ноге)

Одной батарейки на год автономной работы должно хватить.

Идите в магазин за новой DS1307 и все и никаких аккумуляторов.

У нас батарейки CR2032 плохие (дешевые) стоят 3 гривны - $0,4, а хорошие (дорогие) 20 гривен - $2.5

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

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

Сообщение kret_a_v »

спс ув. Danko , что мониторите и поддерживаете проект :beer:
Danko писал(а):страница 1 даташника DS1307 - потребление о батарейки 500 наноАмпер

это я читал... сам в :shock:
kret_a_v писал(а):как еще можно уменьшить яркость?

с этим поможете?
хотелось бы чтобы от максимума светилось ( днем ) и до минимума но различимо ночью

или может аппаратный какой то приемчик есть?

резистор в разрыв 9в на тр-ры не то... :(

за ранее благодарен

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

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

Сообщение Danko »

kret_a_v писал(а):хотелось бы чтобы от максимума светилось ( днем ) и до минимума но различимо ночью

Алексей код править умеете? если нет пишите помогу.

посмотрите строки в функции void set_yarkost (void)

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

   if (adc_rez < rez_50) {
      max_yarkost = 64; // яркость 25%
   }
попробуйте заменить 64 на более меньшее значение, но не менее 10 (там програмный ШИМ и если будет очень маленькое значение программа просто не успеет отработать изменение сигнала ШИМ).

Данил.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
NickNI
Прорезались зубы
Сообщения: 237
Зарегистрирован: Ср май 19, 2010 11:15:36
Откуда: Украина

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

Сообщение NickNI »

kret_a_v писал(а):прошивка от ув. NickNI

Уточню: Автор Danko! Я лишь добавил несколько мелких, незначительных "рюшек" под конкретную конструкцию, в частности индикация номера датчика температуры точкой перевернутых разрядов минут.
Жизнь - цепь, а мелочи в ней звенья. Нельзя звену не придавать значения!
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

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

Сообщение kret_a_v »

kret_a_v писал(а):Алексей код править умеете? если нет пишите помогу.


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

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

Сообщение kret_a_v »

NickNI писал(а):NickNI

:beer: :beer: :beer: пасибки, огромное - вечером обкатаю :idea: :kill:
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

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

Сообщение kret_a_v »

NickNI писал(а):NickNI
:beer: :beer: :beer:
ДА!!!!! это именно то!!!!
спс ограмнюйщее!!!
но... извините за дотошность....:oops:
только точки мельтешат сильно часто, :shock: это как то можно поправить?
раз в сек. было бы привычнее :oops: :oops:
Аватара пользователя
headshotbacs
Вымогатель припоя
Сообщения: 641
Зарегистрирован: Пт ноя 28, 2008 20:34:39
Откуда: Краматорск

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

Сообщение headshotbacs »

Люди! Нужна помощь! Часы от данко очень подходят к такому "девайсу":

Изображение

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

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