Часы, будильник, термометр на ATmega8, DS1307, DS18B20

Решил собрать часы для рабочего стола компа на ATmega8. Минимум электронных компонентов. Так же все есть в наличии. Благодаря платформе AliExpress. В качестве индикатора я использовал 4-разрядный 7-сегментный зеленый светодиодный индикатор размером 0,56″ с общим катодом.

Часы, будильник, термометр на ATmega8, DS1307, DS18B20
Часы, будильник, термометр на ATmega8

В схеме также можно использовать светодиодный индикатор с общим анодом. Для этого потребуется написать соответствующую прошивку для контроллера ATmega8. Функционал часов: 24-часовой формат, будильник с возможностью установки по дням недели, комнатный термометр. Также есть ночной режим яркости индикаторов, почасовой сигнал — кроме ночного режима Есть коррекция времени и температуры, очень полезная функция.

Внешний вид:

Сенсорные кнопки специально вварены на высоте 17мм, со временем планирую установить перед экраном 0.56″ тонированный оргстекло. Часы в работе, индикация времени:

Часы работы, индикация температуры. Можно установить отображение анимации от 5 секунд до 50 секунд:

Печатные платы в количестве 2-х штук разделены в программе Sprint Layout 6.0 на одностороннем текстолите и изготовлены по лутовой технологии.

Первая приборная панель с индикатором и тактильными кнопками. Под светодиодным дисплеем припаян зеленый светодиод. Признаки, если сигнализация включена:

Задняя часть платы, резисторы smd 680 Ом и 2,2 Ом, плюс разъемы:

Второй платеж. Сам контроллер Atmega8, кварцевые часы на 32768 Гц, датчик температуры Dallas DS18B20, чип реального времени DS1307, зуммер, разъемы, разъем питания:

Задняя сторона. В качестве регулятора напряжения на +5 вольт использовался стабилизатор смд 78м05 с минимальным конвейером электронных деталей. Батарейка CR2032 в случае сбоя питания питает микросхему DS1307, при этом время и настройки не сбивается:

Блок питания для часов использую от старого модема zyxel 9 вольт.

Источник: migsаt.ru

