Site Loader
«Тикающие» часы с будильником на микроконтроллере Atmega48 / Хабр
Описание

Данные часы с будильником основаны на микросхеме часов реального времени, что позволяет им работать от резервного источника питания при отсутствии основного. Заданное время будильника и режим работы хранится в энергонезависимой памяти микроконтроллера. Режим отображения — 24 часовой. Содержат имитацию «тикания» Индикация времени и режимов работы осуществляется посредством светодиодных индикаторов.

Принцип работы

Основой данных часов является микросхема DS1307 — часы реального времени, обменивающаяся информацией с управляющим контроллером посредством I2C интерфейса. Индикация времени осуществляется через 4 7-и сегментных индикатора, работающих в динамическом режиме. Ввод и корректировка времени осуществляется 5-ю кнопками: «+ минуты», «+ часы», «установка», «будильник» и «сброс». Звуковой сигнал будильника выводится через стандартный пьезоизлучатель и представляет из себя сигнал частотой 1кгц с секундными паузами.

В качестве управляющего микроконтроллера был выбран Atmega48 по причине его доступности и наличии необходимой периферии на борту(даже с избытком). Часы реального времени DS1307 подключены к аппаратным выходам I2C управляющего микроконтроллера. Для работы DS1307 в автономном режиме( в случае отключения питания главного контроллера) используется литиевая батарейка резервного питания на 3V, ресурса которой хватит на несколько лет из-за низкого энергопотребления микросхемы.

Рассмотрим подробнее управляющую программу:

Программа работает по принципу флагово-таймерного автомата: все состояния и события представлены в виде соответствующих флагов, выполняющихся в прерываниях соответствующего таймера 1с, 1мс и 263.17мс. Программа использует 2 аппаратных таймера.

Опрос часовой микросхемы и нажатие кнопок осуществляется с интервалом 263.17мс. Интервал 1мс служит для формирования звукового сигнала звонка, а 1с — для его модуляции. Секундный интервал также управляет миганием точки во 2-ом разряде индикатора, разделяющий часы и минуты и также служащим формированием «тиканья».
Рассмотрим принципиальную схему часов.

Обозначения и номиналы:
S4 — Увеличение часов
S3 — Увеличение минут
S2 — Установка
S1 — Включение будильника
S5 — Сброс

R6-R10 — 10k
R1-R5 — 510ом

Напряжение питания — 5 вольт.

Настройка и использование

Правильно собранные часы в дополнительной настройке не нуждаются. Необходимо лишь установить текущее время и будильник.
Установка текущего времени осуществляется следующим образом:
1) Кнопками S1 и S2 установить текущее время (точка между разрядами при этом не мигает)
2) Запустить часы кнопкой S3
Установка будильника:
1) Нажать S3 и убедиться в том, что загорелась точка в 1-ом разряде
2) Установить время звонка кнопками S1 и S2
3) Включить звонок кнопкой S4
Дополнительные возможности:
Включить тиканье — удерживая S4 нажать S2 до появления характерных звуков. Отключается так-же.
Отображение минут и секунд — удерживая S4 нажать S1. Если после этого нажать S3 произойдёт сброс секунд в 00. Возврат — та-же комбинация.

Приложение: Исходный код (на ассемблере) + hex для микроконтроллера atmega48 + модель в Proteus.

Фото и видео часов

Часы собраны в корпусе из под нерабочей «электроники».

Самодельные электронные часы, элементная база — часть 2 / ХабрПривет, geektimes! В первой части статьи были рассмотрены принципы получения точного времени на самодельных часах. Пойдем дальше, и рассмотрим, как и на чем это время лучше выводить.
Итак, у нас есть некая платформа (Arduino, Raspberry, PIC/AVR/STM-контроллер, etc), и стоит задача подключить к нему некую индикацию. Есть множество вариантов, которые мы и рассмотрим.

Сегментная индикация


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

Осторожно, траффик!

Плюсы: простота конструкции, хорошие углы обзора, невысокая цена.
Минус: количество отображаемой информации ограничено.
Конструкции индикаторов бывают двух видов, с общим катодом и общим анодом, внутри это выглядит примерно так (схема с сайта производителя).

Есть 1001 статья как подключить светодиод к микроконтроллеру, гугл в помощь. Сложности начинаются тогда, когда мы захотим сделать большие часы — ведь смотреть на мелкий индикатор не особо удобно. Тогда нам нужны такие индикаторы (фото с eBay):

Они питаются от 12В, и напрямую от микроконтроллера просто не заработают. Тут нам в помощь приходит микросхема CD4511, как раз для этого предназначенная. Она не только преобразует данные с 4-битной линии в нужные цифры, но и содержит встроенный транзисторный ключ для подачи напряжения на индикатор. Таким образом, нам в схеме нужно будет иметь «силовое» напряжение в 9-12В, и отдельный понижающий преобразователь (например L7805) для питания «логики» схемы.

Матричные индикаторы


По сути, это те же светодиоды, только в виде матрицы 8х8. Фото с eBay:

