РадиоКот :: Простые часы на микроконтроллере.
РадиоКот >Схемы >Цифровые устройства >Бытовая техника >Простые часы на микроконтроллере.
Представляю на ваш суд простые цифровые часы на микроконтроллере. Индицируют они только часы и минуты. Всяческие новороты, типа будильника и даты, отсутствуют, так как основной задачей было просто индикация времени в темное время.
В качестве индикатора был использован 7-сегментный 4-х разрядный индикатор с общим катодом и объединенными одноименными сегментами. Почему объединенными? Да, просто на плате меньше дорожек и перемычек и все намного компактнее при использовании динамической индикации. О которой, кстати, можно почитать тут.
И вот что получилось на одностороннем стеклотекстолите размерами 60х40 мм:
Кнопкой S2 устанавливают минуты, а кнопкой S3 – часы. Я еще сделал кнопку на сброс (S1), которая позволяет установить время на полночь, иногда бывает полезно, хотя ее можно не устанавливать. Точка, разделяющая часы и минуты, моргает с частотой 1,25 Гц, то есть 0,4 секунды горит, 0,4 сек. нет.
Файлы:
Печатная плата в формате SL 4.0
Прошивка с исходником
Вопросы, как всегда в Форум.
Как вам эта статья? | Заработало ли это устройство у вас? |
Эти статьи вам тоже могут пригодиться:
Часы
Прибор предназначен для определения текущего времени или продолжительности временных интервалов
Автомобильные часы – вольтметр на ATtiny261
Этот простой прибор предназначен для установки в автомобиль и включает в себя функции отображения времени и напряжения бортовой сети в пределах 10… 16B.
Автор: u33
7
0 [0] Часы на газоразрядных индикаторах
В статье описывается сборка часов на газоразрядных индикаторах. Эти оригинальные и необычные часы могут стать отличным дополнением интерьера.
Автор:
BARS_
979
4.9 [9]
Похожие статьи: Таймер присутствия на PIC16F628A
Таймер присутствия каждый день на определенное время включает свет, создавая эффект присутствия. А также часы с резервным питанием.
Автор:
VIG
4
0 [0] Часы на газоразрядных индикаторах с ATmega8
Часы размещены в деревянном корпусе, сделанным “Под старину” – настоящее украшение для любого дома! В конструкции используются четыре газоразрядных индикатора LC513. Для точного расчета времени применена микросхема PCF8583. Сердцем устройства является микроконтроллер ATMega8. Чтобы не настраивать заново время при отключении питания, используется электролитический конденсатор высокой емкости. Лампы питаются от напряжения 150В.
Автор:
dossalab
25
0 [0]
Похожие статьи: LED часы на ATtiny2313 и DS1307
LED часы на семисементных индикаторах на микроконтроллере ATtiny2313 и микросхеме DS1307. Считают время даже когда выключены!
Автор:
139 
4.4 [5]
Похожие статьи: 2012 г.Часы на Arduino с использованием стандартного индикатора
Эти простые часы на Arduino прекрасно справляются с поставленной на них задачей индикации времени. Они поддерживают относительно точное время без использования RTC микросхем, для индикации которого используется стандартный дисплей, применяемый во многих готовых часах. Также возможно регулировать яркость цифр.
Автор:
Т@р@с
2
0 [0] Электронные часы-будильник на газоразрядных индикаторах и МК
Завораживающее неоновое свечение отчасти похожее на свечение электровакуумных ламп, похожий внешний вид. Все это дает ощущение прошлого на этапе освоения, познания и начала применения электричества, насколько можно представить по книгам, фильмам, иллюстрациям. Но обо всем по-порядку…
Автор:
crazzian
396
4.9 [7]
Похожие статьи: Модернизация бортового компьютера на ATmega8
После публикации статьи Бортовой компьютер (часы, двухканальный термометр, вольтметр на ATmega8 и LCD 16х2) прошел уже почти год, и за это время я получил много писем с просьбами изменить прошивку под нужды пользователей. Я решил добавить в схему устройства кнопки, организовать меню с настройками, чтобы каждый мог настроить БК под себя.
Автор:
u33
373
5 [6]
Похожие статьи: Весь список теговМногофункциональные цифровые часы на микроконтроллере Attmega8. Схема и описание
Данная статья описывает конструкцию цифровых часов на микроконтроллере Attmega8, которые снабжены секундомером, будильником, таймером обратного отсчета. В часах реализована функция отображения дня недели и даты с возможностью комбинированного отображения даты и времени. Имеется автоматическое переключение на летнее и зимнее время, а так же учет високосного года.
Дисплей построен на шести 7-сегментных светодиодных индикаторов с регулировкой яркости. Часы также оснащены резервным питанием от батарей.
Описание конструкции микроконтроллерных часов
Как уже было сказано выше, часы имеют шестизначный дисплей, состоящий из двух трехзначных дисплеев T-5631BUY-11, работающий в мультиплексном режиме. Аноды индикаторов сгруппированы по разрядам и переключаются с помощью транзисторов Т1…Т6.
Катоды сгруппированы в сегменты и питаются непосредственно от микроконтроллера IO1 Attmega8. Частота мультиплексирования составляет 100Гц.
Часы контролируется низкочастотным кварцевым резонатором X1 с частотой 32768 Гц. В результате активации бита CKOPT, разрешающего использование внутренних конденсаторов 36пф для кварца, отпадает необходимость в использовании внешних конденсаторов.
В случае возникновении проблем с запуском генератора, можно попробовать подключить 2 конденсатора по 22пф. Для еще большей точности часов можно вообще отключить внутренние конденсаторы (сбросить бит СKOPT) и оставить только внешние.
Пъезоизлучатель REP1 издает звуковой сигнал будильника и сигнализирует о завершении работы таймера. Во время звукового сигнала на выводе 16 (порт PB2) появляется лог.1. Этот сигнал можно использовать для управления какой-либо нагрузкой.
Управление часами производится тремя кнопками — минуты, часы и режим. Кнопки подключены через резисторы, которые защищают порты микроконтроллер Attmega8. Схема питается от источника 5 вольт (7805). Потребление тока в основном зависит от числа активных индикаторов, а так же от степени настройки яркости.
При максимальной яркости ток потребления доходит до 60 мА. Часы снабжены резервной батареей питания. Во время работы от батареи, часы переходят в экономичный режим, при котором дисплей выключен. Так же в этом режиме не активны и кнопки за исключением случая, когда необходимо отключить звуковой сигнал.
Напряжение резервного питания от 3 до 4,5 В. Это может быть одна батарея на 3В, три NiMH или NiCd по 1,2 В или один аккумулятор Li-Pol или Li-Ion (от 3,6 до 3,7 В). Ток потребления от 3В батареи составляет всего лишь 5…12мA. Время автономной работы часов в экономичном режиме от батареи 3В типа CR2032 со стандартной емкостью 200mAh теоретически должно хватить примерно на 2,5 — 3 лет.
Программное обеспечения для микроконтроллера находится в конце статьи. Биты конфигурации необходимо выставить следующим образом:
Управление часами
Часы управляются с помощью TL1-минута, час-TL2 и TL3-режим. Кнопки часы и минуты используются в режиме часов для назначения часов и минут. В других режимах они имеют различные функции. Кнопка режима переключает между различными режимами, которых в общей сложности 8:
Режим 1-й — Часы
В этом режиме на дисплее отображается текущее время в формате «ЧЧ.ММ.СС». Кнопка часов используется для установки часов. Кнопка минут для установки минут. При ее нажатии происходит сброс секунд.
Режим 2-й — Включение перехода на летнее время и установки года
Здесь Вы можете включать и выключать автоматический переход между летним и зимним временем и установить год. Данные следующего формата «AC ‘RR» (АС – автоматическое время, пробел, последние две цифры года).
Режим 3-й — Таймер обратного отсчета
Это режим позволяет организовать обратный отсчет от заданного значения до нуля. По истечении этого времени раздастся звуковой сигнал и светится светодиод LED1. Звуковой сигнал может быть остановлен нажатием кнопки Режим. Данные следующего формата «ЧЧ.ММ.СС». Максимально возможное значение составляет 99.59.59 (почти 100 часов).
Режим 4-й – Комбинированный вывод информации
В этом режиме, попеременно показывается:
- текущее время в формате «ЧЧ.ММ.СС»
- дата в формате «AA.DD.MM.»
Каждый формат отображается в течение 1 секунды. В этом режиме используются кнопки Часов и Минут, для регулировки яркости дисплея (Часы-, Минуты+). Яркость изменяется логарифмически в 6 этапов: 1/1, 1/2, 1/4, 1/8, 1/16 и 1/32-й. По умолчанию установлено 1/2
Режим 5-й — Установка дня недели и режим работы будильника
В этом режиме можно установить день недели — с понедельника по воскресенье (отображается как пн, вт, ср, чт, пт, сб, вс), включать будильник и выбирать его режим работы. Данные следующего формата «AA AL._» (день недели, пробел, AL., Настройка будильника).
Кнопка часов устанавливает день недели. Кнопка минут используется для включения/выключения звукового сигнала будильника и выбора режима его работы: «AL._» = будильник не активный, «AL.1″ = будильник сигналит 1 раз (затем автоматически переходит в положение»AL._»), «AL.5» = сигнал будильника только в будние дни (пн-пт, кроме сб-вс), «AL.7» = будильник звонит каждый день
Режим 6-й – Установка дня недели и даты
Кнопка часов позволяет установить день месяца. Кнопка минут позволяет установить месяц.
Режим 7-й — Секундомер
Секундомер позволяет измерять время с точностью 0,1 сек. Максимальное время измерения составляет 9.59.59.9 (почти 10 часов). Данные следующего формата «H.MM.SS.X». Кнопка минут используется для запуска и остановки секундомера. Кнопка часов используется для сброса.
Режим 8-й — Будильник
Этот режим используется для отображения и установить время будильника (ALARM). Данные следующего формата «HH.MM.AL». Кнопка Минуты устанавливает минуту будильника, кнопку Часы устанавливает час будильника.
Ниже приведена схема аналогичных часов, имеющие индикатор с общим катодом
Скачать прошивку с общим анодом (37,7 KiB, скачано: 1 061)
Скачать прошивку с общим катодом (29,9 KiB, скачано: 502)
http://danyk.cz
«Тикающие» часы с будильником на микроконтроллере 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.
Фото и видео часов
Часы собраны в корпусе из под нерабочей «электроники».Простые часы на микроконтроллере AVR
Схема и программа очень простых часов на микроконтроллере AVR с использованием микросхемы реального времени DS1307
Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“
Сегодня, уважаемые радиолюбители, вашему вниманию предлагается очень простая схема часов на микроконтроллере AVR и часов реального времени с последовательным интерфейсом I2C DS1307.
Конструкция собрана на микроконтроллере ATyni26 (просто именно этот МК был под рукой). Но вы можете применить любой другой МК, главное чтобы у него было 13 свободных входов – 11 для вывода текущего времени на четырехразрядный семисегментный светодиодный индикатор и 2 вывода – на кнопки установки и коррекции времени.
Схема часов:
В схеме применены следующие детали:
– Микроконтроллер – ATyni26 в DID корпусе
– Часы реального времени – DS1307 в DIP корпусе
– Кварц – 32,768 кГц, с входной емкостью 12 пф (можно взять с материнской платы компьютера), от этого кварца зависит точность хода часов
– резервное питание DS1307 – 3 вольтовый литиевый элемент CR2032
– 4-разрядный семисегментный светодиодный индикатор – FYQ-5641UB -21 с общим катодом (ультраяркий, голубого цвета свечения)
– все транзисторы – NPN-структуры, можно применить любые (КТ3102, КТ315 и их зарубежные аналоги), я применил ВС547С
– микросхемный стабилизатор напряжения типа 7805
– все резисторы мощностью 0,25 ватт
– полярные конденсаторы на рабочее напряжение 50 вольт
Ток потребления устройством составляет до 30 мА.
Для питания конструкции можно использовать любое ненужное зарядное устройство от телефона или подходящий блок питания с выходным напряжением 7-9 вольт.
Общение микроконтроллера с часами DS1307 происходит по шине I2C и организовано программным путем.
Батарейку резервного питания часов DS1307 можно и не ставить, но в этом случае, при пропадании напряжения в сети, текущее время придется устанавливать заново.
Печатная плата устройства не приводится, конструкция была собрана в корпусе от неисправных механических часов. Светодиод (с частотой мигания 1 Гц) служит для разделения часов и минут в конструкции.
Работа программы.
Тактовая частота работы микроконтроллера – 1 мГц (заводская установка, FUSE-биты трогать и устанавливать не надо). Размер программы – 1 килобайт.
При запуске программы происходит:
– запуск таймера Т0 с предустановленной частотой СК/8 и вызовом прерывания по переполнению (при такой предустановленной частоте вызов прерывания происходит каждые 2 миллисекунды)
– инициализация портов (порты РА0-6 и РВ0-3 настраиваются на вывод, РА7 и РВ6 на ввод)
– инициализация шины I2C (выводы РВ4 и РВ5)
– при первом запуске, или повторном запуске при отсутствии резервного питания DS307, проверяется 7 бит (СН) нулевого регистра DS1307 и происходит переход в первоначальную установку текущего времени. При этом, кнопка S1 – для установки времени, кнопка S2 – переход к следующему разряду. Установленное время – часы и минуты записываются в DS1307 (секунды устанавливаются в ноль), а также вывод SQW/OUT (7-й вывод) настраивается на генерацию прямоугольных импульсов с частотой 1 Гц
– разрешается глобальное прерывание
– программа переходит в цикл с опросом копки S2
При переполнения счетчика таймера Т0 программа переходит к обслуживанию прерывания (каждые 2 мс):
– считывается текущее время с DS1307 которое записывается в четыре переменные SRAM (десятки часов, единицы часов, десятки минут, единицы минут)
– подпрограммой вывода текущего времени производится динамическая индикация текущего времени на светодиодном индикаторе
– при нажатии кнопки S2 программа запрещает глобальное прерывание и переходит в подпрограмму коррекции времени (кнопками S1 и S2 устанавливаются десятки и единицы минут, затем, с 0 секунд, нажатием кнопки S2 происходит запись уточненного времени в DS1307, разрешение глобального прерывания и возвращение в основную программу).
Примененные в схеме часы DS1307 позволяют выводить на индикацию секунды, минуты, часы, день недели, дату и год.
Если в схеме вместо светодиодных индикаторов применить LCD дисплей, к примеру WH0802 (двухстрочный, с выводом восьми символов в строке) или аналогичный, то можно организовать полноценные часы с полным выводом текущего времени, а питание устройства организовать от гальванических элементов или аккумуляторных батарей.
Расположение выводов микроконтроллера ATyni26:
Расположение выводов DS1307:
Типовая схема подключения D1307:
Рекомендуемая схема подключения кварца к DS1307:
Общение микроконтроллера с часами реального времени DS1307 организовано программным путем, поэтому в схеме можно применить микроконтроллер у которого нет аппаратного модуля I2C.
Программа написана в среде Algorithm Builder, и если вы используете эту программную среду, то сможете ознакомиться с алгоритмом общения микроконтроллера с другими устройствами по шине I2C (в алгоритме подробно прокомментирована каждая строчка).
Даташит DS1307 на русском (312.1 KiB, 1,878 hits)
Часы на ATyni26 в Algorithm Builder (8.2 KiB, 1,823 hits)
Программа часов на ATyni26 в HEX коде (3.1 KiB, 1,675 hits)
Схема часов в формате sPlan7 (119.3 KiB, 6,171 hits)
С51 (YSZ-4) Электронные часы-конструктор на микроконтроллере
Данные часы уже несколько раз обозревались, но я надеюсь, что мой обзор будет тоже Вам интересным. Добавил описание работы и инструкцию.Конструктор покупался на ebay.com за 1.38 фунтов (0.99+0.39 доставка), что эквивалентно 2.16$. На момент покупки это самая низкая цена из всех предложенных.
Доставка заняла около 3х недель, набор пришел в обычном полиэтиленовом пакетике, который в свою очередь был упакован в небольшой «пупырчатый» пакет. На выводах индикатора был небольшой кусочек пенопласта, остальные детали были без какой либо защиты.
Из документации только небольшой листочек формата А5 со списком радиодеталей с одной стороны и принципиальной электрической схемой с другой.

1. Принципиальная электрическая схема, используемые детали и принцип работы

Основой или «сердцем» часов является 8-ми разрядный КМОП микроконтроллер AT89C2051-24PU оснащенный Flash программируемым и стираемым ПЗУ объемом 2кб.
Узел тактового генератора собран по схеме (рис.1) и состоит из кварцевого резонатора Y1 двух конденсаторов C2 и С3, которые образуют вместе параллельный колебательный контур.

Изменением емкости конденсаторов можно в небольших пределах изменять частоту тактового генератора и соответственно точность хода часов. На рисунке 2 показан вариант схемы тактового генератора с возможностью регулировки погрешности часов.Узел начального сброса служит для установки внутренних регистров микроконтроллера в начальное состояние. Он служит для подачи после подключения питания на 1 вывод МК единичного импульса длительностью не менее 1 мкс (12 периодов тактовой частоты).
Состоит из RC цепочки, образуемой резистором R1 и конденсатором C1.
Схема ввода состоит из кнопок S1 и S2. Программно сделано так, что при одиночном нажатии любой из кнопок в динамике раздается одиночный сигнал, а при удержании двойной.
Модуль индикации собран на четырехразрядном семисегментном индикаторе с общим катодом DS1 и резистивной сборке PR1.
Резистивная сборка представляет собой набор резисторов в одном корпусе:

Звуковая часть схемы представляет собой схему собранную на резисторе R2 10кОм, pnp транзисторе Q1 SS8550(выполняющего роль усилителя) и пьезоэлемента LS1.
Питание подается через разъем J1 с подключенным параллельно сглаживающим конденсатором C4. Диапазон питающих напряжений от 3 до 6В.
2. Сборка конструктора
Сборка трудностей не вызвала, на плате подписано, куда какие детали паять.
Много картинок – сборка конструктора спрятана под спойлером
3. Установка текущего времени, будильников и ежечасового сигнала.
После включения питания дисплей находится в режиме («ЧАСЫ: МИНУТЫ») и отображает время по умолчанию 12:59. Ежечасный звуковой сигнал включен. Оба будильника включены. Первый установлен на время срабатывания 13:01, а второй – 13:02.

При каждом кратковременном нажатии на кнопку S2 дисплей будет переключаться между режимами («ЧАСЫ: МИНУТЫ») и («МИНУТЫ: СЕКУНДЫ»).
При длительном нажатии кнопки S1 происходит вход в меню настроек, состоящее из 9 подменю, обозначенных буквами A, B, C, D, E, F, G, H, I. Подменю переключаются кнопкой S1, значения изменяются кнопкой S2. После подменю I следует выход из меню настроек.А: Установка показаний часов текущего времени
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю B.

B: Установка показаний минут текущего времени
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.

C: Включение ежечасного звукового сигнала
По умолчанию включено (ON) – каждый час с 8:00 до 20:00 подается звуковой сигнал. При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в подменю D.

D: Включение\выключение первого будильника
По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю E и F пропускаются.

E: Установка показаний часов первого будильника
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю F.

F: Установка показаний минут первого будильника
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.

G: Включение\выключение второго будильника
По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю H и I пропускаются и происходит выход из меню настроек.

H: Установка показаний часов второго будильника
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю I.

I: Установка показаний минут второго будильника
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для выхода из меню настроек.

Коррекция секунд
В режиме («МИНУТЫ: СЕКУНДЫ») необходимо удержать кнопку S2 для обнуления секунд. Далее коротким нажатием на кнопку S2 запустить отсчет секунд.

