Простые часы на Atmega8 своими руками
После рождения ребенка появилась необходимость в простых электронных часах, которые светят в темноте для отслеживания ночного режима питания, сна и т.д. Просмотрев схемы в Интернете и сопоставив их с наличием у меня радиодеталей, пришел к выводу, что выбранные мной часы легко собрать из деталей находящихся у меня, и они являются самыми простыми в изготовлении (сделать их может даже начинающий радиолюбитель).
Состоят данные часы из микроконтроллера Atmega8, светодиодного индикатора (PL-F5610) с общим катодом (минусом), часового кварца 32768 Hz и резистора. Да, можно удивиться, но больше нам ничего не понадобится.
Резистором можно подобрать яркость свечения индикатора – при 180 Om часы будут очень ярки и днем и ночью, а при 220 Om – будут видны только ночью. Я остановился на 200 Om.
Микроконтроллер Atmega8 можно прошить программатором PonyProg. Прошивку в формате *.hex можно скачать ЗДЕСЬ. Фьюзы при прошивке микроконтроллера Atmega8 необходимо выставить: СКОРТ, ВООТSZ1, ВООТSZ0, SUT1, SUT0, СКSEL3, СКSEL1, СКSEL0. При выставлении бита СКОРТ к часовому кварцу подключаются два внутренних конденсатора микроконтроллера.
Питание данных часов от 5v источника, можно сеть, можно батареи.
Принципиальную схему простых часов на микроконтроллере Atmega8 привожу ниже.
Если у Вас индикатор с двумя точками (светодиодами) между парами цифр, то их можно подключить к четвертой лапе микроконтроллера. Вместо кнопок был использован датчик от дисковода, отвечающий за наличие дискеты и возможность записи на нее. По сути это и есть две кнопки в одном корпусе.
Работа микроконтроллера Atmega8 очень проста и заключается в обработке двух счетчиков. Первый считает количество колебаний кварца и выводит минуты, а второй – количество минут и выводит часы.
Корпус для таких маленьких простых электронных часов можно выбрать любой. Я разметил их в коробке от ювелирных украшений. По-моему получилось достаточно компактно и эстетично.
Автор данной схемы и программного кода некий «Paha». За что ему спасибо! 🙂
Автор «P-a-h-a» вышел на связь и предложил новую схему и свежие прошивки данных часов. Их можно увидеть ЗДЕСЬ.
best-chart.ru
ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8
Привет всем читателям и почитателям сайта Радиосхемы! Сегодня хочу поделиться с вами очередной простенькой конструкцией «Часы-термометр». Немного предыстории: вечером очень плохо видно показания уличного термометра, чтобы разглядеть положение стрелки, необходимо довольно долго вглядываться и иной раз пользоваться фонариком. Спустя определённое время мне это надоело и решил заменить прибор на электронный, который бы отображал информацию на светодиодных семи сегментных индикаторах. После чего бы не пришлось даже подходить к окну, чтоб узнать уличную температуру. Так как индикацию хорошо видно более чем с трёх метров. Схем данного устройства в сети полно, но я, как человек относящийся к семейству Радиолюбителей, решил собрать свою. Так как с недавних пор пытаюсь осваивать микроконтроллеры, то выбор пал на широко распространённый и дешёвый МК Atmega8. Далее была изготовлена плата по технологии ЛУТ, после чего уже приступил к программной части. Программа написана на языке Си с помощью среды разработки CodeVisionAVR.
Схема принципиальная электрическая
В одном устройстве объединено две функции: собственно измерение температуры и времени (часы). Индикация производится попеременно, сменяясь через десять секунд. Для настройки часов используется две кнопки, аналогично простым китайским электронным часам: одна отвечает за выбор параметра, вторая за его изменение. Питается устройство от сети с помощью постоянного стабилизированного источника тока напряжением пять вольт (плата от зарядного устройства телефона).
Датчиком температуры является микросхема DS18B20. Так как в устройстве «Часы-термометр» нет своей батареи, при пропадании питания естественно показания будут сбиваться. И что бы это не явилось причиной какого-нибудь опоздания человека на жизненно важные дела, имеется интересная «фишка» — при подаче питания вместо времени на дисплее будут отображаться прочерки, пока не нажмёшь одну из двух кнопок настройки.
Корпусом самодельного измерителя температуры послужила подходящая коробочка от запонок. В неё была помещена сама плата часов-термометра и плата вытащенная из телефонного зарядника. Датчик DS18B20 сделан выносным и подсоединяется через разъём.
Список необходимых деталей
- Микроконтроллер Atmega8 – 1шт.
- Кварц 32768 Гц – 1 шт.
- Датчик температуры DS18B20 – 1шт.
- Семи сегментный индикатор(4 – разряда) – 1 шт.
- Резисторы SMD типоразмера 0805:
- 620 Ом – 8шт.
- 0 Ом (перемычка) – 1шт.
- 4,7 кОм – 1шт.
- Тактовые кнопки – 2 шт.
Видео работы устройства на Ютуб-канале
Все файлы проекта (схема, прошивка и исходник) прилагаются. По всем вопросам относительно проекта можно обращаться на форум. До новых встреч на страницах сайта Радиосхемы! С вами был Темыч (Артём Богатырь).
Форум
Обсудить статью ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8
radioskot.ru
В часах есть возможность последовательно показывать 4 режима, для которых выбирается один из десяти форматов отображения и время его показа.
Кнопка F — выход из режима. Выбор 3 основных режимов.
Все режимы, кроме нулевого и режима таймера, имеют завершение по времени. Если не было нажатий более 30 секунд, устанавливается режим ноль.
Режим CALLS
Режим SETUP.
Режим PORT.
Режим часы.
Режим Уст SEE.
Режим УSt Буd. Установки будильника.
Режим DS18B20.
Режим DEFAULT.
Действия в нулевом режиме. F — выбор режима.
Схема clock.spl (7 Kb)
lay.rar (12 Kb) Программа написана на си в WinAvr. При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ).
Запрограммировать бит CKOPT (подключение внутренних конденсаторов).
посмотреть для PonyProg.
Затем прошить EEPROM, или сбросить основные переменные в программе таким образом -
SETUP -> DEFAULT -> SET. |
www.radiokot.ru
Большие светодиодные часы-календарь на микроконтроллере ATMega8
Однажды пришло неудержимое желание собрать большие часы на светодиодах. Как известно, схем часов на микроконтроллерах по интернету довольно много. Наиболее подходящий вариант для меня был вот этот.
Поскольку здесь было несколько непонятных для меня нюансов, то они стимулировали меня несколько переделать схему и написать собственную программу для микроконтроллера. Хотя, в итоге, проект по ссылке оказался тоже рабочим и довольно интересным. Но поскольку я уже начал писать собственную программу для микроконтроллера, то возвращаться к предыдущему варианту не стал.
В основе часов находится микроконтроллер ATMega8 и микросхема — DS1307. Таким образом принципиальная схема получилась достаточно простой (Рис.1).
Рис.1. Принципиальная схема часов на микроконтроллере ATMega8
Микросхема DS1307 – представляет собой экономичные часы реального времени с последовательным интерфейсом. DS1307 содержит часы-календарь с представлением информации в двоично-десятичном коде и 56 байт энергонезависимого статического ОЗУ. Адрес и данные передаются по двунаправленной двухпроводной последовательной шине. Информация о реальном времени и календаре представляется в секундах минутах, часах, дне, дате, месяце и годе. Если текущий месяц содержит менее 31 дня, то микросхема автоматически определит количество дней в месяце с учетом высокосности текущего года. Часы работают или в 24-часовом или 12-часовом формате с индикатором AM/PM (до полудня/ после полудня). DS1307 содержит встроенную схему контроля уровня основного источника питания и при его недопустимом значении автоматически переключается к резервной батареи Bat1.
Написание программы для микроконтроллера ATmega8 и его сопряжение с DS1307 не составило особого труда.
Больше всего пришлось повозится над созданием светодиодного табло с большими цифрами и его коммутацией с источником питания, напряжением больше чем питание микроконтроллера. Как известно микроконтроллер ATmega8 питается от 5В, а для моего светодиодного табло необходимое напряжение около 14В.
Светодиоды соединены по такой схеме:
Рис.2. Светодиодный индикатор
В одном сегменте индикатора 6 светодиодов, рассчитанных на 3В каждый. Как видим из Рис.2 все сегменты соединены между собой катодами (индикатор с общим катодом).
Каждый сегмент индикатора коммутируется с «+» источника питания через транзисторные драйвера выполненные на транзисторах BC547 (см.Рис.1, VT1,VT2). Таких драйверов 7 (на каждый сегмент). С другой стороны, для коммутации индикаторов (подключения общих катодов индикаторов к «-» источника питания) используется микросхема ULN2003A. Это 7-канальный коммутатор мощных нагрузок на основе транзисторов Дарлингтона (составных) с открытым коллектором.
Светодиоды вставлены в трехслойную фанеру, окрашенную в черный цвет. Корпус, как видим из ДСП. Поскольку красного светофильтра не нашел, то табло закрыл обычным стеклом.
Вот так получилось:
Рис.3. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8
Рабочий режим:
Рис.4. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8
Рис.5. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8Рис.6. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8
Часы и календарь отображаются на табло поочередно.
Видео работы и настройки часов-календаря:
Да, чуть не забыл, в начале каждого часа подается короткий сигнал через buzer со встроенным генератором (см. Рис.1).
Файлы к проекту:
[hidepost]Прошивка, Исходник[/hidepost]
Fuse-биты при программировании выставляем так:
Возможно, вам это будет интересно:
meandr.org
Часы с анимацией, будильник, термометр на контроллере ATmega8
Решил собрать часы для компьютерного стола на ATmega8. Минимум электронных компонентов. Тем более что все в наличии. Спасибо площадке AliExpress. В качестве индикатора применил 7-сегментный 4-х цифровой зеленый светодиодный индикатор размером 0.56″ с общим катодом. В схеме так же можно применить светодиодный индикатор с общим анодом для этого в контроллер ATmega8 необходимо будет записать соответствующую прошивку. Часы функциональные: 24 формат времени, будильник с возможностью настроить по дням недели, комнатный термометр. Так же есть ночной режим свечения индикаторов, звуковой сигнал каждый час — кроме ночного режима работы. Есть коррекция времени и температуры, очень полезная фишка так как часовой кварц и датчик температуры изначально могут иметь небольшую погрешность. Очень красивая анимация смены температуры и времени с поддержкой более 10 скинов, так сказать на любой вкус и с возможностью настройки отображения по времени.
Внешний вид:
Тактильные кнопки специально запаял высокие 17mm высотой, со временем планирую установить тонированное оргстекло перед дисплеем 0.56″. Часы в работе, отображение времени:
Часы в работе, отображение температуры. Есть возможность настроить отображение анимации от 5 сек до 50 сек:
Печатные платы в количесте 2-х штук разведены в программе Sprint Layout 6.0 на одностороннем текстолите и изготовлены с помощью лут технологии.
Первая плата с индикатором и тактильными кнопками. Внизу под светодиодным дисплеем запаян зеленый светодиод. Сигнализирует если включен будильник:
Обратная сторона платы, smd резисторы на 680ом и 2.2ком, плюс соединительные разъемы:
Вторая плата. Сам контроллер Atmega8, часовой кварц на 32768 гц, датчик температуры Dallas DS18B20, чип реального времени DS1307, бузер, соединительные разъемы, разъем питания:
Обратная сторона. В качестве стабилизатора напряжения на +5 вольт применен smd стабилизатор 78m05 с минимальной обвязкой электронных деталей. Батарея CR2032 в случаи пропадания напряжения, питает чип DS1307 — при этом время и насторойки не збиваются:
Блок питания для часов использую от старого модема zyxel на 9 вольт.
Скачать с Яндекс Диска прошивку и схему
AliExpress дешевые чипы реального времени DS1307
AliExpress дешевые датчики температуры DS18B20
AliExpress дешевые микроконтроллеры ATMEGA8-16PU
migsat.ru
Часы на Atmega8 и семисегментном индикаторе
Данные электронные часы, построенные на микроконтроллере Atmega8, оснащены легко читаемым светодиодным дисплеем, будильником с функцией повтора, функцией восстановления работы после отключения питания.
Характеристики часов
- формат отображения времени: часы, минуты;
- будильник с функцией повтора;
- простое управление с помощью 2 кнопок;
- поддержка работы от батарейки;
- напряжение питания: 7…12В / 0,2 A;
- размеры двух печатных плат: 60×21 мм, 58×44 мм.
Принципиальная схема часов показана на рисунке ниже. Схема часов должна быть запитана постоянным напряжением в диапазоне 7…12В. Это может быть любой блок питания с нагрузкой по току не менее 200 мА.
Диод VD1 (1N4007) защищает схему от неправильной полярности подключения входного питания. Внешнее входное напряжение подается на стабилизатор DA1 (7805), а конденсаторы C3…C7 выполняют роль фильтра питания.
Работой часов управляет микроконтроллер Atmega8, а в качестве часов реального времени применена микросхема типа PCF8583. Связь PCF8583 с микроконтроллером осуществляется через I2C интерфейс.
В качестве дисплея используется модульный четырехзначный семисегментный дисплей с общим анодом. Дисплей подключается непосредственно к выводам микроконтроллера через ограничительные резисторы R1…R12.
К разъему CON5 платы можно подключить зуммер с генератором, который будет выступать в качестве звукового сигнала будильника. К клеммам SA1 и SA2 печатной платы подключаются кнопки, которые служат для ввода настроек и обслуживания часов.
Настройка времени и будильника
При нажатии кнопки SA1 попадаем в меню часов «Set1», где у нас есть возможность установки текущего времени, а еще одно короткое нажатие кнопки SA1 переводит нас в меню установки времени будильника «Set2».
Для выбора и изменения настроек служит кнопка SA2. После выбора как в режиме настройки времени, как и в режиме установки будильника на дисплее начнет мигать первая цифра, после чего можно установить десятки часов с помощью кнопки SA2.
Очередное нажатие SA1 вызовет мигание второй цифры и с помощью SA2 можно установить единицы часов. Последующие два нажатия SA1 позволят установить десятки минут и единицы минут. Во время установки часов и минут устанавливается всегда только одна цифра. Пятое нажатие SA1 возвращает часы к нормальной работе. Также продолжительное время отсутствия нажатия кнопок завершает процедуры установки.
Во время работы часов длительное нажатие кнопки SA2 производит включение/выключение будильника. В момент активации будильника, на несколько секунд отображается время его запуска. Состояние будильника сигнализирует точка, размещена в четвертом разряде. Если будильник активен, этот индикатор горит.
После включения сигнала будильника нажатием любой кнопки можно выключить его на время порядка 5 минут, при этом активируется функция повтора. Этот факт отмечается миганием точки на четвертом разряде индикатора. По истечении 5 минут сигнал будильника будет запущен снова. Снова нажатием любой кнопки, его можно отложить еще на 5 минут, и т. д.
Полное отключение сигнала будильника происходит после длительного нажатия клавиши SA2, или около полутора минутного отсутствия реакции со стороны пользователя.
Работа часов протестирована в Proteus:
Если в ходе эксплуатации часов, окажется, что часы значительно отстают или спешит, можно попробовать уменьшить или увеличить значение конденсатора C1.
Скачать рисунок печатной платы, прошивку, модель в Proteus (34,7 Kb, скачано: 2 100)
www.joyta.ru
Простые часы на МК Atmega8 новая версия
Почти пять лет назад я собирал простые часы на Atmega8, они были очень легки для сборки начинающим радиолюбителям, но имели некоторые недостатки. Недавно, автор этих часов вышел на связь и предложил новую версию своих часов с доработками и прошивками под индикаторы с общим анодом и катодом.
К основным особенностям новых прошивок относится добавление функций энергосбережения, теперь энергопотребление часов не превышает 11-12мА, а в режиме сна – 0,01мА. Переключение между этими режимами может осуществляться по нажатию кнопок и автоматически (при пропадании основного питания). Ход часов при пропадании основного питания сохраняется, благодаря добавлению в схему батареи. Помимо этого, даже при отсутствии основного питания, можно кратковременно засветить индикатор и узнать текущее время. В новых прошивках, при выставлении времени, цифры постепенно возрастают при удержании кнопок. Также теперь светится разделительная точка между часами и минутами. Архив с новыми прошивками можно скачать ЗДЕСЬ.
По моей просьбе, автор планирует выпустить новую версию прошивки, в которой будет добавлена функция корректировки времени. Ее очень не хватало радиолюбителям, которые собирали первую версию часов, т.к. они имели свойство немного спешить или отставать.
При добавлении новых функций немного усложнилась схема, были использованы дополнительные радиодетали. Желающие радиолюбители могут также подключить дополнительные сегменты индикатора, для отображения секунд.
Автор (P-a-h-a) подготовил видеоматериал по сборке часов, но в нем, на мой взгляд, много лишнего, что может сбить с толку начинающего радиолюбителя. В связи с этим, размещаю видео со стартом с места, где идет непосредственно сборка описываемых в статье часов.
Страницы:
best-chart.ru