Продаются на eBay в виде одиночных модулей либо готовых блоков, например по 4 штуки. Управление ими весьма просто — на модулях уже распаяна микросхема

MAX7219, обеспечивающая их работу и подключение к микроконтроллеру с помощью всего лишь 5 проводов. Для Arduino есть много библиотек, желающие могут посмотреть код.
Плюсы: невысокая цена, хорошие углы обзора и яркость.
Минус: невысокое разрешение. Но для задачи вывода времени вполне достаточно.

ЖК-индикаторы


ЖК-индикаторы бывают графические и текстовые.

Графические дороже, однако позволяют выводить более разнообразную информацию (например график атмосферного давления). Текстовые дешевле, и с ними проще работать, они также позволяют выводить псевдографику — есть возможность загружать в дисплей пользовательские символы.

Работать с ЖК-индикатором из кода несложно, но есть определенный минус — индикатор требует много управляющих линий (от 7 до 12) от микроконтроллера, что неудобно. Поэтому китайцы придумали совместить ЖК-индикатор с i2c-контроллером, получилось в итоге очень удобно — для подключения достаточно всего 4х проводов (фото с eBay).

ЖК-индикаторы достаточно дешевые (если брать на еБее), крупные, их просто подключать, и можно выводить разнообразную информацию. Единственный минус это не очень большие углы обзора.

OLED-индикаторы


Являются улучшенным продолжением предыдущего варианта. Варьируются от маленьких и дешевых с диагональю 1.1″, до больших и дорогих. Фото с eBay.

Собственно, хороши всем кроме цены. Что касается мелких индикаторов, размером 0.9-1.1″, то (кроме изучения работы с i2c) какое-то практическое применение им найти сложно.

Газоразрядные индикаторы (ИН-14, ИН-18)


Эти индикаторы сейчас весьма популярны, видимо из-за «теплого лампового звукасвета» и оригинальности конструкции.

(фото с сайта nocrotec.com)

Схема их подключения несколько сложнее, т.к. эти индикаторы для зажигания используют напряжение в 170В. Преобразователь из 12В=>180В может быть сделан на микросхеме MAX771. Для подачи напряжения на индикаторы используется советская микросхема

К155ИД1, которая специально для этого и была создана. Цена вопроса при самостоятельном изготовлении: около 500р за каждый индикатор и 100р за К155ИД1, все остальные детали, как писали в старых журналах, «дефицитными не являются». Основная сложность тут в том, что и ИН-хх, и К155ИД1, давно сняты с производства, и купить их можно разве что на радиорынках или в немногих специализированных магазинах.


С индикацией мы более-менее разобрались, осталось решить, какую аппаратную платформу лучше использовать. Тут есть несколько вариантов (самодельные я не рассматриваю, т.к. тем кто умеет развести плату и припаять процессор, эта статья не нужна).

Arduino


Самый простой вариант для начинающих. Готовая плата стоит недорого (около 10$ на eBay с бесплатной доставкой), имеет все необходимые разъемы для программирования. Фото с eBay:

Под Arduino есть огромное количество разных библиотек (например для тех же ЖК-экранов, модулей реального времени), Arduino аппаратно совместима с различными дополнительными модулями.
Главный минус: сложность отладки (только через консоль последовательного порта) и довольно-таки слабый по современным меркам процессор (2КБайт RAM и 16МГц).
Главный плюс: можно сделать много чего, практически не заморачиваясь с пайкой, покупкой программатора и разводкой плат, модули достаточно соединить друг с другом.

32-разрядные процессоры STM


Для тех кто захочет что-то помощнее, есть готовые платы с процессорами STM, например плата с STM32F103RBT6 и TFT-экраном. Фото с eBay:

Здесь мы уже имеем полноценную отладку в полноценной IDE (из всех разных мне больше понравилась Coocox IDE), однако понадобится отдельный программатор-отладчик ST-LINK с разъемом JTAG (цена вопроса 20-40$ на eBay). Как вариант, можно купить отладочную плату STM32F4Discovery, на которой этот программатор уже встроен, и его можно использовать отдельно.

Raspberry PI


И наконец, для тех кто хочет полной интеграции с современным миром, есть одноплатные компьютеры с Linux, всем уже наверное известные Raspberry PI. Фото с eBay:

Это полноценный компьютер с Linux, гигабайтом RAM и 4х-ядерным процессором на борту. С краю платы выведена панель из 40 пинов, позволяющая подключать различную периферию (пины доступны из кода, например на Python, не говоря о C/C++), есть также стандартный USB в виде 4х разъемов (можно подключить WiFi). Так же есть стандартный HDMI.

Мощности платы хватит к примеру, не только чтобы выводить время, но и чтобы держать HTTP-сервер для настройки параметров через web-интерфейс, подгружать прогноз погоды через интернет, и так далее. В общем, простор для полета фантазии большой.

С Raspberry (и процессорами STM32) есть одна единственная сложность — ее пины используют 3-вольтовую логику, а большинство внешних устройств (например ЖК-экраны) работают «по старинке» от 5В. Можно конечно подключить и так, в принципе заработает, но это не совсем правильный метод, да и испортить плату за 50$ как-то жалко. Правильный способ — использовать «logic level converter», который на eBay стоит всего 1-2$.
Фото с eBay:

Теперь достаточно подключить наше устройство через такой модуль, и все параметры будут согласованы.

ESP8266


Способ скорее экзотический, но довольно-таки перспективный в силу компактности и дешевизны решения. За совсем небольшие деньги (около 4-5$ на eBay) можно купить модуль ESP8266, содержащий процессор и WiFi на борту.
Фото с eBay:

Изначально такие модули предназначались как WiFi-мост для обмена по serial-порту, однако энтузиастами было написано множество альтернативных прошивок, позволяющих работать с датчиками, i2c-устройствами, PWM и пр. Гипотетически вполне возможно получать время от NTP-сервера и выводить его по i2c на дисплей. Для тех кто хочет подключить много различной периферии, есть специальные платы NodeMCU с большим числом выводов, цена вопроса около 500р (разумеется на eBay):

Единственный минус — ESP8266 имеет очень мало памяти RAM (в зависимости от прошивки, от 1 до 32КБайт), но задача от этого становится даже интересней. Модули ESP8266 используют 3-вольтовую логику, так что вышеприведенный конвертор уровней тут также пригодится.

На этом вводный экскурс в самодельную электронику можно закончить, автор желает всем удачных экспериментов.


Я в итоге остановился на использовании Raspberry PI с текстовым индикатором, настроенным на работу с псевдографикой (что вышло дешевле чем графический экран той же диагонали). Сфоткал экран настольных часов во время написания этой статьи.

Часы выводят точное время, взятое из Интернета, и погоду которая обновляется с Яндекса, все это написано на Python, и вполне работает уже несколько месяцев. Параллельно на часах запущен FTP-сервер, что позволяет (вкупе с пробросом портов на роутере) обновить на них прошивку не только из дома, но и из любого места где есть Интернет. Как бонус, ресурсов Raspberry в принципе хватит и для подключения камеры и/или микрофона с возможностью удаленного наблюдения за квартирой, или для управлением различными модулями/реле/датчиками. Можно добавить всякие «плюшки», типа светодиодной индикации о пришедшей почте, и так далее.

PS: Почему eBay?
Как можно было видеть, для всех девайсов приводились цены или фото с ебея. Почему так? К сожалению, наши магазины часто живут по принципу «за 1$ купил, за 3$ продал, на эти 2 процента и живу». В качестве простого примера, Arduino Uno R3 стоит (на момент написания статьи) 3600р в Петербурге, и 350р на eBay с бесплатной доставкой из Китая. Разница действительно на порядок, безо всяких литературных преувеличений. Да, придется подождать месяц чтобы забрать посылку на почте, но такая разница в цене думаю, того стоит. Но впрочем, если кому-то надо прямо сейчас и срочно, то наверно и в местных магазинах есть выбор, тут каждый решает сам.

Часы-будильник на микроконтроллере АТ89С2051 и DS1307

Схема самодельных часов-будильника для установки в приборную панель автомобиля. Устройство питаются от автомобильного аккумулятора. Однако, они с таким же успехом могут использоваться и дома.

В этом случае просто отсутствует подсветка дисплея, а питание осуществляется от любого сетевого адаптера, дающего напряжение не ниже 6V. Ток потребления, не считая тока подсветки, всего 5-7мА.

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

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

Принципиальная схема

В основе прибора — микросхема DS1307 (Л.1), представляющая собой часы реального времени. Данная микросхема «общается с внешним миром» посредством стандартной шины І2С.

Задача контроллера D1 состоит не в отсчете времени, а в обеспечении взаимодействия D2 с такими устройствами как плата жидкокристаллического дисплея, кнопки -органы управления, звуковой сигнализатор.

Принципиальная схема часов-будильника на АТ89С2051 и DS1307

Рис. 1. Принципиальная схема часов-будильника на АТ89С2051 и DS1307.

Поэтому, на сам отсчет времени контроллер влияния не оказывает. Это позволяет, например, вместо показанного на схеме резонатора Q1 на 6 МГц использовать другой резонатор, на меньшую частоту, например, резонатор от видеотехники на 4,43 МГц. Просто реакция меню будет медленнее.

Микросхема D1 питается от резервного гальванического источника напряжением ЗV. В идеале, это должна быть литиевая батарея, но можно использовать, например, два дисковых элемента питания от микрокалькулятора. Ток потребления — микроамперы, поэтому энергии хватает на очень долго.

Акустическая сигнализация посредством миниатюрного активного звукоизлучателя В1 типа НРА24АХ. Можно использовать любой другой активный звукоизлучатель (со встроенным генератором) на напряжение питание 4-6V. Если излучатель будет на 12V, -подключите R7 не к выходу стабилизатора А1, а к его входу.

Детали и конструкция

Схема питается напряжением 5V, получаемым с выхода стабилизатора А1. Диод VD1 защищает часы от неправильного подключения к электросхеме автомобиля. Такую же функцию несет и VD2.

В жидкокристаллическом дисплее имеется подсветка, необходимость в которой возникает только в темное время суток. То есть, тогда когда вы включаете фары.