4. Общие впечатления от часов.
Плюсы:
+ Низкая цена
+ Легкая сборка, минимум деталей
+ Удовольствие от самостоятельной сборки
+ Достаточно низкая погрешность (у меня за сутки отстали на несколько секунд)Минусы:
— После отключения питания не держит время
— Отсутствие какой либо документации, кроме схемы (данная статья частично решила этот минус)
— Прошивка в микроконтроллере защищена от считывания
5. Дополнительно:
1) На безграничных просторах интернета нашел инструкцию к этим часам на английском языке и перевел ее на русский. Скачать ее можно здесь2) Проблему аварийного питания при отключении электроэнергии можно решить при помощи батарейки на 3В и двух диодов:

ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК
Предлагаю для повторения схему простых электронных часов с будильником, выполненные на микроконтроллере типа PIC16F628A. Большим плюсом данных часов является светодиодный индикатор типа АЛС, для отображения времени. Лично мне порядком надоели всевозможные ЖКИ и хочется иметь возможность видеть время из любой точки комнаты в том числе в темноте, а не только прямо с хорошим освещением. Схема содержит минимум деталей и имеет отличную повторяемость. Часы испытаны на протяжении месяца, что показало их надежность и работоспособность. Думаю из всех схем в интернете, эта наиболее простая в сборке и запуске.
Принципиальная схема электронных часов с будильником на микроконтроллере:
Как видно из схемы часов, микроконтроллер является единственной микросхемой, используемой в данном устройстве. Для задания тактовой частоты используется кварцевый резонатор на 4 МГц. Для отображения времени использованы индикаторы красного цвета с общим анодом, каждый индикатор состоит из двух цифр с десятичными точками. В случае использования пьезоизлучателя, конденсатор С1 – 100мкФ можно не ставить.

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

Индикация в часах осуществляется динамически. В данный конкретный момент времени отображается лишь одна цифра, что позволяет значительно снизить потребление тока. Аноды каждой цифры управляются микроконтроллером PIC16F628A. Сегменты всех четырех цифр соединены вместе и через токоограничивающие резисторы R1 … R8 подключены к выводам порта МК. Поскольку засвечивание индикатора происходит очень быстро, мерцание цифр становится незаметным. 
Для настройки минут, часов и будильника – используются кнопки без фиксации. В качестве выхода для сигнала будильника используется вывод 10, а в качестве усилителя – каскад на транзисторах VT1,2. Звукоизлучателем является пьезоэлемент типа ЗП. Для улучшения громкости вместо него можно поставить небольшой динамик. 
Питаются часы от стабилизированного источника напряжением 5В. Можно и от батареек. В часах реализовано 9 режимов индикации. Переход по режимам осуществляется кнопками “+” и “-“. Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки – одна секунда.
Кнопкой “Коррекция” часы – будильник переводятся в режим настроек. При этом кратковременная подсказка выводится на пол секунды, после чего корректируемое значение начинает мигать. Коррекция показаний осуществляется кнопками “+” и “-“. При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Все значения, кроме часов, минут и секунд, записываются в EEPROM и восстанавливаются после выключения – включении питания.

Если в течение нескольких секунд ни одна из кнопок не нажата, то электронные часы переходят в режим отображения времени. Нажатием на кнопку “Вкл/Выкл” включается или выключается будильник, это действие подтверждается коротким звуком. При включенном будильнике светится точка в младшем разряде индикатора. Думал куда бы пристроить часы на кухне, и решил вмонтировать их прямо в газовую плиту:) Материал прислал in_sane.
Форум по электронным часам Обсудить статью ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК
Цепь цифровых часов с микроконтроллером 8051
Часы, построенные с будильником, называются будильником, который включает в себя предварительно установленное время, чтобы вспомнить что-то или разбудить людей в это время, сгенерировав будильник. Будильники работают как напоминания, чтобы разбудить людей в заданное время. Эти часы разработаны с зуммерами, датчиками и огнями, чтобы предупредить людей. Звук тревоги может быть остановлен нажатием кнопки или автоматически остановлен с помощью звукового сигнала в течение определенного времени.Современные будильники оснащены конвертированными шпионскими камерами или радио AM / FM. Эти сигналы могут быть как в традиционной, так и в цифровой форме с различными моделями мультфильмов. В этой статье рассказывается о цифровом будильнике с принципиальной схемой цифровых часов и его работе.
Цифровые будильники Что такое цифровые будильники
Цифровые часы – это один из видов часов, используемый для отображения времени в виде цифр, включает символы или цифры. Эти часы часто связаны с электронными приводами, но термин «цифровой» относится только к ЖК-дисплею, а не к механизму привода.Цепь цифровых часов использует колебания 50-60 Гц переменного тока. Большинство цифровых будильников отображают время суток в форме 12 часов или 24 часов с указанием AM или PM. Большинство цифровых будильников используют ЖК-дисплей, семисегментный дисплей или VFD.
Цифровые часы работают от электросети и должны сбрасывать время, когда питание отключено. Большинство часов не имеют резервного аккумулятора, поэтому это может привести к тому, что в установленное время не будет слышен сигнал будильника. Чтобы преодолеть эту проблему, многие цифровые будильники доступны для работы с батареей во время отключения питания.Коммерческие цифровые часы обычно более последовательны, чем потребительские часы. Потому что эти часы обеспечивают резервное копирование, чтобы поддерживать время работы от многолетней батареи при отключении питания.
Цифровой будильник на основе микроконтроллера 8051 с ЖК-дисплеем
Необходимые компоненты этой схемы цифрового часов на микроконтроллере 8051 с ЖК-дисплеем в основном включают ЖК-дисплей, микроконтроллер AT89C51, пресет, пьезо-зуммер и динамик. Функция каждого компонента этого проекта обсуждается ниже.
ЖК-дисплей ЖК-дисплей 16 × 2 является электронным дисплеем и используется в широком спектре приложений. Этот вид дисплеев используется в многосегментных светодиодах и 7-сегментных дисплеях. На этом ЖК-дисплее каждый символ отображается в матрице 5 × 7 пикселей. Этот ЖК-дисплей состоит из двух регистров, это регистр данных и регистр команд. Регистр команд – это приказ для ЖК-дисплея выполнять такие задачи, как очистка экрана, инициализация, управление отображением и установка положения курсора.Регистр данных (значение символа ASCII) используется для отображения сохраненных данных на ЖК-дисплее.
ЖК-дисплей Микроконтроллер AT89C51
Микроконтроллер AT89C51 относится к микроконтроллеру 8051. Он имеет 128 байт оперативной памяти и 4 КБ PEROM. Его можно удалить и перепрограммировать до 1000 раз. Он состоит из 40 контактов и разделен на четыре порта, а именно P1, P2, P3 и P4. Эти четыре порта являются 8-битными двунаправленными портами. За исключением порта P0, остальные порты используются как порты i / p и o / p.
Микроконтроллер AT89C51 Порты P0 и P2 используются для предоставления старшего и младшего байтовых адресов, когда эти порты подключены к внешней памяти.Порт 3 состоит из мультиплексированных выводов для различных функций, таких как аппаратные прерывания, последовательная связь, таймеры ввода / вывода и операции чтения или записи из внешней памяти. Этот микроконтроллер имеет встроенный UART для последовательной связи. Работа UART может быть выполнена на основе программы с различными скоростями передачи.
Preset
Preset – это трехкомпонентный электронный компонент, используемый для изменения сопротивления в цепи путем регулировки вращающегося управления на нем. Управление может осуществляться с помощью аналогичного инструмента и отвертки.Сопротивление не колеблется линейно, но слегка изменяется логарифмическим или экспоненциальным образом. Такие переменные резисторы используются для регулировки чувствительности с помощью датчика. Переменное сопротивление приобретается через переднюю клемму и оставшиеся две другие задние клеммы. Задние две клеммы обеспечивают устойчивое сопротивление, которое отделено от передней ножки. Поэтому всякий раз, когда используются задние две клеммы, он действует как стабильный резистор. Предварительные установки определяются их статическим значением сопротивления.
Preset Piezo Buzzer
Пьезо-зуммер используется для создания звука, основанного на противоположности пьезоэлектрическому эффекту.Этот зуммер может использоваться для оповещения пользователя о событии, эквивалентном переключающему действию, входу датчика или сигналу счетчика. Пьезо-зуммер используется в цепях сигнализации.
Piezo Buzzer Зуммер
Зуммер – это преобразователь, который преобразует электрическую энергию в звук. Когда на сигнал i / p динамика подается электрический сигнал, он создает звуковые волны. Оставшийся контакт подключен к клемме GND. Динамик обычно используется для генерации звука в ответ на o / p датчика.Например, в случае тревоги злоумышленника, когда происходит прерывание, громкоговоритель включается
Принципиальная схема цифровых часов Buzzer Это улучшенная версия схемы цифровых часов с ЖК-дисплеем. Он имеет дополнительную функцию для установки будильника в первую очередь. Для сброса дисплей побуждает пользователя установить будильник. Нажатием соответствующих переключателей можно непрерывно устанавливать компоненты. Эти переключатели являются активными низкими переключателями, и они могут обеспечить заземление для эквивалентных i / p-выводов микроконтроллера.Режим AM и PM фиксируется перемещением переключателя между клеммой VCC и GND. GND будет фиксировать CLK в режиме AM, в то время как Vcc будет устанавливать в режиме PM
Принципиальная схема цифровых часов После того, как аварийный сигнал зафиксирован, вывод аварийного сигнала подключается к VCC через переключатель. Процесс установки времени напоминает тот же, что и с простыми цифровыми часами. Когда время цифровых часов становится эквивалентным времени будильника, на ЖК-дисплее появляется сообщение «Тревога», и на некоторое время вывод тревоги микроконтроллера AT89C51 становится высоким.Этот вывод тревоги может быть связан с зуммером или динамиком для генерации тревоги в заранее установленное время.
Это все о схеме цифровых часов, которая разработана с использованием микроконтроллера AT89C51, Preset, Piezo Buzzer, Buzzer и ЖК-дисплея. Мы надеемся, что у вас есть лучшее понимание этого проекта цифрового будильника. Кроме того, любые вопросы, касающиеся этой концепции или проектов электроники, пожалуйста, оставьте свой отзыв, комментируя в разделе комментариев ниже. Вот вопрос для вас, каковы применения цифрового будильника?
Фото Кредиты:
. Как изменить тактовую частоту для снижения энергопотребления микроконтроллера
Разработчики всегда сталкиваются с проблемой обеспечения высокого уровня функциональности и производительности, одновременно увеличивая срок службы батареи. Кроме того, когда речь заходит о электронных продуктах, наиболее важной особенностью является потребление батареи. Следует как можно меньше увеличивать время работы устройства. Управление питанием очень важно в портативных и батарейных приложениях. Различия в потреблении микроампер могут привести к месяцам или годам эксплуатации, которые могут увеличить или уменьшить популярность и марку продукта на рынке.Увеличение продукции требует более эффективной оптимизации использования батареи. В настоящее время пользователям требуется более длительное время автономной работы с компактными размерами продуктов, поэтому производители фокусируются на меньших размерах батареи с очень долгим временем автономной работы, что является сомнительной задачей. Но разработчики придумали технологии энергосбережения, пройдя через множество факторов и критических параметров, влияющих на срок службы батареи.
Существует множество параметров, влияющих на использование батареи, таких как используемый микроконтроллер, рабочее напряжение, потребление тока, температура окружающей среды, условия окружающей среды, используемые периферийные устройства, циклы зарядки-перезарядки и т. Д.В связи с тенденцией появления интеллектуальных продуктов на рынке очень важно сначала сосредоточиться на используемом MCU, чтобы оптимизировать срок службы батареи. MCU становится важной частью, когда дело доходит до экономии энергии в продуктах небольшого размера. Поэтому рекомендуется сначала начать с MCU. Теперь MCU поставляется с различными методами энергосбережения. Чтобы узнать больше о минимизации энергопотребления в микроконтроллерах (MCU), обратитесь к предыдущей статье. В этой статье основное внимание уделяется одному из важных параметров снижения энергопотребления в микроконтроллере, а именно , изменяющему тактовую частоту , который необходимо соблюдать при использовании MCU для приложений с низким энергопотреблением.
Зачем изменять тактовую частоту в микроконтроллерах?
Из многих параметров, упомянутых выше, выбор тактовой частоты играет очень важную роль в энергосбережении. Исследование показывает, что неправильного выбора рабочей частоты микроконтроллеров может привести к значительной процентной (%) потере заряда батареи . Чтобы избежать этой потери, разработчики должны позаботиться о соответствующем выборе частоты для запуска микроконтроллера.Теперь нет необходимости в том, чтобы выбор частоты мог быть сделан изначально при настройке микроконтроллера, тогда как он также может быть выбран между программированием. Есть много микроконтроллеров, которые идут с выбором битов для выбора желаемой рабочей частоты. Также микроконтроллер может работать на нескольких частотах, поэтому разработчики могут выбрать соответствующую частоту в зависимости от приложения.
Как влияет выбор частоты на производительность?
Нет сомнений, что выбор различных частот повлияет на производительность микроконтроллера.Что касается микроконтроллера, то очень хорошо известно, что частота и производительность пропорциональны. Это означает, что чем больше частота, тем меньше будет время выполнения кода и, следовательно, будет выше скорость выполнения программы. Итак, теперь очень ясно, что если частота будет изменена, то производительность также изменится. Но не нужно, чтобы разработчики придерживались одной частоты только ради более высокой производительности микроконтроллера.
Низкая или Высокая частота, какую выбрать?
Это не всегда тот случай, когда микроконтроллер должен обеспечивать высокую производительность, есть несколько приложений, которым требуется умеренная производительность микроконтроллера, в таких приложениях разработчики могут снизить рабочую частоту с ГГц до МГц и даже до минимальной требуемой частоты запустить микроконтроллер.Хотя в некоторых случаях требуется оптимальная производительность, а также критично время выполнения, например, при управлении внешними флэш-АЦП без буфера FIFO или при обработке видео и многих других приложениях, в этих областях разработчики могут использовать оптимальную частоту микроконтроллера. Даже используя такую среду, разработчики могут разумно кодировать, чтобы уменьшить длину кода, выбирая правильную инструкцию.
Например: если для цикла требует больше инструкций и можно использовать несколько строк инструкций, которые используют меньше памяти для выполнения задачи без использования цикла для , то разработчики могут использовать несколько строк инструкций, избегая использования ‘для’ петли.
Выбор подходящей частоты для микроконтроллера зависит от требований задачи. Более высокая частота означает более высокое энергопотребление, но также и большую вычислительную мощность . Таким образом, выбор частоты является компромиссом между потребляемой мощностью и необходимой вычислительной мощностью.
Кроме того, основным преимуществом работы на низких частотах является низкий ток питания, помимо более низких RFI (радиочастотных помех).
Ток питания (I) = Ток покоя (I q ) + (K x Частота)
Второй член является преобладающим.Энергия RFI микроконтроллера настолько мала, что ее очень легко фильтровать.

Поэтому, если приложению нужна высокая скорость, не беспокойтесь о быстром запуске. Но если энергопотребление вызывает беспокойство, работайте настолько медленно, насколько позволяет приложение.
Техника коммутации тактовых частот
Устройство PLL (Phase Lock Loop) всегда существует в высокопроизводительном MCU, работающем на высокой скорости. PLL повышает входную частоту до более высокой частоты e.от 8 МГц до 32 МГц. Разработчик может выбрать подходящую рабочую частоту для приложения. Некоторым приложениям не нужно работать на высокой скорости, в этом случае разработчики должны поддерживать тактовую частоту MCU как можно ниже, чтобы выполнить задачу. Однако в платформе с фиксированной частотой, такой как недорогой 8-разрядный микроконтроллер , который не содержит единицу ФАПЧ, необходимо улучшить код команды, чтобы уменьшить энергию обработки . Кроме того, MCU, который содержит блок PLL, не может использовать преимущества технологии переключения частоты, которая позволяет MCU работать на высокой частоте в период обработки данных, а затем возвращаться к работе на низких частотах в течение периода передачи данных.
На рисунке показано использование устройства ФАПЧ в Техника переключения частоты .

Выбор режимов работы управления часами
Некоторые высокоскоростные микроконтроллеры поддерживают различные режимы управления часами, такие как режим остановки , режимы управления питанием (PMM) и режим ожидания . Можно переключаться между этими режимами, позволяя пользователю оптимизировать скорость устройства при одновременном потреблении энергии.
Выбираемый источник синхронизации
Кристаллический генератор является крупным потребителем энергии на любом микроконтроллере, особенно при работе на малой мощности. Кольцевой генератор, используемый для быстрого пуска из режима «Стоп», также может быть использован для обеспечения источника тактовой частоты примерно от 3 до 4 МГц при нормальной работе. Хотя кварцевый генератор все еще требуется при включении питания, после стабилизации кристалла работу устройства можно переключить на кольцевой генератор, обеспечив экономию энергии до 25 мА.
Контроль тактовой частоты
Рабочая частота микроконтроллера – это самый большой фактор, определяющий энергопотребление. Семейство микроконтроллеров высокоскоростных микроконтроллеров поддерживает различные режимы управления тактовой частотой, которые позволяют экономить электроэнергию за счет замедления или остановки внутренних часов. Эти режимы позволяют разработчику системы максимально экономить электроэнергию с минимальным влиянием на производительность.
Выполнение программного обеспечения из энергонезависимой памяти или ОЗУ
Разработчики должны тщательно учитывать, выполняется ли программное обеспечение из энергонезависимой памяти или ОЗУ, при оценке текущего потребления.Выполнение из ОЗУ может предложить более низкие спецификации активного тока; однако многие приложения не настолько малы, чтобы выполнять их только из ОЗУ, и требуют, чтобы программы выполнялись из энергонезависимой памяти.
Шинные часы включены или отключены
Большинству приложений микроконтроллеров необходим доступ к памяти и периферийным устройствам во время выполнения программного обеспечения. Это требует включения тактовых импульсов и должно учитываться в текущих текущих оценках.
Использование внутреннего генератора
Использование внутренних генераторов и исключение внешних генераторов может сэкономить значительную энергию.Поскольку внешние генераторы потребляют больше тока, что приводит к большему потреблению энергии. Также не является жестким ограничением, что следует использовать внутренний генератор, поскольку внешние генераторы рекомендуется использовать, когда приложения требуют большей тактовой частоты.
Заключение
Создание продукта с низким энергопотреблением начинается с выбора MCU, и это значительно затрудняет доступ к различным вариантам на рынке. Изменение частоты может оказать большое влияние на энергопотребление, а также дать хороший результат энергопотребления.Дополнительное преимущество изменения частоты заключается в том, что нет дополнительных затрат на оборудование, и может быть легко реализовано в программном обеспечении . Этот метод может быть использован для повышения энергоэффективности недорогого MCU. Кроме того, величина энергосбережения зависит от разницы между рабочими частотами, временем обработки данных и архитектурой MCU. Экономия энергии до 66,9% может быть достигнута при использовании техники переключения частоты по сравнению с обычной работой.
В конце концов, для разработчиков, серьезным вызовом является удовлетворение потребностей в увеличении функциональных возможностей системы и задач производительности при одновременном увеличении времени автономной работы продуктов. Чтобы эффективно разрабатывать продукты, обеспечивающие максимально возможное время автономной работы – или даже работающие без батареи – требуется глубокое понимание как системных требований, так и текущих спецификаций микроконтроллера. Это гораздо сложнее, чем просто оценить, сколько тока MCU потребляет, когда активно. В зависимости от разрабатываемого приложения, изменение частоты, ток в режиме ожидания, периферийный ток могут оказывать более существенное влияние на срок службы батареи, чем питание MCU.
Эта статья была создана, чтобы помочь разработчикам понять, как MCU потребляют энергию с точки зрения частоты и могут быть оптимизированы с изменением частоты.
,Светодиодная схема двоичных часов с использованием Arduino
В этом проекте мы собираемся изготовить двоичные часы с использованием Arduino . Здесь мы разработали печатную плату (PCB) для реализации этих часов. Для разработки макета печатной платы мы использовали онлайн-инструмент EasyEDA для проектирования печатных плат.
Необходимые компоненты:
- Arduino Nano
- DS1307 RTC
- 32,768 кГц Crystal
- 3в монетная ячейка
- Резистор 1к, 10к
- Блок питания
- светодиодов
Принципиальная схема и пояснение:

