Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (2) ORDER BY umeta_id ASC

30

Большие светодиодные часы-календарь на микроконтроллере 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-канальный коммутатор мощных нагрузок на основе транзисторов Дарлингтона (составных) с открытым коллектором.

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

Вот так получилось:

1Рис.3. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8

Рабочий режим:

2Рис.4. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8

3 Рис.5. Часы с большим светодиодным дисплеем на микроконтроллере ATmega84Рис.6. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8

Часы и календарь отображаются на табло поочередно.

Видео работы и настройки часов-календаря:

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

Файлы к проекту:

[hidepost]Прошивка, Исходник[/hidepost]

Fuse-биты при программировании выставляем так:

Fuses1

Sergej

30 комментариев

  1. Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
    SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1278) ORDER BY umeta_id ASC

class="comment byuser comment-author-saska even thread-even depth-1">

Очень понравился проект давно искал что нибудь подобное скажите пожалуйста если я уберу драйвера на сегменты и uln2003 я получу проект с общим анодом?Просто ключи транзисторные на меня плохо влияют,не получается нормально подключить и еще корректируется время появления даты и часов? 

  • Пока что не корректируется, еще в планах в прошивку добавить коррекцию хода и показ температуры, но это уже позднее.
    uln2003 и ключи на транзисторах необходимы для того, чтобы подавать на сегменты 15В (6 светодиодов включенных последовательно, то есть 2,5В*6=15 В). Если не будешь ставить драйверы, то у тебя получатся индикаторы с общим анодом на напряжение 5В

    • Спасибо огромное,а на сколько позднее задержится уж больно хороший девайс
       

      • Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
        SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1470) ORDER BY umeta_id ASC