Поэтому, цепь подсветки питается от цепи питания габаритных огней автомобиля через диод VD2 и токоограничительный резистор R8. Подобрав его сопротивление можно выбрать оптимальную подсветку.

Точность хода часов зависит от точности частоты тактового генератора D1, стабилизированного кварцевым резонатором Q2. Добиться наибольшей точности можно подстройкой С7. Контрастность дисплея регулируется подстроечным резистором R9.

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

То есть, значение кнопок постоянно меняется, согласно надписям на дисплее. Конструктивно, кнопки S1 и S2 расположены под дисплеем, — слева S2, справа S1. В общем, разобраться очень легко и особых пояснений не требуется.

Часы были собраны на макетной печатной плате, поэтому разводка платы для них не разрабатывалась. Дисплей и кнопки управления расположены на приборной панели автомобиля, на месте пластмассовой заглушки. А плата расположена глубже, в более удобном месте.

Дисплей связан с платой ленточным кабелем, а для кнопок проложены отдельные провода.

В микроконтроллер необходимо ввести управляющую программу, распечатку НЕХ-файла можно скачать ниже.

Прошивка для МК — Скачать (3 КБ).

Кожухин В. А. ([email protected])

ЭЛЕКТРОННЫЕ ЧАСЫ НА МИКРОКОНТРОЛЛЕРЕ


   Недавно спаял схему электронных часов с будильником, выполненных на популярном среди радиолюбителей микроконтроллере PIC16F628. В них используется светодиодный индикатор для отображения времени. Мне надоели всевозможные ЖКИ и хочется иметь возможность видеть время из любой точки комнаты в том числе в темноте, а не только прямо с хорошим освещением. Схема содержит минимум деталей и имеет отличную повторяемость.

Схема электронных часов на микроконтроллере

   Микроконтроллер является единственной микросхемой, используемой в данном устройстве. Для задания тактовой частоты используется кварцевый резонатор на 4 МГц. Для отображения времени использованы индикаторы красного цвета с общим анодом, каждый индикатор состоит из двух цифр с десятичными точками. Можно применить любые индикаторы с общим анодом, лишь бы каждая цифра имела собственный анод. Чтоб электронные часы были хорошо видны в темноте и с большой дистанции — старайтесь выбрать АЛС-ки чем покрупнее. 

   Индикация в часах осуществляется динамически. В данный конкретный момент времени отображается лишь одна цифра, что позволяет значительно снизить потребление тока. Аноды каждой цифры управляются микроконтроллером PIC16F628. Сегменты всех четырех цифр соединены вместе и через токоограничивающие резисторы R1 … R8 подключены к выводам порта МК. Поскольку засвечивание индикатора происходит очень быстро, мерцание цифр становится незаметным.

   Для настройки минут, часов и будильника — используются кнопки без фиксации. В качестве выхода для сигнала будильника используется вывод 10, а в качестве усилителя — каскад на транзисторах VT1,2. Звукоизлучателем является пьезоэлемент типа ЗП. Для улучшения громкости вместо него можно поставить небольшой динамик. Питаются часы от стабилизированного источника напряжением 5 вольт. В часах реализовано 9 режимов индикации. Переход по режимам осуществляется кнопками «+» и «-«. Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки примерно секунда.

   Кнопкой «Коррекция» часы переводятся в режим настроек. При этом кратковременная подсказка выводится на пол секунды, после чего корректируемое значение начинает мигать. Коррекция показаний осуществляется кнопками «+» и «-«. При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Все значения, кроме часов, минут и секунд, записываются в память и восстанавливаются после выключения питания. Если в течение нескольких секунд ни одна из кнопок не нажата, то электронные часы переходят в режим отображения времени. Нажатием на кнопку «Вкл/Выкл» включается или выключается будильник, это действие подтверждается коротким звуком. При включенном будильнике светится точка в младшем разряде индикатора. Вот прошивка и рисунок платы часов.


Поделитесь полезными схемами

ЗУ ДЛЯ АВТО

   В отличие от другого зарядного устройства, данное усовершенствованное зарядное устройство обеспечивает автоматическое поддержание аккумуляторной батареи в рабочем состоянии не давая ей разряжаться ниже установленного уровня. Описанный цикл работы устройства позволяет использовать eгo для автоматической тренировки аккумуляторных батарей циклами «заряд — разряд» при подключении к нему параллельно аккумуляторной батарее разрядного резистора.


САМОДЕЛЬНЫЙ ПАЯЛЬНИК

   Недавно у меня из строя вышел паяльник который был приобретен несколько дней назад. Китайские производители завоевали рынок своими не слишком качественными изделиями, уделяя особое внимание на внешний вид устройства, так что если решите себе новый паяльник купить, крайне не советую покупать тот, который на фотографиях, больше недели работать не будет — это десятый подобный паяльник который ломается!


СХЕМА СЕНСОРНОГО ВЫКЛЮЧАТЕЛЯ
    Сенсорный выключатель очень интересное устройство. Оно предназначено для автоматического включения и выключения различных приборов касанием пальца. В современной технике они нашли широкое применение. Данное устройство может служить в качеств выключателя света, если применить реле для управления большой нагрузкой.