Это очень простой, дешевый и интересный проект для ученика.В этой светодиодной схеме двоичных часов мы использовали Arduino Nano для управления всем проектом, таким как время чтения из RTC и отображение его на светодиодах. Монетная ячейка 3.0v подключена к RTC IC для резервного копирования. Узнайте больше об использовании DS1307 RTC с Arduino здесь.
20 светодиодов подключены здесь в виде матрицы. Итак, у нас 6 столбцов и 4 строки . 2 столбца используются для отображения часа, следующие два столбца для минут и следующие столбцы для секунд. Мы использовали 6 PNP транзисторов для запуска светодиодов в 6 столбцах.Пользователь может питать всю цепь только 5 В, здесь мы использовали ноутбук USB для питания. Остальные соединения показаны на принципиальной схеме.

Далее, проверьте полный код Arduino и демонстрационное видео в конце этой статьи.
Как рассчитать и прочитать время в двоичных часах:
Как мы знакомы с двоичными числами, которые равны нулю и единице. Таким образом, используя их, мы можем показать время и преобразовать это двоичное время в десятичное.Используя число 8 4 2 1 (написанное справа на печатной плате), мы можем преобразовать двоичный код в десятичный.
Предположим, у нас есть двоичное число, например:
1 0 1 0, поэтому это будет 10 в десятичном виде. Когда мы конвертируем двоичный код в десятичный, мы добавляем только один.
Здесь со стороны MSB (старшего значащего бита) у нас есть 1, это означает 8, а далее 0 означает, что это 0 и не должно быть включено. Далее снова 1 означает 2, а последний 0, поэтому последний также не будет включен.
Итак, наконец, у нас есть
8 + 0 + 2 + 0 = 10
В принципе, мы можем принять это так:
8x1 + 4x0 + 2x1 + 1x0 = 10
Теперь мы можем понять время с картинки:

В приведенном выше примере мы видим 6 столбцов и 4 строки.В них у нас есть 2 столбца группы ЧЧ для часа, ММ для минут и СС для секунд . На правой стороне печатной платы мы видим строки с номерами 1, 2, 4 и 8, эти числа используются для преобразования двоичного числа в десятичное
Обратите внимание, что мы читаем столбцы с правой стороны . Итак, прежде всего, смотрите столбцы HH, есть два столбца времени. В первом столбце времени нет светящихся средств:
2x0 + 1x0 = 0
В следующем столбце мы видим, что в средстве с 1 строкой светится один светодиод.Итак, согласно 8 4 2 1
8x0 + 4x0 + 2x0 + 1x1 = 1
Итак, в столбце HH мы получили 01.
В первом столбце ММ (минуты), мы видим, что в 1-м ряду светится один светодиод, значит
4 2 1
4x0 + 2x0 + 1x1 = 1
Во втором столбце ММ видно, что в строке № 8 светится один светодиод означает
8 4 2 1
8x1 + 4x0 + 2x0 + 1x0 = 8
Таким образом, мы получили минуту как 18
В первом столбце SS (секунд), , мы видим, что в строке 4 светится один светодиод, значит
4 2 1
4x1 + 2x0 + 1x0 = 4
Во втором столбце SS мы видим, что в строке № 1 светится два светодиода, а строка № 4 означает
.8 4 2 1
8x0 + 4x1 + 2x0 + 1x1 = 5
Таким образом, мы получили минуту как 45
Итак, наконец, у нас есть время как 01:18:45
ЧЧ ММ СС
01 18 45
Полный код Arduino и демонстрационное видео приведены в конце этой статьи.
Схема и дизайн печатной платы с использованием EasyEDA:
Для разработки этой светодиодной схемы двоичных часов мы выбрали онлайновый инструмент EDA под названием EasyEDA. Ранее я много раз использовал EasyEDA и нашел его очень удобным, так как он имеет хорошую коллекцию следов и с открытым исходным кодом. Проверьте здесь все наши проекты печатных плат. После проектирования печатной платы мы можем заказать образцы печатной платы с помощью недорогих услуг по их изготовлению. Они также предлагают услугу поиска компонентов, где у них есть большой запас электронных компонентов, и пользователи могут заказать необходимые компоненты вместе с заказом на печатную плату.
При проектировании ваших микросхем и печатных плат вы также можете сделать ваши схемы и печатные платы общедоступными, чтобы другие пользователи могли копировать или редактировать их и получать от этого выгоду, мы также сделали общедоступными все наши схемы и печатные платы для этого Arduino Binary Часы , проверьте по ссылке ниже:
https://easyeda.com/circuitdigest/BinaryClock-4a25419d21cc424c9989a8f6a4633f5e
Вы можете просматривать любой слой (верхний, нижний, верхний шёлк, нижний шёлк и т. Д.) Печатной платы, выбрав слой из окна «Слои».

Вы также можете просмотреть печатную плату, как она будет выглядеть после изготовления, с помощью кнопки Photo View в EasyEDA:

Расчет и заказ образцов онлайн:
После завершения проектирования этой платы двоичных часов Arduino вы можете заказать плату через JLCPCB.com. Чтобы заказать печатную плату у JLCPCB, вам нужен Gerber File. Чтобы загрузить файлы Gerber с вашей печатной платы, просто нажмите кнопку Fabrication Output на странице редактора EasyEDA, а затем загрузите ее со страницы заказа EasyEDA PCB.
Теперь перейдите на JLCPCB.com и нажмите на кнопку Цитировать сейчас или Купить , затем вы можете выбрать количество печатных плат, которые вы хотите заказать, сколько слоев меди вам нужно, толщину печатной платы, вес меди и даже цвет печатной платы, как показано на снимке ниже:


После того, как вы выбрали все опции, нажмите «Сохранить в корзину», и вы попадете на страницу, где вы можете загрузить свой файл Gerber, который мы скачали с EasyEDA.Загрузите файл Gerber и нажмите «Сохранить в корзину». И, наконец, нажмите «Оформить заказ безопасно», чтобы завершить заказ, и через несколько дней вы получите свои печатные платы. Они изготавливают печатные платы по очень низкой цене, которая составляет 2 доллара. Их время сборки также очень мало, что составляет 48 часов с доставкой DHL 3-5 дней, в основном вы получите свои печатные платы в течение недели после заказа.

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


И после получения этих частей я спаял все необходимые компоненты на печатной плате, поместил кодированный Arduino Nano и запитал его напряжением 5 В, чтобы увидеть Binary Clock в действии .


, Микроконтроллеры. Руководство для начинающих. Таймеры и счетчики
Микроконтроллер – Руководство для начинающих – Базовое и стандартное использование таймера и счетчика и часов микроконтроллера
Таймеры и счетчики настолько важны, что вы найдете много примеров по всему
этот учебник серии. Как следует из названия, таймеры могут сообщать время и считать. Counting
и время учитывает некоторые действительно крутые вещи, такие как управление яркостью
Светодиоды, контролирующие угол сервоосей, принимающие данные датчиков, которые передают
в ШИМ (широтно-импульсная модуляция – подробнее об этом в другом учебнике), делая таймер
(как на плите), или просто добавив переменную времени в ваш микроконтроллер
проект.
Но сначала важно знать, что внутри (или снаружи) микроконтроллеров AVR есть часы. Фактически, все микроконтроллеры имеют часы (или используют тот, который находится вне микроконтроллера). Микроконтроллерам нужны часы, чтобы наши программы могли выполняться в такт с часами. Это основная функция микроконтроллеров. Основная инструкция обрабатывается, когда проходит тик от часов. Точно так же, как эти программы, которые мы пишем, по мере того, как такты часов проходят, инструкции обрабатываются во времени с тактами часов.
Функции таймера и счетчика в микроконтроллере просто считаются синхронно с часами микроконтроллера. Однако счетчик может рассчитывать только до 256 (8-разрядный счетчик) или до 65535 (16-разрядный счетчик). Это далеко от 1000000 тиков в секунду, которые обеспечивает стандартный микроконтроллер AVR. Микроконтроллер обеспечивает очень полезную функцию, называемую предварительным масштабированием. Предварительное масштабирование – просто способ для счетчика пропустить определенное количество тактов микроконтроллера. Микроконтроллеры AVR позволяют предварительно масштабировать (пропускать) числа: 8, 64, 256 и 1024.То есть, если 64 установлен как прескалер, то счетчик будет считать только каждый раз, когда часы тикают 64 раза. Это означает, что за одну секунду (когда микроконтроллер тикает миллион раз) счетчик будет считать только до 15 625. Вы могли видеть, что если счетчик считает до этого числа, то вы сможете мигать светодиодом каждую секунду.
В основном, таймеры имеют регистр управления и регистр, который содержит счет
число.Регистр управления содержит несколько переключателей для включения и выключения функций.
И вы уже догадались … одной из особенностей является то, какую предварительную настройку выбрать. Контроль
регистр называется TCCR0 или TCCR1 (регистр управления таймером / счетчиком). TCCR0 является
8-битный регистр управления и имеет только 8-битный регистр управления, так что есть только
8 переключателей для включения и выключения. TCCR1 является 16-разрядным, поэтому он имеет 16 переключателей для включения
и выключен, но он поставляется в двух 8-битных регистрах, помеченных A и B (TCCR1A и TCCR1B).Переключатели: FOC (Force Output Compare), WGM (Waveform Generation).
Mode), COM (режим сравнения результатов сравнения) и CS (выбор часов).
Регистр, который содержит счет, называется регистром TCNT. И есть 8-битный
версия (TCNT0) и 16-битная версия (TCNT1). Регистр TCNT1 фактически получает
число из двух других 8-битных регистров для создания полного 16-битного числа, но это
все сделано за кулисами (абстрагировано), поэтому вам не нужно беспокоиться о том, как
TCNT1 получает 16-битную способность, просто подумайте, что это волшебство.
На видео показаны две программы: одна показывает только мигание одного светодиода.
примерно за 1 секунду, и другая программа, которая преследует один ряд из 7 светодиодов
каждую секунду, и еще один ряд из 7 светодиодов, чеканка каждого в 1 секунду. Последняя программа
здесь показан, поскольку он имеет большинство функций, используемых с 16-битным таймером.
Не повторяя предыдущие посты, программа инициализирует порты
для светодиодов и устанавливает таймер / счетчик # 1 (16-битный таймер).Контроль TCCR1B
регистр используется для установки коэффициента предварительного масштабирования 64 с переключателями CS10 и CS11.
Поскольку мы хотим, чтобы один из 7 светодиодов гнался по 1/7 секунды, мы берем число
15 625 (1000000/64 – помните, что 1000000 – это тактовая частота микроконтроллера 1 МГц)
и разделите его на 7, чтобы получить ~ 2232,143. Теперь вы говорите, но вы используете только 2232
в пограмме !! это потому, что TCNT1 будет принимать только целые числа (без десятичных дробей).Сейчас
Вы говорите, время будет выключено на количество десятичных! Правда, но
Внутренние часы AVR в любом случае +/- 10% неточны. Если используется внешний кристалл,
Вы должны использовать идеальное число, которое представляет соответствующий счет.
Вы заметите, что TCNT1 также сбрасывается в ноль вручную. Это нужно иначе
TCNT1 будет продолжать считать после установленного условия 2232.Есть другие
функции управления, которые имеют автоматическое обнуление этого числа, но мы получим
что в другом уроке. Остальные части программы используют материал, который мы узнали
я предыдущие уроки (включение и выключение светодиодов и массивов).
#include
int main (void)
{
DDRB = 0b01111111;
PORTB = 0b00000000;
DDRD = 0b01111111;
PORTD = 0b00000000;
TCCR1B | = 1
int LEDNumber [2];
while (1)
{
если (TCNT1> 2232)
{
TCNT1 = 0;
PORTB = 1
LEDNumber [0] ++;
if (LEDNumber [0]> 6)
{ LEDNumber [0] = 0;
PORTD = 1 << LEDNumber [1];
LEDNumber [1] ++;
if (LEDNumber [1]> 6)
LEDNumber [1] = 0;
}
}
}
}
,


Похожие статьи:
Таймер присутствия на PIC16F628A
Таймер присутствия каждый день на определенное время включает свет, создавая эффект присутствия. А также часы с резервным питанием.
Автор: VIG
4
0 [0] Часы на газоразрядных индикаторах с ATmega8
Часы размещены в деревянном корпусе, сделанным “Под старину” – настоящее украшение для любого дома! В конструкции используются четыре газоразрядных индикатора LC513. Для точного расчета времени применена микросхема PCF8583. Сердцем устройства является микроконтроллер ATMega8. Чтобы не настраивать заново время при отключении питания, используется электролитический конденсатор высокой емкости. Лампы питаются от напряжения 150В.
Автор:
dossalab
25
0 [0]
Похожие статьи: LED часы на ATtiny2313 и DS1307
LED часы на семисементных индикаторах на микроконтроллере ATtiny2313 и микросхеме DS1307. Считают время даже когда выключены!
Автор:
139 
4.4 [5]
Похожие статьи: 2012 г.Часы на Arduino с использованием стандартного индикатора
Эти простые часы на Arduino прекрасно справляются с поставленной на них задачей индикации времени. Они поддерживают относительно точное время без использования RTC микросхем, для индикации которого используется стандартный дисплей, применяемый во многих готовых часах. Также возможно регулировать яркость цифр.
Автор:
Т@р@с
2
0 [0] Электронные часы-будильник на газоразрядных индикаторах и МК
Завораживающее неоновое свечение отчасти похожее на свечение электровакуумных ламп, похожий внешний вид. Все это дает ощущение прошлого на этапе освоения, познания и начала применения электричества, насколько можно представить по книгам, фильмам, иллюстрациям. Но обо всем по-порядку…
Автор:
crazzian
396
4.9 [7]
Похожие статьи: Модернизация бортового компьютера на ATmega8
После публикации статьи Бортовой компьютер (часы, двухканальный термометр, вольтметр на ATmega8 и LCD 16х2) прошел уже почти год, и за это время я получил много писем с просьбами изменить прошивку под нужды пользователей. Я решил добавить в схему устройства кнопки, организовать меню с настройками, чтобы каждый мог настроить БК под себя.
Автор:
u33
373
5 [6]
Похожие статьи: Весь список теговМногофункциональные цифровые часы на микроконтроллере Attmega8. Схема и описание
Данная статья описывает конструкцию цифровых часов на микроконтроллере Attmega8, которые снабжены секундомером, будильником, таймером обратного отсчета. В часах реализована функция отображения дня недели и даты с возможностью комбинированного отображения даты и времени. Имеется автоматическое переключение на летнее и зимнее время, а так же учет високосного года.
Дисплей построен на шести 7-сегментных светодиодных индикаторов с регулировкой яркости. Часы также оснащены резервным питанием от батарей.
Описание конструкции микроконтроллерных часов
Как уже было сказано выше, часы имеют шестизначный дисплей, состоящий из двух трехзначных дисплеев T-5631BUY-11, работающий в мультиплексном режиме. Аноды индикаторов сгруппированы по разрядам и переключаются с помощью транзисторов Т1…Т6.
Катоды сгруппированы в сегменты и питаются непосредственно от микроконтроллера IO1 Attmega8. Частота мультиплексирования составляет 100Гц.
Часы контролируется низкочастотным кварцевым резонатором X1 с частотой 32768 Гц. В результате активации бита CKOPT, разрешающего использование внутренних конденсаторов 36пф для кварца, отпадает необходимость в использовании внешних конденсаторов.
В случае возникновении проблем с запуском генератора, можно попробовать подключить 2 конденсатора по 22пф. Для еще большей точности часов можно вообще отключить внутренние конденсаторы (сбросить бит СKOPT) и оставить только внешние.
Пъезоизлучатель REP1 издает звуковой сигнал будильника и сигнализирует о завершении работы таймера. Во время звукового сигнала на выводе 16 (порт PB2) появляется лог.1. Этот сигнал можно использовать для управления какой-либо нагрузкой.
Управление часами производится тремя кнопками — минуты, часы и режим. Кнопки подключены через резисторы, которые защищают порты микроконтроллер Attmega8. Схема питается от источника 5 вольт (7805). Потребление тока в основном зависит от числа активных индикаторов, а так же от степени настройки яркости.
При максимальной яркости ток потребления доходит до 60 мА. Часы снабжены резервной батареей питания. Во время работы от батареи, часы переходят в экономичный режим, при котором дисплей выключен. Так же в этом режиме не активны и кнопки за исключением случая, когда необходимо отключить звуковой сигнал.
Напряжение резервного питания от 3 до 4,5 В. Это может быть одна батарея на 3В, три NiMH или NiCd по 1,2 В или один аккумулятор Li-Pol или Li-Ion (от 3,6 до 3,7 В). Ток потребления от 3В батареи составляет всего лишь 5…12мA. Время автономной работы часов в экономичном режиме от батареи 3В типа CR2032 со стандартной емкостью 200mAh теоретически должно хватить примерно на 2,5 — 3 лет.
Программное обеспечения для микроконтроллера находится в конце статьи. Биты конфигурации необходимо выставить следующим образом:
Управление часами
Часы управляются с помощью TL1-минута, час-TL2 и TL3-режим. Кнопки часы и минуты используются в режиме часов для назначения часов и минут. В других режимах они имеют различные функции. Кнопка режима переключает между различными режимами, которых в общей сложности 8:
Режим 1-й — Часы
В этом режиме на дисплее отображается текущее время в формате «ЧЧ.ММ.СС». Кнопка часов используется для установки часов. Кнопка минут для установки минут. При ее нажатии происходит сброс секунд.
Режим 2-й — Включение перехода на летнее время и установки года
Здесь Вы можете включать и выключать автоматический переход между летним и зимним временем и установить год. Данные следующего формата «AC ‘RR» (АС – автоматическое время, пробел, последние две цифры года).
Режим 3-й — Таймер обратного отсчета
Это режим позволяет организовать обратный отсчет от заданного значения до нуля. По истечении этого времени раздастся звуковой сигнал и светится светодиод LED1. Звуковой сигнал может быть остановлен нажатием кнопки Режим. Данные следующего формата «ЧЧ.ММ.СС». Максимально возможное значение составляет 99.59.59 (почти 100 часов).
Режим 4-й – Комбинированный вывод информации
В этом режиме, попеременно показывается:
- текущее время в формате «ЧЧ.ММ.СС»
- дата в формате «AA.DD.MM.»
Каждый формат отображается в течение 1 секунды. В этом режиме используются кнопки Часов и Минут, для регулировки яркости дисплея (Часы-, Минуты+). Яркость изменяется логарифмически в 6 этапов: 1/1, 1/2, 1/4, 1/8, 1/16 и 1/32-й. По умолчанию установлено 1/2
Режим 5-й — Установка дня недели и режим работы будильника
В этом режиме можно установить день недели — с понедельника по воскресенье (отображается как пн, вт, ср, чт, пт, сб, вс), включать будильник и выбирать его режим работы. Данные следующего формата «AA AL._» (день недели, пробел, AL., Настройка будильника).
Кнопка часов устанавливает день недели. Кнопка минут используется для включения/выключения звукового сигнала будильника и выбора режима его работы: «AL._» = будильник не активный, «AL.1″ = будильник сигналит 1 раз (затем автоматически переходит в положение»AL._»), «AL.5» = сигнал будильника только в будние дни (пн-пт, кроме сб-вс), «AL.7» = будильник звонит каждый день
Режим 6-й – Установка дня недели и даты
Кнопка часов позволяет установить день месяца. Кнопка минут позволяет установить месяц.
Режим 7-й — Секундомер
Секундомер позволяет измерять время с точностью 0,1 сек. Максимальное время измерения составляет 9.59.59.9 (почти 10 часов). Данные следующего формата «H.MM.SS.X». Кнопка минут используется для запуска и остановки секундомера. Кнопка часов используется для сброса.
Режим 8-й — Будильник
Этот режим используется для отображения и установить время будильника (ALARM). Данные следующего формата «HH.MM.AL». Кнопка Минуты устанавливает минуту будильника, кнопку Часы устанавливает час будильника.
Ниже приведена схема аналогичных часов, имеющие индикатор с общим катодом
Скачать прошивку с общим анодом (37,7 KiB, скачано: 1 061)
Скачать прошивку с общим катодом (29,9 KiB, скачано: 502)
http://danyk.cz
«Тикающие» часы с будильником на микроконтроллере 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.
Фото и видео часов
Часы собраны в корпусе из под нерабочей «электроники».Простые часы на микроконтроллере AVR
Схема и программа очень простых часов на микроконтроллере AVR с использованием микросхемы реального времени DS1307
Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“
Сегодня, уважаемые радиолюбители, вашему вниманию предлагается очень простая схема часов на микроконтроллере AVR и часов реального времени с последовательным интерфейсом I2C DS1307.
Конструкция собрана на микроконтроллере ATyni26 (просто именно этот МК был под рукой). Но вы можете применить любой другой МК, главное чтобы у него было 13 свободных входов – 11 для вывода текущего времени на четырехразрядный семисегментный светодиодный индикатор и 2 вывода – на кнопки установки и коррекции времени.
Схема часов:
В схеме применены следующие детали:
– Микроконтроллер – ATyni26 в DID корпусе
– Часы реального времени – DS1307 в DIP корпусе
– Кварц – 32,768 кГц, с входной емкостью 12 пф (можно взять с материнской платы компьютера), от этого кварца зависит точность хода часов
– резервное питание DS1307 – 3 вольтовый литиевый элемент CR2032
– 4-разрядный семисегментный светодиодный индикатор – FYQ-5641UB -21 с общим катодом (ультраяркий, голубого цвета свечения)
– все транзисторы – NPN-структуры, можно применить любые (КТ3102, КТ315 и их зарубежные аналоги), я применил ВС547С
– микросхемный стабилизатор напряжения типа 7805
– все резисторы мощностью 0,25 ватт
– полярные конденсаторы на рабочее напряжение 50 вольт
Ток потребления устройством составляет до 30 мА.
Для питания конструкции можно использовать любое ненужное зарядное устройство от телефона или подходящий блок питания с выходным напряжением 7-9 вольт.
Общение микроконтроллера с часами DS1307 происходит по шине I2C и организовано программным путем.
Батарейку резервного питания часов DS1307 можно и не ставить, но в этом случае, при пропадании напряжения в сети, текущее время придется устанавливать заново.
Печатная плата устройства не приводится, конструкция была собрана в корпусе от неисправных механических часов. Светодиод (с частотой мигания 1 Гц) служит для разделения часов и минут в конструкции.
Работа программы.
Тактовая частота работы микроконтроллера – 1 мГц (заводская установка, FUSE-биты трогать и устанавливать не надо). Размер программы – 1 килобайт.
При запуске программы происходит:
– запуск таймера Т0 с предустановленной частотой СК/8 и вызовом прерывания по переполнению (при такой предустановленной частоте вызов прерывания происходит каждые 2 миллисекунды)
– инициализация портов (порты РА0-6 и РВ0-3 настраиваются на вывод, РА7 и РВ6 на ввод)
– инициализация шины I2C (выводы РВ4 и РВ5)
– при первом запуске, или повторном запуске при отсутствии резервного питания DS307, проверяется 7 бит (СН) нулевого регистра DS1307 и происходит переход в первоначальную установку текущего времени. При этом, кнопка S1 – для установки времени, кнопка S2 – переход к следующему разряду. Установленное время – часы и минуты записываются в DS1307 (секунды устанавливаются в ноль), а также вывод SQW/OUT (7-й вывод) настраивается на генерацию прямоугольных импульсов с частотой 1 Гц
– разрешается глобальное прерывание
– программа переходит в цикл с опросом копки S2
При переполнения счетчика таймера Т0 программа переходит к обслуживанию прерывания (каждые 2 мс):
– считывается текущее время с DS1307 которое записывается в четыре переменные SRAM (десятки часов, единицы часов, десятки минут, единицы минут)
– подпрограммой вывода текущего времени производится динамическая индикация текущего времени на светодиодном индикаторе
– при нажатии кнопки S2 программа запрещает глобальное прерывание и переходит в подпрограмму коррекции времени (кнопками S1 и S2 устанавливаются десятки и единицы минут, затем, с 0 секунд, нажатием кнопки S2 происходит запись уточненного времени в DS1307, разрешение глобального прерывания и возвращение в основную программу).
Примененные в схеме часы DS1307 позволяют выводить на индикацию секунды, минуты, часы, день недели, дату и год.
Если в схеме вместо светодиодных индикаторов применить LCD дисплей, к примеру WH0802 (двухстрочный, с выводом восьми символов в строке) или аналогичный, то можно организовать полноценные часы с полным выводом текущего времени, а питание устройства организовать от гальванических элементов или аккумуляторных батарей.
Расположение выводов микроконтроллера ATyni26:
Расположение выводов DS1307:
Типовая схема подключения D1307:
Рекомендуемая схема подключения кварца к DS1307:
Общение микроконтроллера с часами реального времени DS1307 организовано программным путем, поэтому в схеме можно применить микроконтроллер у которого нет аппаратного модуля I2C.
Программа написана в среде Algorithm Builder, и если вы используете эту программную среду, то сможете ознакомиться с алгоритмом общения микроконтроллера с другими устройствами по шине I2C (в алгоритме подробно прокомментирована каждая строчка).
Даташит DS1307 на русском (312.1 KiB, 1,878 hits)
Часы на ATyni26 в Algorithm Builder (8.2 KiB, 1,823 hits)
Программа часов на ATyni26 в HEX коде (3.1 KiB, 1,675 hits)
Схема часов в формате sPlan7 (119.3 KiB, 6,171 hits)
С51 (YSZ-4) Электронные часы-конструктор на микроконтроллере
Данные часы уже несколько раз обозревались, но я надеюсь, что мой обзор будет тоже Вам интересным. Добавил описание работы и инструкцию.Конструктор покупался на ebay.com за 1.38 фунтов (0.99+0.39 доставка), что эквивалентно 2.16$. На момент покупки это самая низкая цена из всех предложенных.
Доставка заняла около 3х недель, набор пришел в обычном полиэтиленовом пакетике, который в свою очередь был упакован в небольшой «пупырчатый» пакет. На выводах индикатора был небольшой кусочек пенопласта, остальные детали были без какой либо защиты.
Из документации только небольшой листочек формата А5 со списком радиодеталей с одной стороны и принципиальной электрической схемой с другой.