Bestchart
Добавить комментарий

  1. igiq

    Здравствуйте админ. собрал часики , идут, но есть один нюанс . после включения индикатор загорается ярко (как положено )через несколько секунд  притухает. при ярком свете ничего не видно . из отступлений от схемы, поставил выводные резисторы на индикатор вместо смд . может быть из за них? Добавленно позже (в 00:38 07.02.2016): и ещё один вопрос. какой индикатор потянет схема без добавления ключей? просто есть индикатор размером 70-25. хочу прикрутить к этой схеме но не уверен что вытянет . спасибо

  2. admin

    igiq, какую прошивку Вы использовали? В Proteus также симулируется? У меня строит прошивка без регулировки освещения индикатора, но с коррекцией по времени. Такой проблемы не было. Смотрите datasheet на индикатор. Если элемент индикатора состоит из нескольких светодиодов, то нужно добавлять ключи.

  3. igiq

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

  4. admin

    igiq, если в меню часов нет пункта регулировки яркости, значит они без регулировки.

  5. tolp

    Здравствуйте . схема понравилась собрал , но у меня не работает при в включении выдает SoiR потом CLOC потом А5.59 Схему я переделал поставил ключи на разряды а сигналы с контроллера инвертировал микросхемой ULN На кнопки не реагирует вообще . Может я напортачил ,а может еще в чем причина ?????????         ( Пробовавал 2 прошивы )

  6. admin

    tolp, попробуйте собрать на макетной плате, должна работать. Проверьте монтаж. Схема 100% рабочая, сейчас у меня часы идут с момента их сборки.

  7. igiq

    Подтверждаю собрал работает, кстати с достаточно большим 72-25 индикатором без ключей светит на ура. Единственная проблема не до конца разобрался с настройкой . Хотя особо изучать её времени нет. Пошли и ладно. Дней десять как идут пока не спешат не отстают. Видимо кварц нормальный попался. Спасибо админу.

  8. admin

    igiq, без ключей — рисково, т.к. могут сгореть выводы МК. А какая маркировка индикатора?

  9. igiq

    вот такой FYQ-8041AUG-11 Светодиодный индикатор 71.8×25.3 мм, зелёный, 4 разряда, общий катод Добавленно позже (в 23:29 19.02.2016): пока всё норм

  10. Pashy777

    Добрый день хочу собрать устройство. Можно немного подкорректировать прошивку? При срабатывании будильника чтоб загорелся и горел светодиод, при срабатывании второй раз будильника выключился. Какой то вывод мк для светодиода назначить.

  11. admin

    Pashy777, к сожалению, прошивки не имеют открытого кода. За Вашей просьбой можете обратиться к автору прошивок. Ссылка на его сайт находится в статье.

  12. Anatolii

    Здравствуйте. Собрал часы по вашей схеме, но какая то проблема с индикаторами . Не все сегменты засвечиваются. И например когда показывает температуру то не работают одни сегменты а когда часы то другие сегменты не работают а те (которые не работали при показе температуры) не работают. Проверил плату , » соплей нет» . Может быть проблема с прошивкой или микроконтроллером? Атмегу взял ту же что использовал в вашей предыдущей версии часов. Добавленно позже (в 10:19 21.03.2016):   (которые не работали при показе температуры) не работают.

  13. admin

    Anatolii, попробуйте разные версии прошивок, сравните индикацию, тогда будет ясно: проблема в железе или в прошивке.

  14. Anatolii

    Я имел ввиду проблема не с самой программой, я с процессом прошивки. Прошил другой прошивкой результат тот же. П.С. Добавил батарейку, отсчет начался с 0:00  и эти индикаторы горят ярко. Может проблема в нехватке тока? П.С.С. Плату сделал по той же печатки что в архиве. Резисторы на индикаторы 680 ом, тоже сборки (выпаял с материнки) Что не так может быть?   Добавленно позже (в 15:49 21.03.2016): Вот что получилось https://youtu.be/nDEatHzmWng

  15. admin

    Anatolii, может брак индикатора? Странный какой-то эффект.

  16. Anatolii

    admin,Не думаю, на прошлой версии часов работал исправно. …. Как можно его проверить?  

  17. admin

    Индикатор с общим катодом можно проверить так: Выпаять его из схемы, на контакт 1 (D1) повесить землю, поочередно на контакты A-H подавать небольшой ток (достаточный для свечения). Эту процедуру повторить для контактов 2-4. Еще мне кажется, что все-таки проблема может затаиться в районе резисторных сборок. Извлеките МК из панели и прозвоните их.

  18. Anatolii

    admin, Таки была «сопля» , вернее  не протравилась дорожка тут Спасибо за помощь. П.С. Хочу сделать самодельный индикатор из светодиодов. Подскажите как подключать и если возможно схемку )

  19. admin

    Anatolii, можно открыть datasheet на любой индикатор, там есть схема. Вот основные схемы по которым собираются индикаторы:

  20. Anatolii

    admin, Я имел ввиду как подключать самодельный индикатор к схеме, ключи на мосфетах (есть n chanal много с материонок) ну если у нас общий катод тогда нужны p chanel ?

  21. admin

    Anatolii, можно на простых транзисторах (типа BC547), рассчитанных на ток коллектора не менее тока потребления одного разряда. Если поставите полевики n-типа, то можете убрать со схемы резисторы R8-R10.

  22. Anatolii

    admin, Спасибо. А если у меня на один сегмент будет два светодиода (1206 красные)  то обязательно делать ключи?

  23. admin

    Anatolii, такой светодиод потребляет порядка 20mA. Итого на одну цифру: (20+20)*7+20 = 300 mA. Вывод: ключи нужны.

  24. Anatolii

    admin, Спасибо. Вот такое подключение на мосфетах правильное? И какой номинал R 8-R10 тогда необходим?

  25. admin

    Подключение правильное, только нужно добавить еще между каждым затвором и землей мегаомные резисторы. R8-R10 ориентировочно 0.2-4.7k. Нужно смотреть на ток управления затвором. Добавляйте изображения прям на сайт через кнопку «Загрузить файл». Из-за рекламы на файлобменниках до изображения не доберешься.

  26. Anatolii

    http://pixs.ru/showimage/123jpg_1904302_21244270.jpg   Добавленно позже (в 13:06 24.03.2016): Так.

  27. admin

    Да.

  28. Anatolii

    admin,  И снова здравствуйте ))) Собственно собрал , практически всё работает кроме «ключей» (разбираюсь) и индикатора. Собственно там проблема в том что забыл отзеракалить перед печатью…. Есть варианты программно исправить? или все же легче заново вытравить и запаять ? П.С. просто это выполнено на двустороннем текстолите, с обратной стороны сами часы находятся.

  29. admin

    Anatolii, добрый день. К сожалению, автор схемы и программного кода держит код в закрытом виде. Можете попробовать к нему обратиться (ссылка приведена в статье). Если не будет с ним связи, просто вытравите на новом одностороннем текстолите правильно отзеркаленную сторону со светодиодами, и соедините с первым текстолитом перемычками. Какие ключи Вы использовали?

  30. Anatolii

    admin, По поводу обратится к истокам….там без вариантов….догадываетесь наверное почему ))) Подумалось, попробую просто физически переподключить в зеркальном виде свой индикатор. т.е. 4 цифра  станет 1  и т.д. По поводу ключей , брал N канал выпаяные с материнок(нужна маркировка?). ставил на  затвор 100 Ом резисторы а между сток и исток 1 мОм.  Ну и подключение по схеме.

  31. admin

    Anatolii, да, сразу как-то не учел этот момент. Укажите маркировку, возможно кто-то последует Вашему примеру.

  32. Anatolii

    admin, такие phd45n03 , но что то не работает , засвечивает все сигменты и просто горит. П.С. С индикаторами разобрался, поменял местами 1-4 , 2-3 , F-B и    Е -С  и все теперь отображает как надо .

  33. Anatolii

    admin, Приветствую. Так и не победил я «ключи». Собственно нужна ваша помощь. Все подключил по схеме . На  затвор 100 Ом резисторы а между сток и исток 1 мОм. Монтаж На провода не обращайте внимание . Не работает…… Если подключать индикатор ДО ключа, все исправно работает.

  34. tolik-1965

    Здравствуйте Ув. админ. Я повторял часы по вашему проекту. заработал сразу. У меня просьба , сделайте прошивку чтобы термометр работал с 25 ножки контроллера а не с 26, потому что у меня 26 вывод контроллера не рабочая. и еще вопрос сигнал на каждом часу не работает, в каком меню надо настроить ? спасибо

  35. admin

    Anatolii, в чем заключается неисправность? У Вас же все было исправно, только зеркально отображено. tolik-1965, сигнал на каждый час не каждая прошивка поддерживает. Попробуйте разные прошивки. Поменять ногу контроллера не могу, т.к. прошивка не моя и она в закрытом виде находится.

  36. Anatolii

    admin,  Не, у меня изначально было две проблемы. Первая это индикаторы которые отображали зеркально ( решено) И второе это «ключи». Проблема в том что когда мои индикаторы подключены по схеме через ключи то индикатор весь засвечивается( все сегменты )  и собственно больше ничего не отображает….. Проверял подключение без ключей (на прямую) все исправно работает.

  37. admin

    Anatolii, попробуйте на одном разряде поэкспериментировать: Затворный резистор поменять на 10 Ohm, а мегаомный на 10 kOhm.

  38. Anatolii

    admin, результат тот же….

  39. admin

    Anatolii, у Вас скорее всего наблюдается эффект «защелкивания». Полевик не успевает закрыться. Меняйте его на биполярный и убирайте мегаомные резисторы. Можете проверить сперва на одном разряде, а после переделаете для остальных.

  40. danyth

    Hello ! I did make this watch in TQFP and DIL 28 version.Both  behaviour are strange…Hour can not be set ,Try to change MK,rtc.Nothing helps.Temperature loks fine adjust of display, alarm ,animation etc are Ok.Only hour and minute not be set it jumps back in to ZERO and stay so .Proteus files are Ok the only diference in to my watch is common anode display i use. Any ideas? Thanks and keep the good work! Danyth

  41. admin

    danyth, hello! The firmware you are using the same for the common anode? Digitals on the display correct? Look for a short circuit on the board.

  42. danyth

    Hello again! Yes FW is for common anode,Display work correct for all digits and segments,alarm can be set ,display setings can be set,preferences for display are memorized well.The only problem is that the minute,hours,second cannot be adjusted.If i go to clock setings an  i push the + its show 1,2,3 and quickly goes back to 0.00.Seconds are not incremented they stay 00,no seting ca be made.Have sommeone make this clock with common anode?By the way fuse bits are 0XE4 and  0D9.MK is Atmega 8L.Next week i will receive Atmega 8.Quarts is several time changed,and so ds 1307. Hope to upload somme pictures. Thank you for helping me.I will update my progres as soon as posible. DRNK TUP WHO can help with upload thoe fotos? :-[

  43. admin

    danyth, hello. In Atmega8l — less power consumption and maximum frequency 8MHz. Try MK Atmega 8. If the temperature is displayed normally, with time issues shaping can be due to the DS1307. Check the DS1307, contacts for short-circuiting. PS Upload a photo, you can click «Загрузить файл:« under the comment field.

  44. danyth

    Last chance to see the problem. Admin please remove the uper unnecesary links. :-) Hope youtube link can be seen. https://youtu.be/yRMpTYYC_gU Thank you

  45. admin

    danyth, Look for a problem in DS1307 or near her tracks.  

  46. danyth

    Next  week  i will receive Atmega 8 from local store. I will check if posible what hapens with DS1307.Changed one time but same result anb behavior.Maiby scopemeter to the RTC DS 1307 in comparision with Proteus DRNK files will give me some hints. Thank you for advice.

  47. danyth

    Hello! Finaly i have solved the problem.Missing ground plane from RTC to microcontroler in my layout… :-[ Thank you ADMIN for your help!Usefull help.And conclusion this clok can be made in all MK package.I try Atmega 8  16MU(SMD ),Atmega 8 L  AU(TQFP),and atmega 8A AU(DIL 28).If is necesary i can upload video with working  clock. Best regards Danyth from RO! YH

  48. admin

    Hey. Congratulations! Video — if you wish.

  49. danyth

    Hello! Buzzer and photoresistor still missing.. hope to get them quickly. :-) And video   Best regards danyth DRNK

  50. Anatolii

    наконец закончил и я свои часики ))   Спасибо за помощь.

  51. admin

    Anatolii, как решили ситуацию с полевиками? Первый разряд светится ярче других или это снято так?

  52. Anatolii

    admin, подключил на прямую. Протестил 3 дня , вроде работает…. понимаю что не совсем правильно но пока так. Да, первый разряд светит ярче других, почему так не знаю даже… Какие могут быть варианты?

  53. admin

    Anatolii, без транзистора присутствует большой риск спалить порты. Проверьте монтаж платы, все ли на 4х разрядах сделано одинаково. Для эстетики, можно на общий катод первого разряда, припаять токоограничивающий резистор в сотню Ом (нужно подбирать).

  54. danyth

    Hello all! Put all together and is lok so… Best regards, danyth :-)

  55. admin

    danyth, good job!

  56. andrei913

    А плату под корпус QTFP можно?

  57. admin

    andrei913, схема не сложная, можете самостоятельно развести плату под QTFP.

  58. andrei913

    Вот нашел, может кому пригодится. https://best-chart.ru/user_files/Termo_clock_ATM.rar

  59. andrei913

    Собрал будильник. Все работает кроме регулировки яркости свечения индикаторов. Индикаторы с общим анодом Е20562-G-J-8-W. Вместо фоторезистора поставил подстроечник 22кОм. Может дело в прошивке?

  60. admin

    andrei913, поэкспериментируйте с прошивками, не у всех одинаковый набор функций.

  61. andrei913

    Нужно подобрать номинал резистора R17. Я поставил 47кОм-все заработало.

  62. darik

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

  63. admin

    darik, проверьте монтаж. На других прошивках такой же эффект?

  64. darik

    admin, пробовал разные прошивки. Добавленно позже (в 18:36 02.01.2017): а еще засвечиваются некоторые сегменты. завтра попробую сделать видео. Добавленно позже (в 18:40 02.01.2017): admin, вопрос по схеме. BUZ1 с генератором или простой пьезо? я поставил пьезик от компьютера, при срабатывании будильника шлышны тихие щелчки.

  65. admin

    darik, 100% у Вас где-то ошибка в разводке или есть КЗ. Бузер без генератора. Громкость его не велика, но достаточная, чтоб проснуться. Хотя, как будильник, данные часы не использую.

  66. darik

    Добавленно позже (в 20:20 03.01.2017): сорри,первое видео не мое.

  67. Anatolii

    Сильно отстают часы, читал вроде что можно выставить коррекцию, как это делается?

  68. admin

    Anatolii, в меню в пункте CLOCK, после выставления минут, часов, секунд, есть пункт, корректирующий количество отставания или опережения секунд в сутки.