ПЕРЕДАТЧИК НА 1 КИЛОМЕТР

     Делаем серьёзный радиопередатчик для дальности связи с радиоприёмником УКВ более километра.
 



Часы-будильник с ДУ на PIC16F628A — Устройства на микроконтроллерах — Схемы устройств на микроконтроллерах

Данное устройство представляет из себя обычные электронные часы с будильником, но управляются они с пульта дистанционного управления на ИК лучах. Часы реализованы программно, индикация динамическая. В схеме предусмотрено резервное питание, на случай отключения эл.энергии. Будильник реализован на простой «пищалке» с встроенным генератором — buzzer.

Пульт управления реализован на микроконтроллере PIC12F629. Питается пульт от обычной батарейки для материнской платы компьютеров. Если не нажата ниодна из кнопок — микроконтроллер находится в режиме SLEEP и практически не потребляет тока. Как только кнопка нажата — микроконтроллер «просыпается» и формирует кодовую посылку на ИК светодиод.

При включении питания на дислей выводится текущее время, двоеточие мигает. Если нажать кнопку CLOCK диплей покажет время на которое установлен будильник (двоеточие не мигает), либо —:— , если будильник выключен. Повторное нажатие на кнопку CLOCK, или через 6 секунд — девайс будет опять отображать текущее время. Нажатие кнопки COR переводит устройство в режим коррекции часов, если в данный момент индицируются часы; либо в режим установки будильника, если на дисплее отображается будильник. Первое нажатие — мигают часы, кнопкой +1 устанавливаются часы, второе нажатие кнопки COR — мигают минуты — кнопкой +1 устанавливаются минуты, третье нажатие — выход из режима коррекции часов (или будильника). Если корректируется время будильника — то он автоматически включается. 

Когда дисплей индицирует время установки будильника (включается кнопкой CLOCK) — нажатие кнопки +1 включает, а повторное нажатие выключает будильник, дисплей, соответственно, показывает время установки будильника или —:— (двоеточие не мигает). Если будильник выключен, то время его установки не сбрасывается. 

В режиме индикации часов (двоеточие мигает) — нажатие кнопки +1 — переводит часы в «ночной» режим — в этом режиме индикатор полностью гаснет и мигает только двоеточие, что снижает энергопотребление и не создает лишней ночной подсветки. При этом нажатие любой кнопки на пульте, а также срабатывание — выводит часы из ночного режима. 

Если сработал будильник — звучит звуковой сигнал в течение одной минуты, все цифры на дислее мигают. Нажатие любой кнопки на пульте управления выключают будильник (не сбрасывая времени его установки).

Для резервного питания часов, также как и в пульте управления, использована батарейка от материнской платы компьютера. Ее напряжение 3V, поэтому микроконтроллер в часах нужно применить низковольтный — PIC16LF628A. Если же применить батарейку с напряжением более 3,6V то подойдет и обычный PIC16F628A. Ну и совсем идеальный вариант — применить микроконтроллер с технолигией NANOWATT — PIC16F819 (Внимание! для этого микроконтроллера используется другая прошивка).




Скачать архив файлов — рисунки печатных плат и прошивки микроконтроллеров. 

Цепь цифровых часов

с микроконтроллером 8051

Часы, построенные с будильником, называются будильником, который включает в себя предварительно установленное время, чтобы вспомнить что-то или разбудить людей в это время, сгенерировав будильник. Будильники работают как напоминания, чтобы разбудить людей в заданное время. Эти часы разработаны с зуммерами, датчиками и огнями, чтобы предупредить людей. Звук тревоги может быть остановлен нажатием кнопки или автоматически остановлен с помощью звукового сигнала в течение определенного времени.Современные будильники оснащены конвертированными шпионскими камерами или радио AM / FM. Эти сигналы могут быть как в традиционной, так и в цифровой форме с различными моделями мультфильмов. В этой статье рассказывается о цифровом будильнике с принципиальной схемой цифровых часов и его работе.

Digital Alarm Clock Digital Alarm Clock Цифровые будильники

Что такое цифровые будильники

Цифровые часы — это один из видов часов, используемый для отображения времени в виде цифр, включает символы или цифры. Эти часы часто связаны с электронными приводами, но термин «цифровой» относится только к ЖК-дисплею, а не к механизму привода.Цепь цифровых часов использует колебания 50-60 Гц переменного тока. Большинство цифровых будильников отображают время суток в форме 12 часов или 24 часов с указанием AM или PM. Большинство цифровых будильников используют ЖК-дисплей, семисегментный дисплей или VFD.

Цифровые часы работают от электросети и должны сбрасывать время, когда питание отключено. Большинство часов не имеют резервного аккумулятора, поэтому это может привести к тому, что в установленное время не будет слышен сигнал будильника. Чтобы преодолеть эту проблему, многие цифровые будильники доступны для работы с батареей во время отключения питания.Коммерческие цифровые часы обычно более последовательны, чем потребительские часы. Потому что эти часы обеспечивают резервное копирование, чтобы поддерживать время работы от многолетней батареи при отключении питания.