1. Принципиальная электрическая схема, используемые детали и принцип работы

Основой или «сердцем» часов является 8-ми разрядный КМОП микроконтроллер AT89C2051-24PU оснащенный Flash программируемым и стираемым ПЗУ объемом 2кб.
Узел тактового генератора собран по схеме (рис.1) и состоит из кварцевого резонатора Y1 двух конденсаторов C2 и С3, которые образуют вместе параллельный колебательный контур.

Изменением емкости конденсаторов можно в небольших пределах изменять частоту тактового генератора и соответственно точность хода часов. На рисунке 2 показан вариант схемы тактового генератора с возможностью регулировки погрешности часов.Узел начального сброса служит для установки внутренних регистров микроконтроллера в начальное состояние. Он служит для подачи после подключения питания на 1 вывод МК единичного импульса длительностью не менее 1 мкс (12 периодов тактовой частоты).
Состоит из RC цепочки, образуемой резистором R1 и конденсатором C1.
Схема ввода состоит из кнопок S1 и S2. Программно сделано так, что при одиночном нажатии любой из кнопок в динамике раздается одиночный сигнал, а при удержании двойной.
Модуль индикации собран на четырехразрядном семисегментном индикаторе с общим катодом DS1 и резистивной сборке PR1.
Резистивная сборка представляет собой набор резисторов в одном корпусе:

Звуковая часть схемы представляет собой схему собранную на резисторе R2 10кОм, pnp транзисторе Q1 SS8550(выполняющего роль усилителя) и пьезоэлемента LS1.
Питание подается через разъем J1 с подключенным параллельно сглаживающим конденсатором C4. Диапазон питающих напряжений от 3 до 6В.
2. Сборка конструктора
Сборка трудностей не вызвала, на плате подписано, куда какие детали паять.
Много картинок – сборка конструктора спрятана под спойлером
3. Установка текущего времени, будильников и ежечасового сигнала.
После включения питания дисплей находится в режиме («ЧАСЫ: МИНУТЫ») и отображает время по умолчанию 12:59. Ежечасный звуковой сигнал включен. Оба будильника включены. Первый установлен на время срабатывания 13:01, а второй – 13:02.

При каждом кратковременном нажатии на кнопку S2 дисплей будет переключаться между режимами («ЧАСЫ: МИНУТЫ») и («МИНУТЫ: СЕКУНДЫ»).
При длительном нажатии кнопки S1 происходит вход в меню настроек, состоящее из 9 подменю, обозначенных буквами A, B, C, D, E, F, G, H, I. Подменю переключаются кнопкой S1, значения изменяются кнопкой S2. После подменю I следует выход из меню настроек.А: Установка показаний часов текущего времени
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю B.

B: Установка показаний минут текущего времени
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.

C: Включение ежечасного звукового сигнала
По умолчанию включено (ON) – каждый час с 8:00 до 20:00 подается звуковой сигнал. При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в подменю D.

D: Включение\выключение первого будильника
По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю E и F пропускаются.

E: Установка показаний часов первого будильника
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю F.

F: Установка показаний минут первого будильника
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.

G: Включение\выключение второго будильника
По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю H и I пропускаются и происходит выход из меню настроек.

H: Установка показаний часов второго будильника
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю I.

I: Установка показаний минут второго будильника
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для выхода из меню настроек.

Коррекция секунд
В режиме («МИНУТЫ: СЕКУНДЫ») необходимо удержать кнопку S2 для обнуления секунд. Далее коротким нажатием на кнопку S2 запустить отсчет секунд.

4. Общие впечатления от часов.
Плюсы:
+ Низкая цена
+ Легкая сборка, минимум деталей
+ Удовольствие от самостоятельной сборки
+ Достаточно низкая погрешность (у меня за сутки отстали на несколько секунд)Минусы:
— После отключения питания не держит время
— Отсутствие какой либо документации, кроме схемы (данная статья частично решила этот минус)
— Прошивка в микроконтроллере защищена от считывания
5. Дополнительно:
1) На безграничных просторах интернета нашел инструкцию к этим часам на английском языке и перевел ее на русский. Скачать ее можно здесь2) Проблему аварийного питания при отключении электроэнергии можно решить при помощи батарейки на 3В и двух диодов:

ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК
Предлагаю для повторения схему простых электронных часов с будильником, выполненные на микроконтроллере типа PIC16F628A. Большим плюсом данных часов является светодиодный индикатор типа АЛС, для отображения времени. Лично мне порядком надоели всевозможные ЖКИ и хочется иметь возможность видеть время из любой точки комнаты в том числе в темноте, а не только прямо с хорошим освещением. Схема содержит минимум деталей и имеет отличную повторяемость. Часы испытаны на протяжении месяца, что показало их надежность и работоспособность. Думаю из всех схем в интернете, эта наиболее простая в сборке и запуске.
Принципиальная схема электронных часов с будильником на микроконтроллере:
Как видно из схемы часов, микроконтроллер является единственной микросхемой, используемой в данном устройстве. Для задания тактовой частоты используется кварцевый резонатор на 4 МГц. Для отображения времени использованы индикаторы красного цвета с общим анодом, каждый индикатор состоит из двух цифр с десятичными точками. В случае использования пьезоизлучателя, конденсатор С1 – 100мкФ можно не ставить.

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

Индикация в часах осуществляется динамически. В данный конкретный момент времени отображается лишь одна цифра, что позволяет значительно снизить потребление тока. Аноды каждой цифры управляются микроконтроллером PIC16F628A. Сегменты всех четырех цифр соединены вместе и через токоограничивающие резисторы R1 … R8 подключены к выводам порта МК. Поскольку засвечивание индикатора происходит очень быстро, мерцание цифр становится незаметным. 
Для настройки минут, часов и будильника – используются кнопки без фиксации. В качестве выхода для сигнала будильника используется вывод 10, а в качестве усилителя – каскад на транзисторах VT1,2. Звукоизлучателем является пьезоэлемент типа ЗП. Для улучшения громкости вместо него можно поставить небольшой динамик. 
Питаются часы от стабилизированного источника напряжением 5В. Можно и от батареек. В часах реализовано 9 режимов индикации. Переход по режимам осуществляется кнопками “+” и “-“. Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки – одна секунда.
Кнопкой “Коррекция” часы – будильник переводятся в режим настроек. При этом кратковременная подсказка выводится на пол секунды, после чего корректируемое значение начинает мигать. Коррекция показаний осуществляется кнопками “+” и “-“. При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Все значения, кроме часов, минут и секунд, записываются в EEPROM и восстанавливаются после выключения – включении питания.

Если в течение нескольких секунд ни одна из кнопок не нажата, то электронные часы переходят в режим отображения времени. Нажатием на кнопку “Вкл/Выкл” включается или выключается будильник, это действие подтверждается коротким звуком. При включенном будильнике светится точка в младшем разряде индикатора. Думал куда бы пристроить часы на кухне, и решил вмонтировать их прямо в газовую плиту:) Материал прислал in_sane.
Форум по электронным часам Обсудить статью ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК
Цепь цифровых часов с микроконтроллером 8051
Часы, построенные с будильником, называются будильником, который включает в себя предварительно установленное время, чтобы вспомнить что-то или разбудить людей в это время, сгенерировав будильник. Будильники работают как напоминания, чтобы разбудить людей в заданное время. Эти часы разработаны с зуммерами, датчиками и огнями, чтобы предупредить людей. Звук тревоги может быть остановлен нажатием кнопки или автоматически остановлен с помощью звукового сигнала в течение определенного времени.Современные будильники оснащены конвертированными шпионскими камерами или радио AM / FM. Эти сигналы могут быть как в традиционной, так и в цифровой форме с различными моделями мультфильмов. В этой статье рассказывается о цифровом будильнике с принципиальной схемой цифровых часов и его работе.
Цифровые будильники Что такое цифровые будильники
Цифровые часы – это один из видов часов, используемый для отображения времени в виде цифр, включает символы или цифры. Эти часы часто связаны с электронными приводами, но термин «цифровой» относится только к ЖК-дисплею, а не к механизму привода.Цепь цифровых часов использует колебания 50-60 Гц переменного тока. Большинство цифровых будильников отображают время суток в форме 12 часов или 24 часов с указанием AM или PM. Большинство цифровых будильников используют ЖК-дисплей, семисегментный дисплей или VFD.
Цифровые часы работают от электросети и должны сбрасывать время, когда питание отключено. Большинство часов не имеют резервного аккумулятора, поэтому это может привести к тому, что в установленное время не будет слышен сигнал будильника. Чтобы преодолеть эту проблему, многие цифровые будильники доступны для работы с батареей во время отключения питания.Коммерческие цифровые часы обычно более последовательны, чем потребительские часы. Потому что эти часы обеспечивают резервное копирование, чтобы поддерживать время работы от многолетней батареи при отключении питания.
Цифровой будильник на основе микроконтроллера 8051 с ЖК-дисплеем
Необходимые компоненты этой схемы цифрового часов на микроконтроллере 8051 с ЖК-дисплеем в основном включают ЖК-дисплей, микроконтроллер AT89C51, пресет, пьезо-зуммер и динамик. Функция каждого компонента этого проекта обсуждается ниже.
ЖК-дисплей ЖК-дисплей 16 × 2 является электронным дисплеем и используется в широком спектре приложений. Этот вид дисплеев используется в многосегментных светодиодах и 7-сегментных дисплеях. На этом ЖК-дисплее каждый символ отображается в матрице 5 × 7 пикселей. Этот ЖК-дисплей состоит из двух регистров, это регистр данных и регистр команд. Регистр команд – это приказ для ЖК-дисплея выполнять такие задачи, как очистка экрана, инициализация, управление отображением и установка положения курсора.Регистр данных (значение символа ASCII) используется для отображения сохраненных данных на ЖК-дисплее.
ЖК-дисплей Микроконтроллер AT89C51
Микроконтроллер AT89C51 относится к микроконтроллеру 8051. Он имеет 128 байт оперативной памяти и 4 КБ PEROM. Его можно удалить и перепрограммировать до 1000 раз. Он состоит из 40 контактов и разделен на четыре порта, а именно P1, P2, P3 и P4. Эти четыре порта являются 8-битными двунаправленными портами. За исключением порта P0, остальные порты используются как порты i / p и o / p.
Микроконтроллер AT89C51 Порты P0 и P2 используются для предоставления старшего и младшего байтовых адресов, когда эти порты подключены к внешней памяти.Порт 3 состоит из мультиплексированных выводов для различных функций, таких как аппаратные прерывания, последовательная связь, таймеры ввода / вывода и операции чтения или записи из внешней памяти. Этот микроконтроллер имеет встроенный UART для последовательной связи. Работа UART может быть выполнена на основе программы с различными скоростями передачи.
Preset
Preset – это трехкомпонентный электронный компонент, используемый для изменения сопротивления в цепи путем регулировки вращающегося управления на нем. Управление может осуществляться с помощью аналогичного инструмента и отвертки.Сопротивление не колеблется линейно, но слегка изменяется логарифмическим или экспоненциальным образом. Такие переменные резисторы используются для регулировки чувствительности с помощью датчика. Переменное сопротивление приобретается через переднюю клемму и оставшиеся две другие задние клеммы. Задние две клеммы обеспечивают устойчивое сопротивление, которое отделено от передней ножки. Поэтому всякий раз, когда используются задние две клеммы, он действует как стабильный резистор. Предварительные установки определяются их статическим значением сопротивления.
Preset Piezo Buzzer
Пьезо-зуммер используется для создания звука, основанного на противоположности пьезоэлектрическому эффекту.Этот зуммер может использоваться для оповещения пользователя о событии, эквивалентном переключающему действию, входу датчика или сигналу счетчика. Пьезо-зуммер используется в цепях сигнализации.
Piezo Buzzer Зуммер
Зуммер – это преобразователь, который преобразует электрическую энергию в звук. Когда на сигнал i / p динамика подается электрический сигнал, он создает звуковые волны. Оставшийся контакт подключен к клемме GND. Динамик обычно используется для генерации звука в ответ на o / p датчика.Например, в случае тревоги злоумышленника, когда происходит прерывание, громкоговоритель включается
Принципиальная схема цифровых часов Buzzer Это улучшенная версия схемы цифровых часов с ЖК-дисплеем. Он имеет дополнительную функцию для установки будильника в первую очередь. Для сброса дисплей побуждает пользователя установить будильник. Нажатием соответствующих переключателей можно непрерывно устанавливать компоненты. Эти переключатели являются активными низкими переключателями, и они могут обеспечить заземление для эквивалентных i / p-выводов микроконтроллера.Режим AM и PM фиксируется перемещением переключателя между клеммой VCC и GND. GND будет фиксировать CLK в режиме AM, в то время как Vcc будет устанавливать в режиме PM
Принципиальная схема цифровых часов После того, как аварийный сигнал зафиксирован, вывод аварийного сигнала подключается к VCC через переключатель. Процесс установки времени напоминает тот же, что и с простыми цифровыми часами. Когда время цифровых часов становится эквивалентным времени будильника, на ЖК-дисплее появляется сообщение «Тревога», и на некоторое время вывод тревоги микроконтроллера AT89C51 становится высоким.Этот вывод тревоги может быть связан с зуммером или динамиком для генерации тревоги в заранее установленное время.
Это все о схеме цифровых часов, которая разработана с использованием микроконтроллера AT89C51, Preset, Piezo Buzzer, Buzzer и ЖК-дисплея. Мы надеемся, что у вас есть лучшее понимание этого проекта цифрового будильника. Кроме того, любые вопросы, касающиеся этой концепции или проектов электроники, пожалуйста, оставьте свой отзыв, комментируя в разделе комментариев ниже. Вот вопрос для вас, каковы применения цифрового будильника?
Фото Кредиты:
. Как изменить тактовую частоту для снижения энергопотребления микроконтроллера
Разработчики всегда сталкиваются с проблемой обеспечения высокого уровня функциональности и производительности, одновременно увеличивая срок службы батареи. Кроме того, когда речь заходит о электронных продуктах, наиболее важной особенностью является потребление батареи. Следует как можно меньше увеличивать время работы устройства. Управление питанием очень важно в портативных и батарейных приложениях. Различия в потреблении микроампер могут привести к месяцам или годам эксплуатации, которые могут увеличить или уменьшить популярность и марку продукта на рынке.Увеличение продукции требует более эффективной оптимизации использования батареи. В настоящее время пользователям требуется более длительное время автономной работы с компактными размерами продуктов, поэтому производители фокусируются на меньших размерах батареи с очень долгим временем автономной работы, что является сомнительной задачей. Но разработчики придумали технологии энергосбережения, пройдя через множество факторов и критических параметров, влияющих на срок службы батареи.
Существует множество параметров, влияющих на использование батареи, таких как используемый микроконтроллер, рабочее напряжение, потребление тока, температура окружающей среды, условия окружающей среды, используемые периферийные устройства, циклы зарядки-перезарядки и т. Д.В связи с тенденцией появления интеллектуальных продуктов на рынке очень важно сначала сосредоточиться на используемом MCU, чтобы оптимизировать срок службы батареи. MCU становится важной частью, когда дело доходит до экономии энергии в продуктах небольшого размера. Поэтому рекомендуется сначала начать с MCU. Теперь MCU поставляется с различными методами энергосбережения. Чтобы узнать больше о минимизации энергопотребления в микроконтроллерах (MCU), обратитесь к предыдущей статье. В этой статье основное внимание уделяется одному из важных параметров снижения энергопотребления в микроконтроллере, а именно , изменяющему тактовую частоту , который необходимо соблюдать при использовании MCU для приложений с низким энергопотреблением.
Зачем изменять тактовую частоту в микроконтроллерах?
Из многих параметров, упомянутых выше, выбор тактовой частоты играет очень важную роль в энергосбережении. Исследование показывает, что неправильного выбора рабочей частоты микроконтроллеров может привести к значительной процентной (%) потере заряда батареи . Чтобы избежать этой потери, разработчики должны позаботиться о соответствующем выборе частоты для запуска микроконтроллера.Теперь нет необходимости в том, чтобы выбор частоты мог быть сделан изначально при настройке микроконтроллера, тогда как он также может быть выбран между программированием. Есть много микроконтроллеров, которые идут с выбором битов для выбора желаемой рабочей частоты. Также микроконтроллер может работать на нескольких частотах, поэтому разработчики могут выбрать соответствующую частоту в зависимости от приложения.
Как влияет выбор частоты на производительность?
Нет сомнений, что выбор различных частот повлияет на производительность микроконтроллера.Что касается микроконтроллера, то очень хорошо известно, что частота и производительность пропорциональны. Это означает, что чем больше частота, тем меньше будет время выполнения кода и, следовательно, будет выше скорость выполнения программы. Итак, теперь очень ясно, что если частота будет изменена, то производительность также изменится. Но не нужно, чтобы разработчики придерживались одной частоты только ради более высокой производительности микроконтроллера.
Низкая или Высокая частота, какую выбрать?
Это не всегда тот случай, когда микроконтроллер должен обеспечивать высокую производительность, есть несколько приложений, которым требуется умеренная производительность микроконтроллера, в таких приложениях разработчики могут снизить рабочую частоту с ГГц до МГц и даже до минимальной требуемой частоты запустить микроконтроллер.Хотя в некоторых случаях требуется оптимальная производительность, а также критично время выполнения, например, при управлении внешними флэш-АЦП без буфера FIFO или при обработке видео и многих других приложениях, в этих областях разработчики могут использовать оптимальную частоту микроконтроллера. Даже используя такую среду, разработчики могут разумно кодировать, чтобы уменьшить длину кода, выбирая правильную инструкцию.
Например: если для цикла требует больше инструкций и можно использовать несколько строк инструкций, которые используют меньше памяти для выполнения задачи без использования цикла для , то разработчики могут использовать несколько строк инструкций, избегая использования ‘для’ петли.
Выбор подходящей частоты для микроконтроллера зависит от требований задачи. Более высокая частота означает более высокое энергопотребление, но также и большую вычислительную мощность . Таким образом, выбор частоты является компромиссом между потребляемой мощностью и необходимой вычислительной мощностью.
Кроме того, основным преимуществом работы на низких частотах является низкий ток питания, помимо более низких RFI (радиочастотных помех).
Ток питания (I) = Ток покоя (I q ) + (K x Частота)
Второй член является преобладающим.Энергия RFI микроконтроллера настолько мала, что ее очень легко фильтровать.