Цифровой будильник на основе микроконтроллера 8051 с ЖК-дисплеем

Необходимые компоненты этой схемы цифрового часов на микроконтроллере 8051 с ЖК-дисплеем в основном включают ЖК-дисплей, микроконтроллер AT89C51, пресет, пьезо-зуммер и динамик. Функция каждого компонента этого проекта обсуждается ниже.

ЖК-дисплей

ЖК-дисплей 16 × 2 является электронным дисплеем и используется в широком спектре приложений. Этот вид дисплеев используется в многосегментных светодиодах и 7-сегментных дисплеях. На этом ЖК-дисплее каждый символ отображается в матрице 5 × 7 пикселей. Этот ЖК-дисплей состоит из двух регистров, это регистр данных и регистр команд. Регистр команд — это приказ для ЖК-дисплея выполнять такие задачи, как очистка экрана, инициализация, управление отображением и установка положения курсора.Регистр данных (значение символа ASCII) используется для отображения сохраненных данных на ЖК-дисплее.

LCD Display LCD Display ЖК-дисплей
Микроконтроллер AT89C51

Микроконтроллер AT89C51 относится к микроконтроллеру 8051. Он имеет 128 байт оперативной памяти и 4 КБ PEROM. Его можно удалить и перепрограммировать до 1000 раз. Он состоит из 40 контактов и разделен на четыре порта, а именно P1, P2, P3 и P4. Эти четыре порта являются 8-битными двунаправленными портами. За исключением порта P0, остальные порты используются как порты i / p и o / p.

PCBWay PCBWay
Microcontroller AT89C51 Microcontroller AT89C51 Микроконтроллер AT89C51 Порты

P0 и P2 используются для предоставления старшего и младшего байтовых адресов, когда эти порты подключены к внешней памяти.Порт 3 состоит из мультиплексированных выводов для различных функций, таких как аппаратные прерывания, последовательная связь, таймеры ввода / вывода и операции чтения или записи из внешней памяти. Этот микроконтроллер имеет встроенный UART для последовательной связи. Работа UART может быть выполнена на основе программы с различными скоростями передачи.

Preset

Preset — это трехкомпонентный электронный компонент, используемый для изменения сопротивления в цепи путем регулировки вращающегося управления на нем. Управление может осуществляться с помощью аналогичного инструмента и отвертки.Сопротивление не колеблется линейно, но слегка изменяется логарифмическим или экспоненциальным образом. Такие переменные резисторы используются для регулировки чувствительности с помощью датчика. Переменное сопротивление приобретается через переднюю клемму и оставшиеся две другие задние клеммы. Задние две клеммы обеспечивают устойчивое сопротивление, которое отделено от передней ножки. Поэтому всякий раз, когда используются задние две клеммы, он действует как стабильный резистор. Предварительные установки определяются их статическим значением сопротивления.

Preset Preset Preset
Piezo Buzzer

Пьезо-зуммер используется для создания звука, основанного на противоположности пьезоэлектрическому эффекту.Этот зуммер может использоваться для оповещения пользователя о событии, эквивалентном переключающему действию, входу датчика или сигналу счетчика. Пьезо-зуммер используется в цепях сигнализации.

Piezo Buzzer Piezo Buzzer Piezo Buzzer
Зуммер

Зуммер — это преобразователь, который преобразует электрическую энергию в звук. Когда на сигнал i / p динамика подается электрический сигнал, он создает звуковые волны. Оставшийся контакт подключен к клемме GND. Динамик обычно используется для генерации звука в ответ на o / p датчика.Например, в случае тревоги злоумышленника, когда происходит прерывание, громкоговоритель включается

Buzzer Buzzer Принципиальная схема цифровых часов Buzzer

Это улучшенная версия схемы цифровых часов с ЖК-дисплеем. Он имеет дополнительную функцию для установки будильника в первую очередь. Для сброса дисплей побуждает пользователя установить будильник. Нажатием соответствующих переключателей можно непрерывно устанавливать компоненты. Эти переключатели являются активными низкими переключателями, и они могут обеспечить заземление для эквивалентных i / p-выводов микроконтроллера.Режим AM и PM фиксируется перемещением переключателя между клеммой VCC и GND. GND будет фиксировать CLK в режиме AM, в то время как Vcc будет устанавливать в режиме PM

Digital Clock Circuit Diagram Digital Clock Circuit Diagram Принципиальная схема цифровых часов

После того, как аварийный сигнал зафиксирован, вывод аварийного сигнала подключается к VCC через переключатель. Процесс установки времени напоминает тот же, что и с простыми цифровыми часами. Когда время цифровых часов становится эквивалентным времени будильника, на ЖК-дисплее появляется сообщение «Тревога», и на некоторое время вывод тревоги микроконтроллера AT89C51 становится высоким.Этот вывод тревоги может быть связан с зуммером или динамиком для генерации тревоги в заранее установленное время.

Это все о схеме цифровых часов, которая разработана с использованием микроконтроллера AT89C51, Preset, Piezo Buzzer, Buzzer и ЖК-дисплея. Мы надеемся, что у вас есть лучшее понимание этого проекта цифрового будильника. Кроме того, любые вопросы, касающиеся этой концепции или проектов электроники, пожалуйста, оставьте свой отзыв, комментируя в разделе комментариев ниже. Вот вопрос для вас, каковы применения цифрового будильника?

Фото Кредиты:

.
DS1307 Схема будильника в реальном времени с семью сегментами — 16F88 ~ Scorpionz

Обновления

  • 31/01/2016 — Добавлено: функция ограничения часового звонка
  • 27/10/2019 — Исправлено: Почасовая ошибка задержки звонка (v3)
  • 27/10/2019 — Исправлено: увеличено время отображения данных в автоматическом режиме (v3)

Будильник

Это самые новые часы, которые я сделал с помощью микросхемы часов реального времени DS1307.В отличие от других схем часов, которые я опубликовал, эта схема часов имеет все необходимые функции, такие как почасовой сигнал, будильник, коррекция смещения времени и т. Д. Кроме того, в качестве дополнительной функции в нее также входит датчик температуры.

Эти часы имеют восемь режимов отображения (включая режим ожидания).

  • Режим 1 — секунды дисплея
  • Режим 2 — Время отображения
  • Режим 3 — Дата показа
  • Режим 4 — Показать год
  • Режим 5 — Индикация ошибки
  • Режим 6 — Отображение температуры
  • Режим 7 — Показать время, дату и температуру непрерывно
  • Режим 8 — Режим ожидания

DS1307 Будильник

В этом проекте PIC используются микроконтроллер PIC16F88, часы реального времени DS1307, датчик температуры LM35 и общий сегментный катод SSD-5461AG с семисегментным дисплеем.(Если вы не можете найти этот дисплей, используйте четыре обычных катодных семисегментных дисплея).

PIC16F88 использовал свой внутренний генератор и работает на частоте 8 МГц. Мы можем снизить стоимость и сложность схемы, а также сэкономить контакт микроконтроллера, используя внутренний генератор. RA0 и RA1, сконфигурированные как цифровые и аналоговые, могут управлять семисегментным и считывать напряжение LM35.

Часы реального времени DS1307 (RTC) — это 8-контактное устройство, использующее интерфейс I2C. Он имеет восемь регистров чтения / записи, которые хранят информацию.Этот IC будет вести хронометраж, и он не только отслеживает время, но также дату и день недели. DS1307 RTC — это часы / календарь с двоичным кодом (BCD). Поэтому данные, считанные с DS1307, должны быть преобразованы в формат BCD. Наиболее важным является бит остановки тактовой частоты (CH), то есть бит 7 адреса 0. Это регистр, который контролирует «секунды», и бит CH должен быть сохранен, иначе микросхема останавливает тактовую частоту. Запись в ноль этого бита сбрасывает бит CH, чтобы часы работали.Поэтому при первом использовании мы должны установить «секунды». В противном случае часы не будут работать.

Внутренний будильник

Установка времени
С помощью кнопки MODE вы можете изменить режим отображения, и текущее состояние будет сохранено в Eeprom.
Кнопка SET может использоваться для редактирования времени, даты, будильника и т. Д. При нажатии кнопки SET часы перейдут в режим редактирования, и два дисплея отключатся. Вы можете редактировать значения на другом дисплее, нажимая кнопки ВВЕРХ и ВНИЗ.Для редактирования отключить отображаемые значения снова нажмите кнопку SET. Нажмите кнопку SET еще раз, чтобы вернуть часы в нормальный режим. Если часы находятся в нормальном режиме, кнопка UP также может использоваться для изменения формата времени (12 часов или 24 часа), а кнопка DOWN может использоваться для включения или выключения будильника.

При изменении времени на 12-часовой режим светодиодный индикатор будет отображать состояние AM / PM. Будильник включается десятичной точкой последнего семисегментного дисплея. При желании вы также можете подключить к нему отдельный светодиод.

Исправление ошибок
Удивительно сделать точный генератор с частотой 32 кГц довольно сложно.Это связано с тем, что драйверы низкоскоростных генераторов рассчитаны на работу с низким энергопотреблением. Это означает высокий импеданс и, следовательно, низкий ток, что делает драйвер чрезвычайно чувствительным к шуму (или любым соседним сигналам, которые могут емкостным образом соединяться с кристаллическим проводом). Потому что при использовании DS1307 мы не можем получить точное время. Поэтому я добавил простой механизм исправления ошибок для этих часов.

Сначала установите часы на текущее время (время компьютера или интернета) и оставьте их работать до 24 часов.
Через 24 часа проверьте время на часах и на компьютере.Если время дрейфует, проверьте, сколько секунд дрейфует …? (Используйте режим часов 1 для просмотра секунд)

Например. 1: Время ПК: 16:30:00 Время часов: 16:30:05
+5 секунд дрейфовал. Поэтому мы должны сократить время.