Поэтому, если приложению нужна высокая скорость, не беспокойтесь о быстром запуске. Но если энергопотребление вызывает беспокойство, работайте настолько медленно, насколько позволяет приложение.
Техника коммутации тактовых частот
Устройство PLL (Phase Lock Loop) всегда существует в высокопроизводительном MCU, работающем на высокой скорости. PLL повышает входную частоту до более высокой частоты e.от 8 МГц до 32 МГц. Разработчик может выбрать подходящую рабочую частоту для приложения. Некоторым приложениям не нужно работать на высокой скорости, в этом случае разработчики должны поддерживать тактовую частоту MCU как можно ниже, чтобы выполнить задачу. Однако в платформе с фиксированной частотой, такой как недорогой 8-разрядный микроконтроллер , который не содержит единицу ФАПЧ, необходимо улучшить код команды, чтобы уменьшить энергию обработки . Кроме того, MCU, который содержит блок PLL, не может использовать преимущества технологии переключения частоты, которая позволяет MCU работать на высокой частоте в период обработки данных, а затем возвращаться к работе на низких частотах в течение периода передачи данных.
На рисунке показано использование устройства ФАПЧ в Техника переключения частоты .

Выбор режимов работы управления часами
Некоторые высокоскоростные микроконтроллеры поддерживают различные режимы управления часами, такие как режим остановки , режимы управления питанием (PMM) и режим ожидания . Можно переключаться между этими режимами, позволяя пользователю оптимизировать скорость устройства при одновременном потреблении энергии.
Выбираемый источник синхронизации
Кристаллический генератор является крупным потребителем энергии на любом микроконтроллере, особенно при работе на малой мощности. Кольцевой генератор, используемый для быстрого пуска из режима «Стоп», также может быть использован для обеспечения источника тактовой частоты примерно от 3 до 4 МГц при нормальной работе. Хотя кварцевый генератор все еще требуется при включении питания, после стабилизации кристалла работу устройства можно переключить на кольцевой генератор, обеспечив экономию энергии до 25 мА.
Контроль тактовой частоты
Рабочая частота микроконтроллера – это самый большой фактор, определяющий энергопотребление. Семейство микроконтроллеров высокоскоростных микроконтроллеров поддерживает различные режимы управления тактовой частотой, которые позволяют экономить электроэнергию за счет замедления или остановки внутренних часов. Эти режимы позволяют разработчику системы максимально экономить электроэнергию с минимальным влиянием на производительность.
Выполнение программного обеспечения из энергонезависимой памяти или ОЗУ
Разработчики должны тщательно учитывать, выполняется ли программное обеспечение из энергонезависимой памяти или ОЗУ, при оценке текущего потребления.Выполнение из ОЗУ может предложить более низкие спецификации активного тока; однако многие приложения не настолько малы, чтобы выполнять их только из ОЗУ, и требуют, чтобы программы выполнялись из энергонезависимой памяти.
Шинные часы включены или отключены
Большинству приложений микроконтроллеров необходим доступ к памяти и периферийным устройствам во время выполнения программного обеспечения. Это требует включения тактовых импульсов и должно учитываться в текущих текущих оценках.
Использование внутреннего генератора
Использование внутренних генераторов и исключение внешних генераторов может сэкономить значительную энергию.Поскольку внешние генераторы потребляют больше тока, что приводит к большему потреблению энергии. Также не является жестким ограничением, что следует использовать внутренний генератор, поскольку внешние генераторы рекомендуется использовать, когда приложения требуют большей тактовой частоты.
Заключение
Создание продукта с низким энергопотреблением начинается с выбора MCU, и это значительно затрудняет доступ к различным вариантам на рынке. Изменение частоты может оказать большое влияние на энергопотребление, а также дать хороший результат энергопотребления.Дополнительное преимущество изменения частоты заключается в том, что нет дополнительных затрат на оборудование, и может быть легко реализовано в программном обеспечении . Этот метод может быть использован для повышения энергоэффективности недорогого MCU. Кроме того, величина энергосбережения зависит от разницы между рабочими частотами, временем обработки данных и архитектурой MCU. Экономия энергии до 66,9% может быть достигнута при использовании техники переключения частоты по сравнению с обычной работой.
В конце концов, для разработчиков, серьезным вызовом является удовлетворение потребностей в увеличении функциональных возможностей системы и задач производительности при одновременном увеличении времени автономной работы продуктов. Чтобы эффективно разрабатывать продукты, обеспечивающие максимально возможное время автономной работы – или даже работающие без батареи – требуется глубокое понимание как системных требований, так и текущих спецификаций микроконтроллера. Это гораздо сложнее, чем просто оценить, сколько тока MCU потребляет, когда активно. В зависимости от разрабатываемого приложения, изменение частоты, ток в режиме ожидания, периферийный ток могут оказывать более существенное влияние на срок службы батареи, чем питание MCU.
Эта статья была создана, чтобы помочь разработчикам понять, как MCU потребляют энергию с точки зрения частоты и могут быть оптимизированы с изменением частоты.
,Светодиодная схема двоичных часов с использованием Arduino
В этом проекте мы собираемся изготовить двоичные часы с использованием Arduino . Здесь мы разработали печатную плату (PCB) для реализации этих часов. Для разработки макета печатной платы мы использовали онлайн-инструмент EasyEDA для проектирования печатных плат.
Необходимые компоненты:
- Arduino Nano
- DS1307 RTC
- 32,768 кГц Crystal
- 3в монетная ячейка
- Резистор 1к, 10к
- Блок питания
- светодиодов
Принципиальная схема и пояснение:

Это очень простой, дешевый и интересный проект для ученика.В этой светодиодной схеме двоичных часов мы использовали Arduino Nano для управления всем проектом, таким как время чтения из RTC и отображение его на светодиодах. Монетная ячейка 3.0v подключена к RTC IC для резервного копирования. Узнайте больше об использовании DS1307 RTC с Arduino здесь.
20 светодиодов подключены здесь в виде матрицы. Итак, у нас 6 столбцов и 4 строки . 2 столбца используются для отображения часа, следующие два столбца для минут и следующие столбцы для секунд. Мы использовали 6 PNP транзисторов для запуска светодиодов в 6 столбцах.Пользователь может питать всю цепь только 5 В, здесь мы использовали ноутбук USB для питания. Остальные соединения показаны на принципиальной схеме.

Далее, проверьте полный код Arduino и демонстрационное видео в конце этой статьи.
Как рассчитать и прочитать время в двоичных часах:
Как мы знакомы с двоичными числами, которые равны нулю и единице. Таким образом, используя их, мы можем показать время и преобразовать это двоичное время в десятичное.Используя число 8 4 2 1 (написанное справа на печатной плате), мы можем преобразовать двоичный код в десятичный.
Предположим, у нас есть двоичное число, например:
1 0 1 0, поэтому это будет 10 в десятичном виде. Когда мы конвертируем двоичный код в десятичный, мы добавляем только один.
Здесь со стороны MSB (старшего значащего бита) у нас есть 1, это означает 8, а далее 0 означает, что это 0 и не должно быть включено. Далее снова 1 означает 2, а последний 0, поэтому последний также не будет включен.
Итак, наконец, у нас есть
8 + 0 + 2 + 0 = 10
В принципе, мы можем принять это так:
8x1 + 4x0 + 2x1 + 1x0 = 10
Теперь мы можем понять время с картинки:

В приведенном выше примере мы видим 6 столбцов и 4 строки.В них у нас есть 2 столбца группы ЧЧ для часа, ММ для минут и СС для секунд . На правой стороне печатной платы мы видим строки с номерами 1, 2, 4 и 8, эти числа используются для преобразования двоичного числа в десятичное
Обратите внимание, что мы читаем столбцы с правой стороны . Итак, прежде всего, смотрите столбцы HH, есть два столбца времени. В первом столбце времени нет светящихся средств:
2x0 + 1x0 = 0
В следующем столбце мы видим, что в средстве с 1 строкой светится один светодиод.Итак, согласно 8 4 2 1
8x0 + 4x0 + 2x0 + 1x1 = 1
Итак, в столбце HH мы получили 01.
В первом столбце ММ (минуты), мы видим, что в 1-м ряду светится один светодиод, значит
4 2 1
4x0 + 2x0 + 1x1 = 1
Во втором столбце ММ видно, что в строке № 8 светится один светодиод означает
8 4 2 1
8x1 + 4x0 + 2x0 + 1x0 = 8
Таким образом, мы получили минуту как 18
В первом столбце SS (секунд), , мы видим, что в строке 4 светится один светодиод, значит
4 2 1
4x1 + 2x0 + 1x0 = 4
Во втором столбце SS мы видим, что в строке № 1 светится два светодиода, а строка № 4 означает
.8 4 2 1
8x0 + 4x1 + 2x0 + 1x1 = 5
Таким образом, мы получили минуту как 45
Итак, наконец, у нас есть время как 01:18:45
ЧЧ ММ СС
01 18 45
Полный код Arduino и демонстрационное видео приведены в конце этой статьи.
Схема и дизайн печатной платы с использованием EasyEDA:
Для разработки этой светодиодной схемы двоичных часов мы выбрали онлайновый инструмент EDA под названием EasyEDA. Ранее я много раз использовал EasyEDA и нашел его очень удобным, так как он имеет хорошую коллекцию следов и с открытым исходным кодом. Проверьте здесь все наши проекты печатных плат. После проектирования печатной платы мы можем заказать образцы печатной платы с помощью недорогих услуг по их изготовлению. Они также предлагают услугу поиска компонентов, где у них есть большой запас электронных компонентов, и пользователи могут заказать необходимые компоненты вместе с заказом на печатную плату.
При проектировании ваших микросхем и печатных плат вы также можете сделать ваши схемы и печатные платы общедоступными, чтобы другие пользователи могли копировать или редактировать их и получать от этого выгоду, мы также сделали общедоступными все наши схемы и печатные платы для этого Arduino Binary Часы , проверьте по ссылке ниже:
https://easyeda.com/circuitdigest/BinaryClock-4a25419d21cc424c9989a8f6a4633f5e
Вы можете просматривать любой слой (верхний, нижний, верхний шёлк, нижний шёлк и т. Д.) Печатной платы, выбрав слой из окна «Слои».

Вы также можете просмотреть печатную плату, как она будет выглядеть после изготовления, с помощью кнопки Photo View в EasyEDA:

Расчет и заказ образцов онлайн:
После завершения проектирования этой платы двоичных часов Arduino вы можете заказать плату через JLCPCB.com. Чтобы заказать печатную плату у JLCPCB, вам нужен Gerber File. Чтобы загрузить файлы Gerber с вашей печатной платы, просто нажмите кнопку Fabrication Output на странице редактора EasyEDA, а затем загрузите ее со страницы заказа EasyEDA PCB.
Теперь перейдите на JLCPCB.com и нажмите на кнопку Цитировать сейчас или Купить , затем вы можете выбрать количество печатных плат, которые вы хотите заказать, сколько слоев меди вам нужно, толщину печатной платы, вес меди и даже цвет печатной платы, как показано на снимке ниже:


После того, как вы выбрали все опции, нажмите «Сохранить в корзину», и вы попадете на страницу, где вы можете загрузить свой файл Gerber, который мы скачали с EasyEDA.Загрузите файл Gerber и нажмите «Сохранить в корзину». И, наконец, нажмите «Оформить заказ безопасно», чтобы завершить заказ, и через несколько дней вы получите свои печатные платы. Они изготавливают печатные платы по очень низкой цене, которая составляет 2 доллара. Их время сборки также очень мало, что составляет 48 часов с доставкой DHL 3-5 дней, в основном вы получите свои печатные платы в течение недели после заказа.

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


И после получения этих частей я спаял все необходимые компоненты на печатной плате, поместил кодированный Arduino Nano и запитал его напряжением 5 В, чтобы увидеть Binary Clock в действии .


, Микроконтроллеры. Руководство для начинающих. Таймеры и счетчики
Микроконтроллер – Руководство для начинающих – Базовое и стандартное использование таймера и счетчика и часов микроконтроллера
Таймеры и счетчики настолько важны, что вы найдете много примеров по всему
этот учебник серии. Как следует из названия, таймеры могут сообщать время и считать. Counting
и время учитывает некоторые действительно крутые вещи, такие как управление яркостью
Светодиоды, контролирующие угол сервоосей, принимающие данные датчиков, которые передают
в ШИМ (широтно-импульсная модуляция – подробнее об этом в другом учебнике), делая таймер
(как на плите), или просто добавив переменную времени в ваш микроконтроллер
проект.
Но сначала важно знать, что внутри (или снаружи) микроконтроллеров AVR есть часы. Фактически, все микроконтроллеры имеют часы (или используют тот, который находится вне микроконтроллера). Микроконтроллерам нужны часы, чтобы наши программы могли выполняться в такт с часами. Это основная функция микроконтроллеров. Основная инструкция обрабатывается, когда проходит тик от часов. Точно так же, как эти программы, которые мы пишем, по мере того, как такты часов проходят, инструкции обрабатываются во времени с тактами часов.
Функции таймера и счетчика в микроконтроллере просто считаются синхронно с часами микроконтроллера. Однако счетчик может рассчитывать только до 256 (8-разрядный счетчик) или до 65535 (16-разрядный счетчик). Это далеко от 1000000 тиков в секунду, которые обеспечивает стандартный микроконтроллер AVR. Микроконтроллер обеспечивает очень полезную функцию, называемую предварительным масштабированием. Предварительное масштабирование – просто способ для счетчика пропустить определенное количество тактов микроконтроллера. Микроконтроллеры AVR позволяют предварительно масштабировать (пропускать) числа: 8, 64, 256 и 1024.То есть, если 64 установлен как прескалер, то счетчик будет считать только каждый раз, когда часы тикают 64 раза. Это означает, что за одну секунду (когда микроконтроллер тикает миллион раз) счетчик будет считать только до 15 625. Вы могли видеть, что если счетчик считает до этого числа, то вы сможете мигать светодиодом каждую секунду.
В основном, таймеры имеют регистр управления и регистр, который содержит счет
число.Регистр управления содержит несколько переключателей для включения и выключения функций.
И вы уже догадались … одной из особенностей является то, какую предварительную настройку выбрать. Контроль
регистр называется TCCR0 или TCCR1 (регистр управления таймером / счетчиком). TCCR0 является
8-битный регистр управления и имеет только 8-битный регистр управления, так что есть только
8 переключателей для включения и выключения. TCCR1 является 16-разрядным, поэтому он имеет 16 переключателей для включения
и выключен, но он поставляется в двух 8-битных регистрах, помеченных A и B (TCCR1A и TCCR1B).Переключатели: FOC (Force Output Compare), WGM (Waveform Generation).
Mode), COM (режим сравнения результатов сравнения) и CS (выбор часов).
Регистр, который содержит счет, называется регистром TCNT. И есть 8-битный
версия (TCNT0) и 16-битная версия (TCNT1). Регистр TCNT1 фактически получает
число из двух других 8-битных регистров для создания полного 16-битного числа, но это
все сделано за кулисами (абстрагировано), поэтому вам не нужно беспокоиться о том, как
TCNT1 получает 16-битную способность, просто подумайте, что это волшебство.
На видео показаны две программы: одна показывает только мигание одного светодиода.
примерно за 1 секунду, и другая программа, которая преследует один ряд из 7 светодиодов
каждую секунду, и еще один ряд из 7 светодиодов, чеканка каждого в 1 секунду. Последняя программа
здесь показан, поскольку он имеет большинство функций, используемых с 16-битным таймером.
Не повторяя предыдущие посты, программа инициализирует порты
для светодиодов и устанавливает таймер / счетчик # 1 (16-битный таймер).Контроль TCCR1B
регистр используется для установки коэффициента предварительного масштабирования 64 с переключателями CS10 и CS11.
Поскольку мы хотим, чтобы один из 7 светодиодов гнался по 1/7 секунды, мы берем число
15 625 (1000000/64 – помните, что 1000000 – это тактовая частота микроконтроллера 1 МГц)
и разделите его на 7, чтобы получить ~ 2232,143. Теперь вы говорите, но вы используете только 2232
в пограмме !! это потому, что TCNT1 будет принимать только целые числа (без десятичных дробей).Сейчас
Вы говорите, время будет выключено на количество десятичных! Правда, но
Внутренние часы AVR в любом случае +/- 10% неточны. Если используется внешний кристалл,
Вы должны использовать идеальное число, которое представляет соответствующий счет.
Вы заметите, что TCNT1 также сбрасывается в ноль вручную. Это нужно иначе
TCNT1 будет продолжать считать после установленного условия 2232.Есть другие
функции управления, которые имеют автоматическое обнуление этого числа, но мы получим
что в другом уроке. Остальные части программы используют материал, который мы узнали
я предыдущие уроки (включение и выключение светодиодов и массивов).
#include
int main (void)
{
DDRB = 0b01111111;
PORTB = 0b00000000;
DDRD = 0b01111111;
PORTD = 0b00000000;
TCCR1B | = 1
int LEDNumber [2];
while (1)
{
если (TCNT1> 2232)
{
TCNT1 = 0;
PORTB = 1
LEDNumber [0] ++;
if (LEDNumber [0]> 6)
{ LEDNumber [0] = 0;
PORTD = 1 << LEDNumber [1];
LEDNumber [1] ++;
if (LEDNumber [1]> 6)
LEDNumber [1] = 0;
}
}
}
}
,


Похожие статьи:
LED часы на ATtiny2313 и DS1307
LED часы на семисементных индикаторах на микроконтроллере ATtiny2313 и микросхеме DS1307. Считают время даже когда выключены!
Автор:
139 
4.4 [5]
Похожие статьи: 2012 г.Часы на Arduino с использованием стандартного индикатора
Эти простые часы на Arduino прекрасно справляются с поставленной на них задачей индикации времени. Они поддерживают относительно точное время без использования RTC микросхем, для индикации которого используется стандартный дисплей, применяемый во многих готовых часах. Также возможно регулировать яркость цифр.
Автор:
Т@р@с
2
0 [0] Электронные часы-будильник на газоразрядных индикаторах и МК
Завораживающее неоновое свечение отчасти похожее на свечение электровакуумных ламп, похожий внешний вид. Все это дает ощущение прошлого на этапе освоения, познания и начала применения электричества, насколько можно представить по книгам, фильмам, иллюстрациям. Но обо всем по-порядку…
Автор:
crazzian
396
4.9 [7]
Похожие статьи: Модернизация бортового компьютера на ATmega8
После публикации статьи Бортовой компьютер (часы, двухканальный термометр, вольтметр на ATmega8 и LCD 16х2) прошел уже почти год, и за это время я получил много писем с просьбами изменить прошивку под нужды пользователей. Я решил добавить в схему устройства кнопки, организовать меню с настройками, чтобы каждый мог настроить БК под себя.
Автор:
u33
373
5 [6]
Похожие статьи: Весь список теговМногофункциональные цифровые часы на микроконтроллере Attmega8. Схема и описание
Данная статья описывает конструкцию цифровых часов на микроконтроллере Attmega8, которые снабжены секундомером, будильником, таймером обратного отсчета. В часах реализована функция отображения дня недели и даты с возможностью комбинированного отображения даты и времени. Имеется автоматическое переключение на летнее и зимнее время, а так же учет високосного года.
Дисплей построен на шести 7-сегментных светодиодных индикаторов с регулировкой яркости. Часы также оснащены резервным питанием от батарей.
Описание конструкции микроконтроллерных часов
Как уже было сказано выше, часы имеют шестизначный дисплей, состоящий из двух трехзначных дисплеев T-5631BUY-11, работающий в мультиплексном режиме. Аноды индикаторов сгруппированы по разрядам и переключаются с помощью транзисторов Т1…Т6.
Катоды сгруппированы в сегменты и питаются непосредственно от микроконтроллера IO1 Attmega8. Частота мультиплексирования составляет 100Гц.
Часы контролируется низкочастотным кварцевым резонатором X1 с частотой 32768 Гц. В результате активации бита CKOPT, разрешающего использование внутренних конденсаторов 36пф для кварца, отпадает необходимость в использовании внешних конденсаторов.
В случае возникновении проблем с запуском генератора, можно попробовать подключить 2 конденсатора по 22пф. Для еще большей точности часов можно вообще отключить внутренние конденсаторы (сбросить бит СKOPT) и оставить только внешние.
Пъезоизлучатель REP1 издает звуковой сигнал будильника и сигнализирует о завершении работы таймера. Во время звукового сигнала на выводе 16 (порт PB2) появляется лог.1. Этот сигнал можно использовать для управления какой-либо нагрузкой.
Управление часами производится тремя кнопками — минуты, часы и режим. Кнопки подключены через резисторы, которые защищают порты микроконтроллер Attmega8. Схема питается от источника 5 вольт (7805). Потребление тока в основном зависит от числа активных индикаторов, а так же от степени настройки яркости.
При максимальной яркости ток потребления доходит до 60 мА. Часы снабжены резервной батареей питания. Во время работы от батареи, часы переходят в экономичный режим, при котором дисплей выключен. Так же в этом режиме не активны и кнопки за исключением случая, когда необходимо отключить звуковой сигнал.
Напряжение резервного питания от 3 до 4,5 В. Это может быть одна батарея на 3В, три NiMH или NiCd по 1,2 В или один аккумулятор Li-Pol или Li-Ion (от 3,6 до 3,7 В). Ток потребления от 3В батареи составляет всего лишь 5…12мA. Время автономной работы часов в экономичном режиме от батареи 3В типа CR2032 со стандартной емкостью 200mAh теоретически должно хватить примерно на 2,5 — 3 лет.
Программное обеспечения для микроконтроллера находится в конце статьи. Биты конфигурации необходимо выставить следующим образом:
Управление часами
Часы управляются с помощью TL1-минута, час-TL2 и TL3-режим. Кнопки часы и минуты используются в режиме часов для назначения часов и минут. В других режимах они имеют различные функции. Кнопка режима переключает между различными режимами, которых в общей сложности 8:
Режим 1-й — Часы
В этом режиме на дисплее отображается текущее время в формате «ЧЧ.ММ.СС». Кнопка часов используется для установки часов. Кнопка минут для установки минут. При ее нажатии происходит сброс секунд.
Режим 2-й — Включение перехода на летнее время и установки года
Здесь Вы можете включать и выключать автоматический переход между летним и зимним временем и установить год. Данные следующего формата «AC ‘RR» (АС – автоматическое время, пробел, последние две цифры года).
Режим 3-й — Таймер обратного отсчета
Это режим позволяет организовать обратный отсчет от заданного значения до нуля. По истечении этого времени раздастся звуковой сигнал и светится светодиод LED1. Звуковой сигнал может быть остановлен нажатием кнопки Режим. Данные следующего формата «ЧЧ.ММ.СС». Максимально возможное значение составляет 99.59.59 (почти 100 часов).
Режим 4-й – Комбинированный вывод информации
В этом режиме, попеременно показывается:
- текущее время в формате «ЧЧ.ММ.СС»
- дата в формате «AA.DD.MM.»
Каждый формат отображается в течение 1 секунды. В этом режиме используются кнопки Часов и Минут, для регулировки яркости дисплея (Часы-, Минуты+). Яркость изменяется логарифмически в 6 этапов: 1/1, 1/2, 1/4, 1/8, 1/16 и 1/32-й. По умолчанию установлено 1/2
Режим 5-й — Установка дня недели и режим работы будильника
В этом режиме можно установить день недели — с понедельника по воскресенье (отображается как пн, вт, ср, чт, пт, сб, вс), включать будильник и выбирать его режим работы. Данные следующего формата «AA AL._» (день недели, пробел, AL., Настройка будильника).
Кнопка часов устанавливает день недели. Кнопка минут используется для включения/выключения звукового сигнала будильника и выбора режима его работы: «AL._» = будильник не активный, «AL.1″ = будильник сигналит 1 раз (затем автоматически переходит в положение»AL._»), «AL.5» = сигнал будильника только в будние дни (пн-пт, кроме сб-вс), «AL.7» = будильник звонит каждый день
Режим 6-й – Установка дня недели и даты
Кнопка часов позволяет установить день месяца. Кнопка минут позволяет установить месяц.
Режим 7-й — Секундомер
Секундомер позволяет измерять время с точностью 0,1 сек. Максимальное время измерения составляет 9.59.59.9 (почти 10 часов). Данные следующего формата «H.MM.SS.X». Кнопка минут используется для запуска и остановки секундомера. Кнопка часов используется для сброса.
Режим 8-й — Будильник
Этот режим используется для отображения и установить время будильника (ALARM). Данные следующего формата «HH.MM.AL». Кнопка Минуты устанавливает минуту будильника, кнопку Часы устанавливает час будильника.
Ниже приведена схема аналогичных часов, имеющие индикатор с общим катодом
Скачать прошивку с общим анодом (37,7 KiB, скачано: 1 061)
Скачать прошивку с общим катодом (29,9 KiB, скачано: 502)
http://danyk.cz
«Тикающие» часы с будильником на микроконтроллере 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.
Фото и видео часов
Часы собраны в корпусе из под нерабочей «электроники».Простые часы на микроконтроллере AVR
Схема и программа очень простых часов на микроконтроллере AVR с использованием микросхемы реального времени DS1307
Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“
Сегодня, уважаемые радиолюбители, вашему вниманию предлагается очень простая схема часов на микроконтроллере AVR и часов реального времени с последовательным интерфейсом I2C DS1307.
Конструкция собрана на микроконтроллере ATyni26 (просто именно этот МК был под рукой). Но вы можете применить любой другой МК, главное чтобы у него было 13 свободных входов – 11 для вывода текущего времени на четырехразрядный семисегментный светодиодный индикатор и 2 вывода – на кнопки установки и коррекции времени.
Схема часов:
В схеме применены следующие детали:
– Микроконтроллер – ATyni26 в DID корпусе
– Часы реального времени – DS1307 в DIP корпусе
– Кварц – 32,768 кГц, с входной емкостью 12 пф (можно взять с материнской платы компьютера), от этого кварца зависит точность хода часов
– резервное питание DS1307 – 3 вольтовый литиевый элемент CR2032
– 4-разрядный семисегментный светодиодный индикатор – FYQ-5641UB -21 с общим катодом (ультраяркий, голубого цвета свечения)
– все транзисторы – NPN-структуры, можно применить любые (КТ3102, КТ315 и их зарубежные аналоги), я применил ВС547С
– микросхемный стабилизатор напряжения типа 7805
– все резисторы мощностью 0,25 ватт
– полярные конденсаторы на рабочее напряжение 50 вольт
Ток потребления устройством составляет до 30 мА.
Для питания конструкции можно использовать любое ненужное зарядное устройство от телефона или подходящий блок питания с выходным напряжением 7-9 вольт.
Общение микроконтроллера с часами DS1307 происходит по шине I2C и организовано программным путем.
Батарейку резервного питания часов DS1307 можно и не ставить, но в этом случае, при пропадании напряжения в сети, текущее время придется устанавливать заново.
Печатная плата устройства не приводится, конструкция была собрана в корпусе от неисправных механических часов. Светодиод (с частотой мигания 1 Гц) служит для разделения часов и минут в конструкции.
Работа программы.
Тактовая частота работы микроконтроллера – 1 мГц (заводская установка, FUSE-биты трогать и устанавливать не надо). Размер программы – 1 килобайт.
При запуске программы происходит:
– запуск таймера Т0 с предустановленной частотой СК/8 и вызовом прерывания по переполнению (при такой предустановленной частоте вызов прерывания происходит каждые 2 миллисекунды)
– инициализация портов (порты РА0-6 и РВ0-3 настраиваются на вывод, РА7 и РВ6 на ввод)
– инициализация шины I2C (выводы РВ4 и РВ5)
– при первом запуске, или повторном запуске при отсутствии резервного питания DS307, проверяется 7 бит (СН) нулевого регистра DS1307 и происходит переход в первоначальную установку текущего времени. При этом, кнопка S1 – для установки времени, кнопка S2 – переход к следующему разряду. Установленное время – часы и минуты записываются в DS1307 (секунды устанавливаются в ноль), а также вывод SQW/OUT (7-й вывод) настраивается на генерацию прямоугольных импульсов с частотой 1 Гц
– разрешается глобальное прерывание
– программа переходит в цикл с опросом копки S2
При переполнения счетчика таймера Т0 программа переходит к обслуживанию прерывания (каждые 2 мс):
– считывается текущее время с DS1307 которое записывается в четыре переменные SRAM (десятки часов, единицы часов, десятки минут, единицы минут)
– подпрограммой вывода текущего времени производится динамическая индикация текущего времени на светодиодном индикаторе
– при нажатии кнопки S2 программа запрещает глобальное прерывание и переходит в подпрограмму коррекции времени (кнопками S1 и S2 устанавливаются десятки и единицы минут, затем, с 0 секунд, нажатием кнопки S2 происходит запись уточненного времени в DS1307, разрешение глобального прерывания и возвращение в основную программу).
Примененные в схеме часы DS1307 позволяют выводить на индикацию секунды, минуты, часы, день недели, дату и год.
Если в схеме вместо светодиодных индикаторов применить LCD дисплей, к примеру WH0802 (двухстрочный, с выводом восьми символов в строке) или аналогичный, то можно организовать полноценные часы с полным выводом текущего времени, а питание устройства организовать от гальванических элементов или аккумуляторных батарей.
Расположение выводов микроконтроллера ATyni26:
Расположение выводов DS1307:
Типовая схема подключения D1307:
Рекомендуемая схема подключения кварца к DS1307:
Общение микроконтроллера с часами реального времени DS1307 организовано программным путем, поэтому в схеме можно применить микроконтроллер у которого нет аппаратного модуля I2C.
Программа написана в среде Algorithm Builder, и если вы используете эту программную среду, то сможете ознакомиться с алгоритмом общения микроконтроллера с другими устройствами по шине I2C (в алгоритме подробно прокомментирована каждая строчка).
Даташит DS1307 на русском (312.1 KiB, 1,878 hits)
Часы на ATyni26 в Algorithm Builder (8.2 KiB, 1,823 hits)
Программа часов на ATyni26 в HEX коде (3.1 KiB, 1,675 hits)
Схема часов в формате sPlan7 (119.3 KiB, 6,171 hits)
С51 (YSZ-4) Электронные часы-конструктор на микроконтроллере
Данные часы уже несколько раз обозревались, но я надеюсь, что мой обзор будет тоже Вам интересным. Добавил описание работы и инструкцию.Конструктор покупался на ebay.com за 1.38 фунтов (0.99+0.39 доставка), что эквивалентно 2.16$. На момент покупки это самая низкая цена из всех предложенных.
Доставка заняла около 3х недель, набор пришел в обычном полиэтиленовом пакетике, который в свою очередь был упакован в небольшой «пупырчатый» пакет. На выводах индикатора был небольшой кусочек пенопласта, остальные детали были без какой либо защиты.
Из документации только небольшой листочек формата А5 со списком радиодеталей с одной стороны и принципиальной электрической схемой с другой.

1. Принципиальная электрическая схема, используемые детали и принцип работы

Основой или «сердцем» часов является 8-ми разрядный КМОП микроконтроллер AT89C2051-24PU оснащенный Flash программируемым и стираемым ПЗУ объемом 2кб.
Узел тактового генератора собран по схеме (рис.1) и состоит из кварцевого резонатора Y1 двух конденсаторов C2 и С3, которые образуют вместе параллельный колебательный контур.

Изменением емкости конденсаторов можно в небольших пределах изменять частоту тактового генератора и соответственно точность хода часов. На рисунке 2 показан вариант схемы тактового генератора с возможностью регулировки погрешности часов.Узел начального сброса служит для установки внутренних регистров микроконтроллера в начальное состояние. Он служит для подачи после подключения питания на 1 вывод МК единичного импульса длительностью не менее 1 мкс (12 периодов тактовой частоты).
Состоит из RC цепочки, образуемой резистором R1 и конденсатором C1.
Схема ввода состоит из кнопок S1 и S2. Программно сделано так, что при одиночном нажатии любой из кнопок в динамике раздается одиночный сигнал, а при удержании двойной.
Модуль индикации собран на четырехразрядном семисегментном индикаторе с общим катодом DS1 и резистивной сборке PR1.
Резистивная сборка представляет собой набор резисторов в одном корпусе:

Звуковая часть схемы представляет собой схему собранную на резисторе R2 10кОм, pnp транзисторе Q1 SS8550(выполняющего роль усилителя) и пьезоэлемента LS1.
Питание подается через разъем J1 с подключенным параллельно сглаживающим конденсатором C4. Диапазон питающих напряжений от 3 до 6В.
2. Сборка конструктора
Сборка трудностей не вызвала, на плате подписано, куда какие детали паять.
Много картинок – сборка конструктора спрятана под спойлером
3. Установка текущего времени, будильников и ежечасового сигнала.
После включения питания дисплей находится в режиме («ЧАСЫ: МИНУТЫ») и отображает время по умолчанию 12:59. Ежечасный звуковой сигнал включен. Оба будильника включены. Первый установлен на время срабатывания 13:01, а второй – 13:02.

При каждом кратковременном нажатии на кнопку S2 дисплей будет переключаться между режимами («ЧАСЫ: МИНУТЫ») и («МИНУТЫ: СЕКУНДЫ»).
При длительном нажатии кнопки S1 происходит вход в меню настроек, состоящее из 9 подменю, обозначенных буквами A, B, C, D, E, F, G, H, I. Подменю переключаются кнопкой S1, значения изменяются кнопкой S2. После подменю I следует выход из меню настроек.А: Установка показаний часов текущего времени
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю B.

B: Установка показаний минут текущего времени
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.

C: Включение ежечасного звукового сигнала
По умолчанию включено (ON) – каждый час с 8:00 до 20:00 подается звуковой сигнал. При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в подменю D.

D: Включение\выключение первого будильника
По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю E и F пропускаются.

E: Установка показаний часов первого будильника
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю F.

F: Установка показаний минут первого будильника
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.

G: Включение\выключение второго будильника
По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю H и I пропускаются и происходит выход из меню настроек.

H: Установка показаний часов второго будильника
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю I.

I: Установка показаний минут второго будильника
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для выхода из меню настроек.

Коррекция секунд
В режиме («МИНУТЫ: СЕКУНДЫ») необходимо удержать кнопку S2 для обнуления секунд. Далее коротким нажатием на кнопку S2 запустить отсчет секунд.

4. Общие впечатления от часов.
Плюсы:
+ Низкая цена
+ Легкая сборка, минимум деталей
+ Удовольствие от самостоятельной сборки
+ Достаточно низкая погрешность (у меня за сутки отстали на несколько секунд)Минусы:
— После отключения питания не держит время
— Отсутствие какой либо документации, кроме схемы (данная статья частично решила этот минус)
— Прошивка в микроконтроллере защищена от считывания
5. Дополнительно:
1) На безграничных просторах интернета нашел инструкцию к этим часам на английском языке и перевел ее на русский. Скачать ее можно здесь2) Проблему аварийного питания при отключении электроэнергии можно решить при помощи батарейки на 3В и двух диодов:

ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК
Предлагаю для повторения схему простых электронных часов с будильником, выполненные на микроконтроллере типа PIC16F628A. Большим плюсом данных часов является светодиодный индикатор типа АЛС, для отображения времени. Лично мне порядком надоели всевозможные ЖКИ и хочется иметь возможность видеть время из любой точки комнаты в том числе в темноте, а не только прямо с хорошим освещением. Схема содержит минимум деталей и имеет отличную повторяемость. Часы испытаны на протяжении месяца, что показало их надежность и работоспособность. Думаю из всех схем в интернете, эта наиболее простая в сборке и запуске.
Принципиальная схема электронных часов с будильником на микроконтроллере:
Как видно из схемы часов, микроконтроллер является единственной микросхемой, используемой в данном устройстве. Для задания тактовой частоты используется кварцевый резонатор на 4 МГц. Для отображения времени использованы индикаторы красного цвета с общим анодом, каждый индикатор состоит из двух цифр с десятичными точками. В случае использования пьезоизлучателя, конденсатор С1 – 100мкФ можно не ставить.

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

Индикация в часах осуществляется динамически. В данный конкретный момент времени отображается лишь одна цифра, что позволяет значительно снизить потребление тока. Аноды каждой цифры управляются микроконтроллером PIC16F628A. Сегменты всех четырех цифр соединены вместе и через токоограничивающие резисторы R1 … R8 подключены к выводам порта МК. Поскольку засвечивание индикатора происходит очень быстро, мерцание цифр становится незаметным. 
Для настройки минут, часов и будильника – используются кнопки без фиксации. В качестве выхода для сигнала будильника используется вывод 10, а в качестве усилителя – каскад на транзисторах VT1,2. Звукоизлучателем является пьезоэлемент типа ЗП. Для улучшения громкости вместо него можно поставить небольшой динамик. 
Питаются часы от стабилизированного источника напряжением 5В. Можно и от батареек. В часах реализовано 9 режимов индикации. Переход по режимам осуществляется кнопками “+” и “-“. Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки – одна секунда.
Кнопкой “Коррекция” часы – будильник переводятся в режим настроек. При этом кратковременная подсказка выводится на пол секунды, после чего корректируемое значение начинает мигать. Коррекция показаний осуществляется кнопками “+” и “-“. При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Все значения, кроме часов, минут и секунд, записываются в EEPROM и восстанавливаются после выключения – включении питания.

Если в течение нескольких секунд ни одна из кнопок не нажата, то электронные часы переходят в режим отображения времени. Нажатием на кнопку “Вкл/Выкл” включается или выключается будильник, это действие подтверждается коротким звуком. При включенном будильнике светится точка в младшем разряде индикатора. Думал куда бы пристроить часы на кухне, и решил вмонтировать их прямо в газовую плиту:) Материал прислал in_sane.
Форум по электронным часам Обсудить статью ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК
Цепь цифровых часов с микроконтроллером 8051
Часы, построенные с будильником, называются будильником, который включает в себя предварительно установленное время, чтобы вспомнить что-то или разбудить людей в это время, сгенерировав будильник. Будильники работают как напоминания, чтобы разбудить людей в заданное время. Эти часы разработаны с зуммерами, датчиками и огнями, чтобы предупредить людей. Звук тревоги может быть остановлен нажатием кнопки или автоматически остановлен с помощью звукового сигнала в течение определенного времени.Современные будильники оснащены конвертированными шпионскими камерами или радио AM / FM. Эти сигналы могут быть как в традиционной, так и в цифровой форме с различными моделями мультфильмов. В этой статье рассказывается о цифровом будильнике с принципиальной схемой цифровых часов и его работе.
Цифровые будильники Что такое цифровые будильники
Цифровые часы – это один из видов часов, используемый для отображения времени в виде цифр, включает символы или цифры. Эти часы часто связаны с электронными приводами, но термин «цифровой» относится только к ЖК-дисплею, а не к механизму привода.Цепь цифровых часов использует колебания 50-60 Гц переменного тока. Большинство цифровых будильников отображают время суток в форме 12 часов или 24 часов с указанием AM или PM. Большинство цифровых будильников используют ЖК-дисплей, семисегментный дисплей или VFD.
Цифровые часы работают от электросети и должны сбрасывать время, когда питание отключено. Большинство часов не имеют резервного аккумулятора, поэтому это может привести к тому, что в установленное время не будет слышен сигнал будильника. Чтобы преодолеть эту проблему, многие цифровые будильники доступны для работы с батареей во время отключения питания.Коммерческие цифровые часы обычно более последовательны, чем потребительские часы. Потому что эти часы обеспечивают резервное копирование, чтобы поддерживать время работы от многолетней батареи при отключении питания.
Цифровой будильник на основе микроконтроллера 8051 с ЖК-дисплеем
Необходимые компоненты этой схемы цифрового часов на микроконтроллере 8051 с ЖК-дисплеем в основном включают ЖК-дисплей, микроконтроллер AT89C51, пресет, пьезо-зуммер и динамик. Функция каждого компонента этого проекта обсуждается ниже.
ЖК-дисплей ЖК-дисплей 16 × 2 является электронным дисплеем и используется в широком спектре приложений. Этот вид дисплеев используется в многосегментных светодиодах и 7-сегментных дисплеях. На этом ЖК-дисплее каждый символ отображается в матрице 5 × 7 пикселей. Этот ЖК-дисплей состоит из двух регистров, это регистр данных и регистр команд. Регистр команд – это приказ для ЖК-дисплея выполнять такие задачи, как очистка экрана, инициализация, управление отображением и установка положения курсора.Регистр данных (значение символа ASCII) используется для отображения сохраненных данных на ЖК-дисплее.
ЖК-дисплей Микроконтроллер AT89C51
Микроконтроллер AT89C51 относится к микроконтроллеру 8051. Он имеет 128 байт оперативной памяти и 4 КБ PEROM. Его можно удалить и перепрограммировать до 1000 раз. Он состоит из 40 контактов и разделен на четыре порта, а именно P1, P2, P3 и P4. Эти четыре порта являются 8-битными двунаправленными портами. За исключением порта P0, остальные порты используются как порты i / p и o / p.
Микроконтроллер AT89C51 Порты P0 и P2 используются для предоставления старшего и младшего байтовых адресов, когда эти порты подключены к внешней памяти.Порт 3 состоит из мультиплексированных выводов для различных функций, таких как аппаратные прерывания, последовательная связь, таймеры ввода / вывода и операции чтения или записи из внешней памяти. Этот микроконтроллер имеет встроенный UART для последовательной связи. Работа UART может быть выполнена на основе программы с различными скоростями передачи.
Preset
Preset – это трехкомпонентный электронный компонент, используемый для изменения сопротивления в цепи путем регулировки вращающегося управления на нем. Управление может осуществляться с помощью аналогичного инструмента и отвертки.Сопротивление не колеблется линейно, но слегка изменяется логарифмическим или экспоненциальным образом. Такие переменные резисторы используются для регулировки чувствительности с помощью датчика. Переменное сопротивление приобретается через переднюю клемму и оставшиеся две другие задние клеммы. Задние две клеммы обеспечивают устойчивое сопротивление, которое отделено от передней ножки. Поэтому всякий раз, когда используются задние две клеммы, он действует как стабильный резистор. Предварительные установки определяются их статическим значением сопротивления.
Preset Piezo Buzzer
Пьезо-зуммер используется для создания звука, основанного на противоположности пьезоэлектрическому эффекту.Этот зуммер может использоваться для оповещения пользователя о событии, эквивалентном переключающему действию, входу датчика или сигналу счетчика. Пьезо-зуммер используется в цепях сигнализации.
Piezo Buzzer Зуммер
Зуммер – это преобразователь, который преобразует электрическую энергию в звук. Когда на сигнал i / p динамика подается электрический сигнал, он создает звуковые волны. Оставшийся контакт подключен к клемме GND. Динамик обычно используется для генерации звука в ответ на o / p датчика.Например, в случае тревоги злоумышленника, когда происходит прерывание, громкоговоритель включается
Принципиальная схема цифровых часов Buzzer Это улучшенная версия схемы цифровых часов с ЖК-дисплеем. Он имеет дополнительную функцию для установки будильника в первую очередь. Для сброса дисплей побуждает пользователя установить будильник. Нажатием соответствующих переключателей можно непрерывно устанавливать компоненты. Эти переключатели являются активными низкими переключателями, и они могут обеспечить заземление для эквивалентных i / p-выводов микроконтроллера.Режим AM и PM фиксируется перемещением переключателя между клеммой VCC и GND. GND будет фиксировать CLK в режиме AM, в то время как Vcc будет устанавливать в режиме PM
Принципиальная схема цифровых часов После того, как аварийный сигнал зафиксирован, вывод аварийного сигнала подключается к VCC через переключатель. Процесс установки времени напоминает тот же, что и с простыми цифровыми часами. Когда время цифровых часов становится эквивалентным времени будильника, на ЖК-дисплее появляется сообщение «Тревога», и на некоторое время вывод тревоги микроконтроллера AT89C51 становится высоким.Этот вывод тревоги может быть связан с зуммером или динамиком для генерации тревоги в заранее установленное время.
Это все о схеме цифровых часов, которая разработана с использованием микроконтроллера AT89C51, Preset, Piezo Buzzer, Buzzer и ЖК-дисплея. Мы надеемся, что у вас есть лучшее понимание этого проекта цифрового будильника. Кроме того, любые вопросы, касающиеся этой концепции или проектов электроники, пожалуйста, оставьте свой отзыв, комментируя в разделе комментариев ниже. Вот вопрос для вас, каковы применения цифрового будильника?
Фото Кредиты:
. Как изменить тактовую частоту для снижения энергопотребления микроконтроллера


Электронные часы-будильник на газоразрядных индикаторах и МК
Завораживающее неоновое свечение отчасти похожее на свечение электровакуумных ламп, похожий внешний вид. Все это дает ощущение прошлого на этапе освоения, познания и начала применения электричества, насколько можно представить по книгам, фильмам, иллюстрациям. Но обо всем по-порядку…
Автор: crazzian
396
4.9 [7]
Похожие статьи: Модернизация бортового компьютера на ATmega8
После публикации статьи Бортовой компьютер (часы, двухканальный термометр, вольтметр на ATmega8 и LCD 16х2) прошел уже почти год, и за это время я получил много писем с просьбами изменить прошивку под нужды пользователей. Я решил добавить в схему устройства кнопки, организовать меню с настройками, чтобы каждый мог настроить БК под себя.
Автор:
u33
373
5 [6]
Похожие статьи: Весь список теговМногофункциональные цифровые часы на микроконтроллере Attmega8. Схема и описание
Данная статья описывает конструкцию цифровых часов на микроконтроллере Attmega8, которые снабжены секундомером, будильником, таймером обратного отсчета. В часах реализована функция отображения дня недели и даты с возможностью комбинированного отображения даты и времени. Имеется автоматическое переключение на летнее и зимнее время, а так же учет високосного года.
Дисплей построен на шести 7-сегментных светодиодных индикаторов с регулировкой яркости. Часы также оснащены резервным питанием от батарей.
Описание конструкции микроконтроллерных часов
Как уже было сказано выше, часы имеют шестизначный дисплей, состоящий из двух трехзначных дисплеев T-5631BUY-11, работающий в мультиплексном режиме. Аноды индикаторов сгруппированы по разрядам и переключаются с помощью транзисторов Т1…Т6.
Катоды сгруппированы в сегменты и питаются непосредственно от микроконтроллера IO1 Attmega8. Частота мультиплексирования составляет 100Гц.
Часы контролируется низкочастотным кварцевым резонатором X1 с частотой 32768 Гц. В результате активации бита CKOPT, разрешающего использование внутренних конденсаторов 36пф для кварца, отпадает необходимость в использовании внешних конденсаторов.
В случае возникновении проблем с запуском генератора, можно попробовать подключить 2 конденсатора по 22пф. Для еще большей точности часов можно вообще отключить внутренние конденсаторы (сбросить бит СKOPT) и оставить только внешние.
Пъезоизлучатель REP1 издает звуковой сигнал будильника и сигнализирует о завершении работы таймера. Во время звукового сигнала на выводе 16 (порт PB2) появляется лог.1. Этот сигнал можно использовать для управления какой-либо нагрузкой.
Управление часами производится тремя кнопками — минуты, часы и режим. Кнопки подключены через резисторы, которые защищают порты микроконтроллер Attmega8. Схема питается от источника 5 вольт (7805). Потребление тока в основном зависит от числа активных индикаторов, а так же от степени настройки яркости.
При максимальной яркости ток потребления доходит до 60 мА. Часы снабжены резервной батареей питания. Во время работы от батареи, часы переходят в экономичный режим, при котором дисплей выключен. Так же в этом режиме не активны и кнопки за исключением случая, когда необходимо отключить звуковой сигнал.
Напряжение резервного питания от 3 до 4,5 В. Это может быть одна батарея на 3В, три NiMH или NiCd по 1,2 В или один аккумулятор Li-Pol или Li-Ion (от 3,6 до 3,7 В). Ток потребления от 3В батареи составляет всего лишь 5…12мA. Время автономной работы часов в экономичном режиме от батареи 3В типа CR2032 со стандартной емкостью 200mAh теоретически должно хватить примерно на 2,5 — 3 лет.
Программное обеспечения для микроконтроллера находится в конце статьи. Биты конфигурации необходимо выставить следующим образом:
Управление часами
Часы управляются с помощью TL1-минута, час-TL2 и TL3-режим. Кнопки часы и минуты используются в режиме часов для назначения часов и минут. В других режимах они имеют различные функции. Кнопка режима переключает между различными режимами, которых в общей сложности 8:
Режим 1-й — Часы
В этом режиме на дисплее отображается текущее время в формате «ЧЧ.ММ.СС». Кнопка часов используется для установки часов. Кнопка минут для установки минут. При ее нажатии происходит сброс секунд.
Режим 2-й — Включение перехода на летнее время и установки года
Здесь Вы можете включать и выключать автоматический переход между летним и зимним временем и установить год. Данные следующего формата «AC ‘RR» (АС – автоматическое время, пробел, последние две цифры года).
Режим 3-й — Таймер обратного отсчета
Это режим позволяет организовать обратный отсчет от заданного значения до нуля. По истечении этого времени раздастся звуковой сигнал и светится светодиод LED1. Звуковой сигнал может быть остановлен нажатием кнопки Режим. Данные следующего формата «ЧЧ.ММ.СС». Максимально возможное значение составляет 99.59.59 (почти 100 часов).
Режим 4-й – Комбинированный вывод информации
В этом режиме, попеременно показывается:
- текущее время в формате «ЧЧ.ММ.СС»
- дата в формате «AA.DD.MM.»
Каждый формат отображается в течение 1 секунды. В этом режиме используются кнопки Часов и Минут, для регулировки яркости дисплея (Часы-, Минуты+). Яркость изменяется логарифмически в 6 этапов: 1/1, 1/2, 1/4, 1/8, 1/16 и 1/32-й. По умолчанию установлено 1/2
Режим 5-й — Установка дня недели и режим работы будильника
В этом режиме можно установить день недели — с понедельника по воскресенье (отображается как пн, вт, ср, чт, пт, сб, вс), включать будильник и выбирать его режим работы. Данные следующего формата «AA AL._» (день недели, пробел, AL., Настройка будильника).
Кнопка часов устанавливает день недели. Кнопка минут используется для включения/выключения звукового сигнала будильника и выбора режима его работы: «AL._» = будильник не активный, «AL.1″ = будильник сигналит 1 раз (затем автоматически переходит в положение»AL._»), «AL.5» = сигнал будильника только в будние дни (пн-пт, кроме сб-вс), «AL.7» = будильник звонит каждый день
Режим 6-й – Установка дня недели и даты
Кнопка часов позволяет установить день месяца. Кнопка минут позволяет установить месяц.
Режим 7-й — Секундомер
Секундомер позволяет измерять время с точностью 0,1 сек. Максимальное время измерения составляет 9.59.59.9 (почти 10 часов). Данные следующего формата «H.MM.SS.X». Кнопка минут используется для запуска и остановки секундомера. Кнопка часов используется для сброса.
Режим 8-й — Будильник
Этот режим используется для отображения и установить время будильника (ALARM). Данные следующего формата «HH.MM.AL». Кнопка Минуты устанавливает минуту будильника, кнопку Часы устанавливает час будильника.
Ниже приведена схема аналогичных часов, имеющие индикатор с общим катодом
Скачать прошивку с общим анодом (37,7 KiB, скачано: 1 061)
Скачать прошивку с общим катодом (29,9 KiB, скачано: 502)
http://danyk.cz
«Тикающие» часы с будильником на микроконтроллере 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.
Фото и видео часов
Часы собраны в корпусе из под нерабочей «электроники».
Простые часы на микроконтроллере AVR
Схема и программа очень простых часов на микроконтроллере AVR с использованием микросхемы реального времени DS1307
Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“
Сегодня, уважаемые радиолюбители, вашему вниманию предлагается очень простая схема часов на микроконтроллере AVR и часов реального времени с последовательным интерфейсом I2C DS1307.
Конструкция собрана на микроконтроллере ATyni26 (просто именно этот МК был под рукой). Но вы можете применить любой другой МК, главное чтобы у него было 13 свободных входов – 11 для вывода текущего времени на четырехразрядный семисегментный светодиодный индикатор и 2 вывода – на кнопки установки и коррекции времени.
Схема часов:
В схеме применены следующие детали:
– Микроконтроллер – ATyni26 в DID корпусе
– Часы реального времени – DS1307 в DIP корпусе
– Кварц – 32,768 кГц, с входной емкостью 12 пф (можно взять с материнской платы компьютера), от этого кварца зависит точность хода часов
– резервное питание DS1307 – 3 вольтовый литиевый элемент CR2032
– 4-разрядный семисегментный светодиодный индикатор – FYQ-5641UB -21 с общим катодом (ультраяркий, голубого цвета свечения)
– все транзисторы – NPN-структуры, можно применить любые (КТ3102, КТ315 и их зарубежные аналоги), я применил ВС547С
– микросхемный стабилизатор напряжения типа 7805
– все резисторы мощностью 0,25 ватт
– полярные конденсаторы на рабочее напряжение 50 вольт
Ток потребления устройством составляет до 30 мА.
Для питания конструкции можно использовать любое ненужное зарядное устройство от телефона или подходящий блок питания с выходным напряжением 7-9 вольт.
Общение микроконтроллера с часами DS1307 происходит по шине I2C и организовано программным путем.
Батарейку резервного питания часов DS1307 можно и не ставить, но в этом случае, при пропадании напряжения в сети, текущее время придется устанавливать заново.
Печатная плата устройства не приводится, конструкция была собрана в корпусе от неисправных механических часов. Светодиод (с частотой мигания 1 Гц) служит для разделения часов и минут в конструкции.
Работа программы.
Тактовая частота работы микроконтроллера – 1 мГц (заводская установка, FUSE-биты трогать и устанавливать не надо). Размер программы – 1 килобайт.
При запуске программы происходит:
– запуск таймера Т0 с предустановленной частотой СК/8 и вызовом прерывания по переполнению (при такой предустановленной частоте вызов прерывания происходит каждые 2 миллисекунды)
– инициализация портов (порты РА0-6 и РВ0-3 настраиваются на вывод, РА7 и РВ6 на ввод)
– инициализация шины I2C (выводы РВ4 и РВ5)
– при первом запуске, или повторном запуске при отсутствии резервного питания DS307, проверяется 7 бит (СН) нулевого регистра DS1307 и происходит переход в первоначальную установку текущего времени. При этом, кнопка S1 – для установки времени, кнопка S2 – переход к следующему разряду. Установленное время – часы и минуты записываются в DS1307 (секунды устанавливаются в ноль), а также вывод SQW/OUT (7-й вывод) настраивается на генерацию прямоугольных импульсов с частотой 1 Гц
– разрешается глобальное прерывание
– программа переходит в цикл с опросом копки S2
При переполнения счетчика таймера Т0 программа переходит к обслуживанию прерывания (каждые 2 мс):
– считывается текущее время с DS1307 которое записывается в четыре переменные SRAM (десятки часов, единицы часов, десятки минут, единицы минут)
– подпрограммой вывода текущего времени производится динамическая индикация текущего времени на светодиодном индикаторе
– при нажатии кнопки S2 программа запрещает глобальное прерывание и переходит в подпрограмму коррекции времени (кнопками S1 и S2 устанавливаются десятки и единицы минут, затем, с 0 секунд, нажатием кнопки S2 происходит запись уточненного времени в DS1307, разрешение глобального прерывания и возвращение в основную программу).
Примененные в схеме часы DS1307 позволяют выводить на индикацию секунды, минуты, часы, день недели, дату и год.
Если в схеме вместо светодиодных индикаторов применить LCD дисплей, к примеру WH0802 (двухстрочный, с выводом восьми символов в строке) или аналогичный, то можно организовать полноценные часы с полным выводом текущего времени, а питание устройства организовать от гальванических элементов или аккумуляторных батарей.
Расположение выводов микроконтроллера ATyni26:
Расположение выводов DS1307:
Типовая схема подключения D1307:
Рекомендуемая схема подключения кварца к DS1307:
Общение микроконтроллера с часами реального времени DS1307 организовано программным путем, поэтому в схеме можно применить микроконтроллер у которого нет аппаратного модуля I2C.
Программа написана в среде Algorithm Builder, и если вы используете эту программную среду, то сможете ознакомиться с алгоритмом общения микроконтроллера с другими устройствами по шине I2C (в алгоритме подробно прокомментирована каждая строчка).
Даташит DS1307 на русском (312.1 KiB, 1,878 hits)
Часы на ATyni26 в Algorithm Builder (8.2 KiB, 1,823 hits)
Программа часов на ATyni26 в HEX коде (3.1 KiB, 1,675 hits)
Схема часов в формате sPlan7 (119.3 KiB, 6,171 hits)
Из документации только небольшой листочек формата А5 со списком радиодеталей с одной стороны и принципиальной электрической схемой с другой.

Состоит из RC цепочки, образуемой резистором R1 и конденсатором C1.
Резистивная сборка представляет собой набор резисторов в одном корпусе:

Звуковая часть схемы представляет собой схему собранную на резисторе R2 10кОм, pnp транзисторе Q1 SS8550(выполняющего роль усилителя) и пьезоэлемента LS1.
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю B.

При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.

По умолчанию включено (ON) – каждый час с 8:00 до 20:00 подается звуковой сигнал. При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в подменю D.

По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю E и F пропускаются.

При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю F.

При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.

По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю H и I пропускаются и происходит выход из меню настроек.

При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю I.

При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для выхода из меню настроек.

В режиме («МИНУТЫ: СЕКУНДЫ») необходимо удержать кнопку S2 для обнуления секунд. Далее коротким нажатием на кнопку S2 запустить отсчет секунд.

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









Разработчики всегда сталкиваются с проблемой обеспечения высокого уровня функциональности и производительности, одновременно увеличивая срок службы батареи. Кроме того, когда речь заходит о электронных продуктах, наиболее важной особенностью является потребление батареи. Следует как можно меньше увеличивать время работы устройства. Управление питанием очень важно в портативных и батарейных приложениях. Различия в потреблении микроампер могут привести к месяцам или годам эксплуатации, которые могут увеличить или уменьшить популярность и марку продукта на рынке.Увеличение продукции требует более эффективной оптимизации использования батареи. В настоящее время пользователям требуется более длительное время автономной работы с компактными размерами продуктов, поэтому производители фокусируются на меньших размерах батареи с очень долгим временем автономной работы, что является сомнительной задачей. Но разработчики придумали технологии энергосбережения, пройдя через множество факторов и критических параметров, влияющих на срок службы батареи.
Существует множество параметров, влияющих на использование батареи, таких как используемый микроконтроллер, рабочее напряжение, потребление тока, температура окружающей среды, условия окружающей среды, используемые периферийные устройства, циклы зарядки-перезарядки и т. Д.В связи с тенденцией появления интеллектуальных продуктов на рынке очень важно сначала сосредоточиться на используемом MCU, чтобы оптимизировать срок службы батареи. MCU становится важной частью, когда дело доходит до экономии энергии в продуктах небольшого размера. Поэтому рекомендуется сначала начать с MCU. Теперь MCU поставляется с различными методами энергосбережения. Чтобы узнать больше о минимизации энергопотребления в микроконтроллерах (MCU), обратитесь к предыдущей статье. В этой статье основное внимание уделяется одному из важных параметров снижения энергопотребления в микроконтроллере, а именно , изменяющему тактовую частоту , который необходимо соблюдать при использовании MCU для приложений с низким энергопотреблением.
Зачем изменять тактовую частоту в микроконтроллерах?
Из многих параметров, упомянутых выше, выбор тактовой частоты играет очень важную роль в энергосбережении. Исследование показывает, что неправильного выбора рабочей частоты микроконтроллеров может привести к значительной процентной (%) потере заряда батареи . Чтобы избежать этой потери, разработчики должны позаботиться о соответствующем выборе частоты для запуска микроконтроллера.Теперь нет необходимости в том, чтобы выбор частоты мог быть сделан изначально при настройке микроконтроллера, тогда как он также может быть выбран между программированием. Есть много микроконтроллеров, которые идут с выбором битов для выбора желаемой рабочей частоты. Также микроконтроллер может работать на нескольких частотах, поэтому разработчики могут выбрать соответствующую частоту в зависимости от приложения.
Как влияет выбор частоты на производительность?
Нет сомнений, что выбор различных частот повлияет на производительность микроконтроллера.Что касается микроконтроллера, то очень хорошо известно, что частота и производительность пропорциональны. Это означает, что чем больше частота, тем меньше будет время выполнения кода и, следовательно, будет выше скорость выполнения программы. Итак, теперь очень ясно, что если частота будет изменена, то производительность также изменится. Но не нужно, чтобы разработчики придерживались одной частоты только ради более высокой производительности микроконтроллера.
Низкая или Высокая частота, какую выбрать?
Это не всегда тот случай, когда микроконтроллер должен обеспечивать высокую производительность, есть несколько приложений, которым требуется умеренная производительность микроконтроллера, в таких приложениях разработчики могут снизить рабочую частоту с ГГц до МГц и даже до минимальной требуемой частоты запустить микроконтроллер.Хотя в некоторых случаях требуется оптимальная производительность, а также критично время выполнения, например, при управлении внешними флэш-АЦП без буфера FIFO или при обработке видео и многих других приложениях, в этих областях разработчики могут использовать оптимальную частоту микроконтроллера. Даже используя такую среду, разработчики могут разумно кодировать, чтобы уменьшить длину кода, выбирая правильную инструкцию.
Например: если для цикла требует больше инструкций и можно использовать несколько строк инструкций, которые используют меньше памяти для выполнения задачи без использования цикла для , то разработчики могут использовать несколько строк инструкций, избегая использования ‘для’ петли.
Выбор подходящей частоты для микроконтроллера зависит от требований задачи. Более высокая частота означает более высокое энергопотребление, но также и большую вычислительную мощность . Таким образом, выбор частоты является компромиссом между потребляемой мощностью и необходимой вычислительной мощностью.
Кроме того, основным преимуществом работы на низких частотах является низкий ток питания, помимо более низких RFI (радиочастотных помех).
Ток питания (I) = Ток покоя (I q ) + (K x Частота)
Второй член является преобладающим.Энергия RFI микроконтроллера настолько мала, что ее очень легко фильтровать.
Поэтому, если приложению нужна высокая скорость, не беспокойтесь о быстром запуске. Но если энергопотребление вызывает беспокойство, работайте настолько медленно, насколько позволяет приложение.
Техника коммутации тактовых частот
УстройствоPLL (Phase Lock Loop) всегда существует в высокопроизводительном MCU, работающем на высокой скорости. PLL повышает входную частоту до более высокой частоты e.от 8 МГц до 32 МГц. Разработчик может выбрать подходящую рабочую частоту для приложения. Некоторым приложениям не нужно работать на высокой скорости, в этом случае разработчики должны поддерживать тактовую частоту MCU как можно ниже, чтобы выполнить задачу. Однако в платформе с фиксированной частотой, такой как недорогой 8-разрядный микроконтроллер , который не содержит единицу ФАПЧ, необходимо улучшить код команды, чтобы уменьшить энергию обработки . Кроме того, MCU, который содержит блок PLL, не может использовать преимущества технологии переключения частоты, которая позволяет MCU работать на высокой частоте в период обработки данных, а затем возвращаться к работе на низких частотах в течение периода передачи данных.
На рисунке показано использование устройства ФАПЧ в Техника переключения частоты .
Выбор режимов работы управления часами
Некоторые высокоскоростные микроконтроллеры поддерживают различные режимы управления часами, такие как режим остановки , режимы управления питанием (PMM) и режим ожидания . Можно переключаться между этими режимами, позволяя пользователю оптимизировать скорость устройства при одновременном потреблении энергии.
Выбираемый источник синхронизации
Кристаллический генератор является крупным потребителем энергии на любом микроконтроллере, особенно при работе на малой мощности. Кольцевой генератор, используемый для быстрого пуска из режима «Стоп», также может быть использован для обеспечения источника тактовой частоты примерно от 3 до 4 МГц при нормальной работе. Хотя кварцевый генератор все еще требуется при включении питания, после стабилизации кристалла работу устройства можно переключить на кольцевой генератор, обеспечив экономию энергии до 25 мА.
Контроль тактовой частоты
Рабочая частота микроконтроллера – это самый большой фактор, определяющий энергопотребление. Семейство микроконтроллеров высокоскоростных микроконтроллеров поддерживает различные режимы управления тактовой частотой, которые позволяют экономить электроэнергию за счет замедления или остановки внутренних часов. Эти режимы позволяют разработчику системы максимально экономить электроэнергию с минимальным влиянием на производительность.
Выполнение программного обеспечения из энергонезависимой памяти или ОЗУ
Разработчики должны тщательно учитывать, выполняется ли программное обеспечение из энергонезависимой памяти или ОЗУ, при оценке текущего потребления.Выполнение из ОЗУ может предложить более низкие спецификации активного тока; однако многие приложения не настолько малы, чтобы выполнять их только из ОЗУ, и требуют, чтобы программы выполнялись из энергонезависимой памяти.
Шинные часы включены или отключены
Большинству приложений микроконтроллеров необходим доступ к памяти и периферийным устройствам во время выполнения программного обеспечения. Это требует включения тактовых импульсов и должно учитываться в текущих текущих оценках.
Использование внутреннего генератора
Использование внутренних генераторов и исключение внешних генераторов может сэкономить значительную энергию.Поскольку внешние генераторы потребляют больше тока, что приводит к большему потреблению энергии. Также не является жестким ограничением, что следует использовать внутренний генератор, поскольку внешние генераторы рекомендуется использовать, когда приложения требуют большей тактовой частоты.
Заключение
Создание продукта с низким энергопотреблением начинается с выбора MCU, и это значительно затрудняет доступ к различным вариантам на рынке. Изменение частоты может оказать большое влияние на энергопотребление, а также дать хороший результат энергопотребления.Дополнительное преимущество изменения частоты заключается в том, что нет дополнительных затрат на оборудование, и может быть легко реализовано в программном обеспечении . Этот метод может быть использован для повышения энергоэффективности недорогого MCU. Кроме того, величина энергосбережения зависит от разницы между рабочими частотами, временем обработки данных и архитектурой MCU. Экономия энергии до 66,9% может быть достигнута при использовании техники переключения частоты по сравнению с обычной работой.
В конце концов, для разработчиков, серьезным вызовом является удовлетворение потребностей в увеличении функциональных возможностей системы и задач производительности при одновременном увеличении времени автономной работы продуктов. Чтобы эффективно разрабатывать продукты, обеспечивающие максимально возможное время автономной работы – или даже работающие без батареи – требуется глубокое понимание как системных требований, так и текущих спецификаций микроконтроллера. Это гораздо сложнее, чем просто оценить, сколько тока MCU потребляет, когда активно. В зависимости от разрабатываемого приложения, изменение частоты, ток в режиме ожидания, периферийный ток могут оказывать более существенное влияние на срок службы батареи, чем питание MCU.
Эта статья была создана, чтобы помочь разработчикам понять, как MCU потребляют энергию с точки зрения частоты и могут быть оптимизированы с изменением частоты.
,Светодиодная схема двоичных часовс использованием Arduino
В этом проекте мы собираемся изготовить двоичные часы с использованием Arduino . Здесь мы разработали печатную плату (PCB) для реализации этих часов. Для разработки макета печатной платы мы использовали онлайн-инструмент EasyEDA для проектирования печатных плат.
Необходимые компоненты:
- Arduino Nano
- DS1307 RTC
- 32,768 кГц Crystal
- 3в монетная ячейка
- Резистор 1к, 10к
- Блок питания
- светодиодов
и пояснение:
Это очень простой, дешевый и интересный проект для ученика.В этой светодиодной схеме двоичных часов мы использовали Arduino Nano для управления всем проектом, таким как время чтения из RTC и отображение его на светодиодах. Монетная ячейка 3.0v подключена к RTC IC для резервного копирования. Узнайте больше об использовании DS1307 RTC с Arduino здесь.
20 светодиодов подключены здесь в виде матрицы. Итак, у нас 6 столбцов и 4 строки . 2 столбца используются для отображения часа, следующие два столбца для минут и следующие столбцы для секунд. Мы использовали 6 PNP транзисторов для запуска светодиодов в 6 столбцах.Пользователь может питать всю цепь только 5 В, здесь мы использовали ноутбук USB для питания. Остальные соединения показаны на принципиальной схеме.
Далее, проверьте полный код Arduino и демонстрационное видео в конце этой статьи.
Как рассчитать и прочитать время в двоичных часах:
Как мы знакомы с двоичными числами, которые равны нулю и единице. Таким образом, используя их, мы можем показать время и преобразовать это двоичное время в десятичное.Используя число 8 4 2 1 (написанное справа на печатной плате), мы можем преобразовать двоичный код в десятичный.
Предположим, у нас есть двоичное число, например:
1 0 1 0, поэтому это будет 10 в десятичном виде. Когда мы конвертируем двоичный код в десятичный, мы добавляем только один.
Здесь со стороны MSB (старшего значащего бита) у нас есть 1, это означает 8, а далее 0 означает, что это 0 и не должно быть включено. Далее снова 1 означает 2, а последний 0, поэтому последний также не будет включен.
Итак, наконец, у нас есть
8 + 0 + 2 + 0 = 10
В принципе, мы можем принять это так:
8x1 + 4x0 + 2x1 + 1x0 = 10
Теперь мы можем понять время с картинки:
В приведенном выше примере мы видим 6 столбцов и 4 строки.В них у нас есть 2 столбца группы ЧЧ для часа, ММ для минут и СС для секунд . На правой стороне печатной платы мы видим строки с номерами 1, 2, 4 и 8, эти числа используются для преобразования двоичного числа в десятичное
Обратите внимание, что мы читаем столбцы с правой стороны . Итак, прежде всего, смотрите столбцы HH, есть два столбца времени. В первом столбце времени нет светящихся средств:
2x0 + 1x0 = 0
В следующем столбце мы видим, что в средстве с 1 строкой светится один светодиод.Итак, согласно 8 4 2 1
8x0 + 4x0 + 2x0 + 1x1 = 1
Итак, в столбце HH мы получили 01.
В первом столбце ММ (минуты), мы видим, что в 1-м ряду светится один светодиод, значит
4 2 1 4x0 + 2x0 + 1x1 = 1
Во втором столбце ММ видно, что в строке № 8 светится один светодиод означает
8 4 2 1 8x1 + 4x0 + 2x0 + 1x0 = 8
Таким образом, мы получили минуту как 18
В первом столбце SS (секунд), , мы видим, что в строке 4 светится один светодиод, значит
4 2 1 4x1 + 2x0 + 1x0 = 4
Во втором столбце SS мы видим, что в строке № 1 светится два светодиода, а строка № 4 означает
.8 4 2 1 8x0 + 4x1 + 2x0 + 1x1 = 5
Таким образом, мы получили минуту как 45
Итак, наконец, у нас есть время как 01:18:45
ЧЧ ММ СС 01 18 45
Полный код Arduino и демонстрационное видео приведены в конце этой статьи.
Схема и дизайн печатной платы с использованием EasyEDA:
Для разработки этой светодиодной схемы двоичных часов мы выбрали онлайновый инструмент EDA под названием EasyEDA. Ранее я много раз использовал EasyEDA и нашел его очень удобным, так как он имеет хорошую коллекцию следов и с открытым исходным кодом. Проверьте здесь все наши проекты печатных плат. После проектирования печатной платы мы можем заказать образцы печатной платы с помощью недорогих услуг по их изготовлению. Они также предлагают услугу поиска компонентов, где у них есть большой запас электронных компонентов, и пользователи могут заказать необходимые компоненты вместе с заказом на печатную плату.
При проектировании ваших микросхем и печатных плат вы также можете сделать ваши схемы и печатные платы общедоступными, чтобы другие пользователи могли копировать или редактировать их и получать от этого выгоду, мы также сделали общедоступными все наши схемы и печатные платы для этого Arduino Binary Часы , проверьте по ссылке ниже:
https://easyeda.com/circuitdigest/BinaryClock-4a25419d21cc424c9989a8f6a4633f5e
Вы можете просматривать любой слой (верхний, нижний, верхний шёлк, нижний шёлк и т. Д.) Печатной платы, выбрав слой из окна «Слои».
Вы также можете просмотреть печатную плату, как она будет выглядеть после изготовления, с помощью кнопки Photo View в EasyEDA:
Расчет и заказ образцов онлайн:
После завершения проектирования этой платы двоичных часов Arduino вы можете заказать плату через JLCPCB.com. Чтобы заказать печатную плату у JLCPCB, вам нужен Gerber File. Чтобы загрузить файлы Gerber с вашей печатной платы, просто нажмите кнопку Fabrication Output на странице редактора EasyEDA, а затем загрузите ее со страницы заказа EasyEDA PCB.
Теперь перейдите на JLCPCB.com и нажмите на кнопку Цитировать сейчас или Купить , затем вы можете выбрать количество печатных плат, которые вы хотите заказать, сколько слоев меди вам нужно, толщину печатной платы, вес меди и даже цвет печатной платы, как показано на снимке ниже:
После того, как вы выбрали все опции, нажмите «Сохранить в корзину», и вы попадете на страницу, где вы можете загрузить свой файл Gerber, который мы скачали с EasyEDA.Загрузите файл Gerber и нажмите «Сохранить в корзину». И, наконец, нажмите «Оформить заказ безопасно», чтобы завершить заказ, и через несколько дней вы получите свои печатные платы. Они изготавливают печатные платы по очень низкой цене, которая составляет 2 доллара. Их время сборки также очень мало, что составляет 48 часов с доставкой DHL 3-5 дней, в основном вы получите свои печатные платы в течение недели после заказа.
После нескольких дней заказа печатных плат я получил образцы печатных плат в красивой упаковке , как показано на рисунках ниже.
И после получения этих частей я спаял все необходимые компоненты на печатной плате, поместил кодированный Arduino Nano и запитал его напряжением 5 В, чтобы увидеть Binary Clock в действии .
PORTD = 1 << LEDNumber [1];
LEDNumber [1] ++;
if (LEDNumber [1]> 6)