Я использовал Eeprom (2) для хранения этих значений, и значение по умолчанию — 30 (0x1E). Смотрите рисунок Eeprom.
Теперь просто замените его на 25 (0x19). Вы должны использовать шестнадцатеричные значения для этого.

Например 2: Время ПК: 16:30:00 Время часов: 16:29:58
-2 секунды дрейфовали. Поэтому мы должны увеличить время.
Перезаписать значение Eeprom (2) с 32 (0x20).

Ограничение часового звонка
С помощью этой настройки вы можете отключить функцию почасового оповещения на определенный период времени. Устройства Eeprom адреса 6 и 7 используют для этого. значения по умолчанию: 0x00 и 0x18 (0 и 24).

Eeprom (6) ≤ Ограничение перезвона

Например: Stop Chime с 21.00 до 6.00
Eeprom (6) = 0x06 и Eeprom (7) = 0x15
6 ≤ ограничение звонка <21

Eeprom 16F88

Сообщение от :

Обратите внимание: все содержимое этого блога предназначено только для некоммерческих целей.

,
8×32 светодиодная матрица часов реального времени с сигналом тревоги — 18F2550 ~ Scorpionz

Большинство энтузиастов электроники проявляют большой интерес к светодиодным матричным дисплеям. Так что, если вы один из них, это для вас. Если вы совсем не знакомы со светодиодными матрицами, ознакомьтесь с этими двумя экспериментальными учебными пособиями. Основы отображения светодиодной матрицы и прокрутки текстовых сообщений на светодиодной матрице.

Светодиодные Матричные Часы

Светодиодные матричные дисплеи очень популярны в наши дни, и большинство людей любят это, но задаются вопросом, как это можно сконструировать.Так что я решил предоставить этот пост для вас. Этот проект посвящен созданию часов реального времени на основе одноцветного светодиодного матричного дисплея. Он может отображать время, дату и комнатную температуру тревоги с функцией звонка. Вы можете управлять этими часами с помощью четырех переключателей (Mode, Enter, Up, Down) и можете изменять скорость прокрутки с помощью RV2.
Матричные Часы

Основной микросхемой этого проекта является микроконтроллер PIC16F2550, который управляет всеми секциями и отображает светодиодную матрицу с помощью сдвиговых регистров 74HC595 и ИС RTC DS1307.В качестве усилителя я выбрал TDA7052 из-за низкой стоимости и почти без компонентов. Но вы можете выбрать любой усилитель для него. Чтобы отреагировать на функциональные клавиши, вам нужно нажать и удерживать клавиши и не забудьте поместить 100-330 резисторов между сдвиговыми регистрами и дисплеями, если они слишком яркие.

Это встроено в некоторые события и в соответствии с ним часы меняют свой желанный массаж и сигнал тревоги.

События;

  • Новый год — 1 января
  • Весак — май
  • Рождество — 25 декабря
  • Валентина — 14 февраля и
  • День Рождения — Определить пользователя

Вы можете добавить пользовательскую дату для дня рождения, изменив значения Eeprom (1) для дня и Eeprom (2) для месяца.Также используется шестнадцатеричное значение для этого.
Пример: для 25 июня -> Eeprom (1) = 19 и Eeprom (2) = 06

LED Matrix Clock Предварительный просмотр


Проверено и работает!

Сообщение от :

Обратите внимание: все содержимое этого блога предназначено только для некоммерческих целей.

,
семисегментная простая схема цифровых часов — 16F628 ~ Scorpionz
Схема часов

Это очень простая схема часов. Единственная микросхема, использованная в этой схеме, была микроконтроллером 16F628A pic. Эта микросхема очень дешевая, и вы можете получить ее в любом электронном магазине запчастей. Четыре общих катодных семисегментных дисплея используются для отображения времени. Мы не можем получить много точного времени, используя это. Однако мы можем получить разумную точность, если правильно откалибруем эту схему.Вы можете откалибровать эти часы, изменив значение «Drift». Переменная «Drift» используется для установки калибровки, и ее значение должно быть в диапазоне от 0 до 255. В моем коде значение «Drift» равно 198, и это не идеальное значение для него. Вы можете получить частоту 0,5 Гц от RB7, если ваше значение «Drift» верное.

Всего в этой схеме используются четыре кнопки, а кнопка RESET является дополнительной. Кнопки Min и Hour используются для обновления времени, а кнопки Mode изменяют режим отображения. Доступны два режима отображения. В начале он покажет часы и минуты на дисплее.Вы можете просмотреть секунды, нажав кнопку Mode. Пожалуйста, замените вентиль NOT на NPN-транзисторы, такие как BC547, и установите резисторы 1k-10k для базы перед подключением к микроконтроллеру.

MikroC используется в качестве языка программирования, но вы можете легко конвертировать его в MikroC pro или любой другой язык. Потому что код очень прост. Микроконтроллер работает со своими внутренними часами на частоте 4 МГц. Файлы проекта могут быть загружены снизу с исходными файлами, файлами Proteus и Hex.

Сообщение от :

Обратите внимание: все содержимое этого блога предназначено только для некоммерческих целей.

,

alexxlab

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *