Как сделать простые электронные часы на микроконтроллере ATtiny2313. Какая схема используется для создания часов на ATtiny2313. Какие компоненты нужны для сборки простых часов на микроконтроллере. Как запрограммировать ATtiny2313 для работы в качестве часов. Какие функции можно реализовать в простых часах на ATtiny2313.
Основные компоненты для сборки простых часов на ATtiny2313
Для создания простых электронных часов на микроконтроллере ATtiny2313 потребуются следующие основные компоненты:
- Микроконтроллер ATtiny2313
- Кварцевый резонатор на 32,768 кГц
- Семисегментный светодиодный индикатор на 4 разряда
- Транзисторные ключи для управления разрядами индикатора
- Резисторы и конденсаторы по схеме
- Кнопки для настройки часов
- Батарейка CR2032 или подобная для питания
ATtiny2313 имеет встроенный RTC (часы реального времени), что позволяет создать на его основе простые, но точные часы без использования дополнительных микросхем.
Принципиальная схема часов на ATtiny2313
Основные элементы схемы:
- Микроконтроллер ATtiny2313 является «мозгом» устройства
- Кварцевый резонатор на 32,768 кГц обеспечивает точный отсчет времени
- Семисегментный индикатор отображает время
- Транзисторные ключи управляют разрядами индикатора
- Кнопки используются для настройки часов
- Батарейка CR2032 обеспечивает автономное питание
Программирование микроконтроллера ATtiny2313 для работы в качестве часов
Для программирования ATtiny2313 можно использовать язык C и компилятор avr-gcc. Основные этапы программирования:
- Настройка встроенного RTC микроконтроллера
- Реализация функций отображения времени на индикаторе
- Обработка нажатий кнопок для настройки часов
- Реализация энергосберегающих режимов работы
Рассмотрим пример кода инициализации RTC и основного цикла программы:
«`c #includedisplay_time()
и check_buttons()
должны быть реализованы отдельно.Функции простых часов на ATtiny2313
В простых часах на микроконтроллере ATtiny2313 можно реализовать следующие базовые функции:
- Отображение текущего времени (часы и минуты)
- Настройка времени с помощью кнопок
- Энергосберегающий режим работы для увеличения срока службы батареи
- Сохранение настроек времени при отключении питания (с использованием EEPROM)
При наличии свободных ресурсов микроконтроллера можно добавить дополнительные функции:
- Отображение даты
- Будильник
- Секундомер
- Подсветка дисплея по нажатию кнопки
Преимущества использования ATtiny2313 для создания простых часов
Микроконтроллер ATtiny2313 имеет ряд преимуществ для создания простых часов:
- Наличие встроенного RTC упрощает разработку
- Низкое энергопотребление обеспечивает длительную работу от батареи
- Компактные размеры позволяют создать миниатюрное устройство
- Доступность и невысокая стоимость компонента
- Возможность легкого расширения функциональности за счет программирования
Возможные улучшения конструкции часов на ATtiny2313
Для улучшения базовой конструкции часов на ATtiny2313 можно рассмотреть следующие варианты:
- Использование OLED-дисплея вместо семисегментного индикатора для более информативного отображения
- Добавление модуля беспроводной связи (например, Bluetooth Low Energy) для синхронизации времени со смартфоном
- Интеграция датчика температуры для отображения текущей температуры окружающей среды
- Разработка компактного корпуса с возможностью ношения часов на руке
- Добавление солнечной панели для подзарядки батареи
Заключение
Создание простых часов на микроконтроллере ATtiny2313 — это увлекательный проект для начинающих разработчиков электроники. Он позволяет на практике освоить основы программирования микроконтроллеров, работу с периферийными устройствами и разработку энергоэффективных решений. При этом результатом проекта становится полезное устройство, которое можно использовать в повседневной жизни или в качестве основы для более сложных разработок.
часы — радиоэлектроника, схемы и статьи
Ниже приведены принципиальные схемы и статьи по тематике «часы» на сайте по радиоэлектронике и радиохобби RadioStorage.net .
Что такое «часы» и где это применяется, принципиальные схемы самодельных устройств которые касаются термина «часы».
1)Часы для автоматического управления устройствами (537РУ2, 176ИЕ12)
Для автоматического управления режимом работы различных бытовых электроприборов или радиоаппаратуры в домашних условиях, а также на производстве иногда бывает необходимо иметь время-задающий автомат. Например, такое устройство может по заданной программе управлять поливом растений …
2)Таймер из электронных часов ЦАТ-01
Электронные цифровые часы-будильник на базе микроконтроллера КА1035ХЛ1 выпускались в середине 1990 г. Ленинградским объединением «Светлана» и в свое время наводнили рынок. Прибор установливается в автомобиле для индикации времени и имеет функцию программируемого. ..3)Солнечные часы
Время быстротечно, и мы не можем управлять им. Тысячелетия человек пытается остановить время, но, увы, в результате лишь наблюдает его ход. Солнечные часы — древнейший инструмент, позволяющий следить за ходом времени. Их использовали…
4)Коммутатор для часов на микросхеме К145ИК1901
Лет 10-15 назад промышленностью выпускался электронный конструктор под названием “Старт 7178”, предназначенный для самостоятельной сборки часов. В этот набор входил полный комплект радиодеталей для…
5)Электронные часы с бестрансформаторным питанием от сети
6)Питание часов-будильника 1,5В от автомобильной бортовой сети
Карманные часы-будильник Miracle или аналогичные, питаются обычно от одного гальванического элемента напряжением 1,5V. При желании установить их в автомобиле есть только один приемлемый способ крепления — приклеить их двухсторонним скотчем к торпеде автомобиля в удобном месте. Однако, в таком …
7)Огромный циферблат из светодиодных лент, часы на микросхемах (IRLU024N)
При оформлении одного мероприятия потребовалось сделать цифровые часы сгигантским дисплеем высотой цифр по два метра. Самое сложное в данном процессе было выбрать каким образом и из чего сделать этот самый дисплей. К счастью, сейчас продаются светодиодные ленты. Было решено сделать дисплей с …
8)Часы на люминесцентных индикаторах ИВ-11 (К176ИЕ18, К176ИЕ13)
Принципиальная схема самодельных часов на микросхемах К176ИЕ18, К176ИЕ13 и люминесцентных индикаторах ИВ-11. Простая и красивая самоделка для дома. Приведена схема часов, чертежи печатных плат, а также фото готового устройства в собранном и разобранном виде.
9)Цифровые часы на микросхемах HCF4521, HCF4026BEY
Лет 25 тому назад простые цифровые часы на «россыпи» делали используя специализированные микросхемы серии К176. Даже продавались наборы -конструкторы для сборки часов со статической индикацией, обычно, на микросхемах К176ИЕ5, К176ИЕЗ, К176ИЕ4. Сейчас эти микросхемы уже давно не …
10)Часы с термометром и таймером на PIC-микроконтроллере PIC16F873A
Предлагаемое устройство отсчитывает время, измеряет температуру в доме и на улице, выключает по истечении заданного времени сетевую нагрузку. Оно просто в изготовлении. Вся информация выводится на светодиодный индикатор, который видно как днем, так и ночью, как вблизи, так и издалека. В продаже …
11)Простой стабилизатор напряжения для часов на +1,5В
Принципиальная схема очень простого стабилизатора напряжения на 1,5В для питания настенных часов от зарядного устройства USB 5V. В последнее время цена универсального зарядного устройства с USB разъемом на выходе сильно снизилась, и доходит до величины менее 1$. При том что это вполне …
12)Цифровые электронные часы на индикаторах ИН-12 или ИН-18 (К176ИЕ12, К561ИЕ8)
Схема и описание цифровых электронных часов на индикаторах ИН-12(ИН-18) и микросхемах К176ИЕ12, К561ИЕ8. В настоящее на просторах интернета можно встретить множество всевозможных схем и конструкций часов на микроконтроллерах и практически уже нет схем на обычной логической элементной базе. Я нашел только три подробных схемы электронных часов на логических микросхемах. Схемы устройств на основе микроконтроллеров, можно сказать, по всем параметрам выигрывают у старых схем на обычной элементарной базе …
13)Часы-будильник на микроконтроллере АТ89С2051 и DS1307
Схема самодельных часов-будильника для установки в приборную панель автомобиля. Устройство питаются от автомобильного аккумулятора. Однако, они с таким же успехом могут использоваться и дома. В этом случае просто отсутствует подсветка дисплея, а питание осуществляется от любого сетевого …
14)Самодельные цифровые часы с индикаторами из светодиодных лент (К176ИЕ12, К176ИЕ4)
Для установки на проходных предприятий, вокзалах, в торговых центрах и в других местах массового прохода людей необходимы электронные часы с очень крупным и ярким дисплеем. Сейчас такой дисплей, при относительно доступной цене, можно сделать на основе светодиодных лент. При этом размеры индикатора …
15)Сетевой блок питания на 1,5В для электромеханических часов
Электромеханические часы обычно питаются от элемента на 1,5V. Его можно заменить сетевым источником, схема которого показана здесь. В ней в качестве стабилитрона используется ИК-светодиод с прямым напряжением около 1,5V. Механизм часов питается от этого напряжения. Рис. 1. Схема сетевого …
16)Часы с календарем на индикаторах ИН-12
Предлагаемые часы показывают текущее время и дату, обладают функциями будильника. Их особенность — использование газоразрядных цифровых индикаторов ИН-12. Подобные индикаторы широко применялись в электронных часах и цифровых измерительных приборах в семидесятые годы прошлого века. Индикаторы …
17)Двоичные часы на микроконтроллере PIC16F628A
Схема самодельных двоичных часов на микроконтроллере PIC16F628A и светодиодах. Эти необычные карманные часы могут стать оригинальным подарком. Индикатор времени в них построен всего на шести единичных светодиодах. Секрет в том, что число часов и число минут текущего времени отображаются ими …
18)Блок питания для кварцевых часов на ионисторе (LM317)
Сейчас продается очень много различных настенных и настольных кварцевых часов довольно больших габаритов. Обычно, там пустой корпус, а посредине его размещен типовой пластмассовый механизм, вроде того, что в кварцевых малогабаритных будильниках. Разница только в том, что стрелки больше …
Простые часы-будильник на PIC16F84 — Электрические принципиальные схемы
Не так давно электронные часы строили на так называемых часовых микросхемах серии К176 и специализированных микросхемах серий К145 (К145ИК1901) и КР1016 (КР1016ВИ1). Главный их недостаток — ограниченные возможности совершенствования (любое изменение требовало аппаратной доработки). Выгодно отличаются часы, собранные на базе микроконтроллера. Схема значительно упрощается, а «апгрейд» можно проводить без каких-либо изменений аппаратной части. Даже настройка хода часов может быть чисто программной. Именно такие часы описаны в публикуемой ниже статье.
Предлагаемые часы-будильник с четырехразрядным светодиодным индикатором выполнены на базе микроконтроллера (МК) и показывают время в 24-часовом формате с гашением незначащего нуля в разряде десятков часов. Предусмотрены режим отображения минут и секунд, подача короткого (длительностью 1 с) звукового сигнала в начале каждого часа (при необходимости эту функцию можно выклю-i чить), два выключаемых будильника и программная настройка коэффициента коррекции времени, от которого зависит точность хода часов. Значение коэффициента и установки будильников записываются в энергонезависимую память (EEPROM) МК. Состояние будильников и сигнала «Каждый час» индицируется светодиодами.
Принципиальная схема устройства изображена на рис. 1. Его основа — микроконтроллер PIC16F84 (DD1), рабочая частота которого задается генератором с внешним резонатором ZQ1 на 4 МГц. Вход сброса МК (MCLR) напрямую подключен к шине питания +5 В.
Пятиразрядный порт А, все линии которого настроены на вывод, управляет светодиодом HL1 и переключает разряды индикатора HG1. Четыре старших разряда порта В (RB4-RB7) настроены на ввод и принимают управляющие сигналы от кнопок SB1- SB4, которые подключены к выводам без «подтягивающих» резисторов, потому что таковые имеются в МК. Разряды RB0 и RB1 порта В используются для загрузки в регистр DD2 семиэлементного кода, соответствующего отображаемой цифре. Разряд RB2 — выход сигнала 3Ч или срабатывания будильника (в зависимости от версии программы), который можно подключить непосредственно к пьезоизлучателю (ЗП-1, ЗП-3 и им подобные), к входу усилителя 3Ч или к исполнительному устройству, например, реле, которое в момент срабатывания будильника будет включать радиоприемник, телевизор или другой прибор.
Светодиоды HL1 и HL2 индицируют состояние соответственно сигнала «Каждый час» и будильников: HL1 светится, если сигнал «Каждый час» включен, a HL2 — если включен хотя бы один из будильников или если включены оба.
В устройстве применен специализированный часовой светодиодный индикатор фирмы Kingbright, содержащий четыре семиэлементных разряда с общим анодом и две точки индикации секунд между средними разрядами. Поскольку выводы элементов a-g являются общими для всех разрядов, управление индикатором возможно только в динамическом режиме. Для данной конструкции индикатор подошел как нельзя лучше: число линий ввода/вывода общего назначения у МК P1C16F84 не позволяет реализовать статическую индикацию, а при динамической с другим индикатором пришлось бы объединять выводы одноименных элементов разных разрядов на плате.
Резисторы R3-R10 ограничивают ток через светодиоды индикатора. Сдвиговый регистр DD2 введен для экономии выводов МК — он преобразует последовательный код в параллельный в ходе динамической индикации.
Конденсатор С4 фильтрует пульсации в цепи питания МК. Место для него на плате не предусмотрено, его припаивают непосредственно к выводам розетки МК со стороны печатных проводников.
Управляющая программа для МК написана на стандартном ассемблере MPASM фирмы Microchip и скомпилирована в среде MPLAB той же фирмы. Из 1024 ячеек памяти программ МК использовано около восьмисот, так что ресурсы для усовершенствования имеются.
Сразу после включения питания происходит инициализация управляющей программы: разряды портов настраиваются на ввод и вывод, устанавливается режим работы таймера 0, из энергонезависимой памяти считываются установки будильников и коэффициент коррекции времени.
Основная задача программы — формирование точных временных интервалов длительностью 1с — решается с помощью прерываний от таймера 0. Его предцелитель подключается к кварцевому генератору МК и настраивается на коэффициент деления 16. В регистр таймера 0 при каждой обработке прерывания записывается число от 00h до OFh (это и есть коэффициент коррекции времени, в исходном тексте программы он называется TIME_SET), поэтому таймер переполняется не за 256, а к примеру, за 250 циклов тактовой частоты (при TIME_SET=5).
В таком случае при использовании кварцевого резонатора на частоту 4 МГц прерывания от таймера 0 происходят с частотой 1 000 000 Гц/250/16 = 250 Гц. После инициализации программа переходит в цикл ожидания этих прерываний и подсчитывает их. Когда число прерываний станет равным 250, текущее время увеличивается на секунду.
Прерывания от таймера 0 обеспечивают и динамическую индикацию. Во время их обработки МК устанавливает нулевой уровень на выводах RA0- RA3 и тем самым гасит индикатор. Далее в регистр DD2 через выводы МК RB0 и RB1 загружается семиэлементный код, соответствующий символу, который нужно отобразить. Затем на одном из выводов RAO-RA3 устанавливается высокий логический уровень, благодаря чему зажигается одно из знакомест. Все это происходит 250 раз в секунду, и благодаря инерции зрения пользователь видит включенными сразу все разряды.
Старший бит загружаемого в регистр DD2 кода служит для управления секундными точками индикатора, которые мигают с частотой 1 Гц. Таким образом, с помощью прерываний от таймера 0 решаются сразу две задачи. Кроме того, в подпрограмме обработки прерывания МК проверяет, не является ли выводимая цифра незначащим нулем в левом разряде, и если это так, то вместо семиэлементного кода цифры О МК загружает в регистр двоичное число 11111111 (индикатор с общим анодом, поэтому единица соответствует погашенному сегменту).
Клавиатура опрашивается примерно 10 раз в секунду, но после первого нажатия некоторых кнопок и их комбинаций программа не реагирует на повторные нажатия в течение 1 с (например, если кнопки удерживать). Это нужно для удобства управления часами.
При срабатывании будильника на выводе RB2 на 1 мин появляется прерывистый сигнал 3Ч или, в зависимости от версии программы, — высокий уровень (точнее, импульсы с частотой повторения 1 Гц). Мигают светодиоды HL1 и HL2. По истечении минуты вызывается специальная подпрограмма, которая восстанавливает правильное свечение светодиодов.
Устройством управляют кнопками SB1-SB4, каждая из которых совмещает несколько функций (см. мнемосхему, показанную на рис. 2). Часы работают в трех режимах: основном (индикация текущего времени), с коэффициентом коррекции времени и режиме установки будильников.
В основном режиме индикатор HG1 отображает часы и минуты, при этом секундные точки мигают с частотой 1 Гц. Текущее время устанавливают кнопками SB1 (часы) и SB2 (минуты): каждое их нажатие увеличивает показания на единицу, а если это делается при нажатой SB4, — уменьшает. При достижении нулевых значений разрядов минут переноса в разряд часов не происходит.
Если удерживать кнопку SB4 в течение трех секунд, на индикатор вместо часов и минут выводятся минуты и секунды текущего времени.
Сигнал «Каждый час» включают и выключают кнопкой SB3 при удерживаемой SB4 (светодиод HL1 соответственно загорается или гаснет).
Для перехода в режим установки будильников нажимают на кнопку SB3. На индикаторе появляются показания первого будильника, секундные точки светятся непрерывно. Часы и минуты устанавливают теми же кнопками SB1 и SB2 (в данном случае только увеличение показаний). Нажатие на кнопку SB4 приводит к выключению будильника, и на индикаторе остаются лишь прочерки (светятся элементы G). При последующем включении будильника этой же кнопкой на индикаторе появляются, а в регистры будильника записываются нули (а не предыдущие значения). Если еще раз нажать на кнопку SB3, на индикаторе появятся показания второго будильника, однако секундные точки погаснут. Оба будильника настраиваются одинаково.
Третье нажатие на кнопку SB3 переводит часы в режим работы с коэффициентом коррекции времени: на индикатор выводятся символы «ЕЕ X», где ЕЕ означает EEPROM, а X — текущее значение коэффициента в шестнадцатиричном виде; секундные точки продолжают мигать. Кнопкой SB1 можно увеличивать, а кнопкой SB2 — уменьшать значение коэффициента в интервале от Oh до Fh. Установленное число будет записываться в таймер 0 в подпрограмме обработки прерывания по его переполнению.
При четвертом нажатии на кнопку SB3 установки будильников и значение коэффициента записываются в EEPROM: первый будильник — по адресам 02h-05h (соответственно минуты, десятки минут, часы и десятки часов), второй — по адресам 06h-09h (в том же порядке), коэффициент — по адресу 01 h.
Устройство монтируют на печатной плате, изготовленной по чертежу, показанному на рис. 3 (штриховыми линиями изображены проволочные перемычки, соединяющие печатные проводники на противоположной стороне платы).
Без каких-либо изменений в схеме и программе МК можно применить PIC16C84 — однократно программируемый аналог PIC16F84. Указанный на схеме индикатор заменим любым другим четырехразрядным с общим анодом (желательно, чтобы выводы одноименных элементов разрядов были соединены внутри индикатора). Допустимо использование четырех одноразрядных индикаторов, в этом случае в качестве секундных точек можно применить два отдельных светодиода, подключенных катодами к правому (по схеме) выводу резистора R10 (если необходимо — через ключ на транзисторе). Резисторы, конденсаторы, светодиоды, кнопки — любые малогабаритные.
Для часов разработаны три версии управляющей программы. Версия 1.10 — основная (ее НЕХ-файл приведен в таблице). При срабатывании будильников на выводе RB2 появляется сигнал (меандр) частотой 1 Гц. Его можно использовать для управления различными исполнительными механизмами и генераторами сигналов 3Ч: от простейших на двух-трех логических элементах до сложных систем цифрового синтеза звука [1, 2]. Динамическая индикация в этой версии работает постоянно.
(нажмите для увеличения)
В версии 1.11 индикация тоже работает непрерывно, но при срабатывании будильников и в момент генерации сигнала «Каждый час» на выводе RB2 появляются пачки импульсов с частотой повторения 1 Гц (частота колебаний, заполняющих пачки, соответствует частоте прерываний от таймера 0 — 250 Гц). Этот сигнал можно подать непосредственно на излучатель или на вход усилителя 3Ч.
Версия 1.20 отличается от 1.11 только тем, что по умолчанию динамическая индикация в ней выключена (при этом все прочие функции часов работают в обычном режиме). Она начинает работать, если нажать на кнопку SB4, и автоматически выключается через 10 с. При нажатии кнопок и срабатывании будильника отсчет этого интервала начинается заново. Если будильник сработал при выключенной индикации, она не включается: нужно дважды нажать кнопку SB4, чтобы выключить будильник и включить индикацию. Эту программу целесообразно использовать, если для питания часов используется батарея, составленная из гальванических элементов или аккумуляторов: выключение индикации экономит энергию батареи.
При программировании МК в слове конфигурации указывают тип генератора — XT, Power-up таймер — включен, сторожевой таймер и защита кода — выключены. Кроме того, в ячейку 01 h энергонезависимой памяти данных нужно занести число от Oh до Fh (коэффициент коррекции времени), а по адресам 02h-09h — установки будильников.
Если программная настройка точности хода часов окажется грубой (что вполне вероятно), следует установить изображенный на схеме штриховыми линиями подстроечный конденсатор C3 (на печатной плате место для него предусмотрено).
НЕХ-файлы программы версий 1.11 и 1.20, а также исходные тексты всех версий
Литература
Автор: А.Вакуленко, г.Тюмень
Носимые устройства Attiny — Facelesstech
Это основа для носимых устройств. Это ремешок для часов НАТО, продетый через печатную плату с держателем батарейки типа «таблетка» между печатной платой и ремешком. На этот раз я использую Attiny85, но его можно использовать для большинства чипов/плат разработки. Это доказательство концепции, чтобы сгладить любые проблемы, которые я упустил из виду.
Итак, вы знаете, когда у вас в голове крутится идея, но есть несколько проблем, которые нужно решить, прежде чем вы сможете ее реализовать. Ну, я хотел сделать носимый, но изо всех сил пытался сделать ремешок, я просматривал aliexpress и наткнулся на ремешок для часов под названием «nato». Этот ремешок позволит вам продеть его через печатную плату и изолировать от запястья.
- Аттини85
- 4 1206 светодиодов SMD
- 4 1206 Резисторы 220 Ом
- Датчик наклона мяча
- Держатель для монет CR2032
- Ремешок для часов НАТО
Поскольку это доказательство концепции, я выбрал что-то простое. Все это представляет собой Attiny85 с 4 светодиодами SMD и переключателем/датчиком наклона шарика. Я рассматривал переключатель наклона шара как кнопку, поэтому, когда он был «нажат», он перечислял номер светодиода, поэтому он переходил от светодиода 1 к 4, а затем снова возвращался к 1. Когда я собирал его с 5-миллиметровыми светодиодами, казалось, что он не будет достаточно ярким, но с SMD-светодиодами все было в порядке.
Я пытался использовать как можно больше SMD-деталей. После разработки дизайна я хотел бы использовать smd attiny85. Таким образом, мне не нужно было бы создавать программу для штифтов, и я мог бы использовать зажим для чипа, как показано ниже.
Поскольку я устанавливал держатель батареи в нижней части платы, я был ограничен в том, где я мог разместить сквозные детали, поэтому пришлось сделать плату немного длиннее, чем мне бы хотелось. Опять же, поэтому я должен был использовать SMD attiny85.
Будущее
Итак, как я уже сказал, это основа для носимого устройства. Пока я разрабатывал базовый дизайн, я исследовал несколько разных направлений. Первое, что пришло в голову, это сделать TV-B-Gone с креплением на запястье. Я собирался использовать версию Attiny85, но после долгих испытаний не смог заставить ее работать на одной ячейке-монетке.
В этом проблема с этим фондом, вы ограничены только одной монетной ячейкой. Думаю, я положу эту идею в задний карман на то время, когда я думаю, что она сработает. Надеюсь, это вдохновит кого-то из них.
Макетная плата
Итак, для этого проекта я использую простой Attiny85. Пока я делал прототип, я сделал рюкзак, чтобы прикрепить его к верхней части чипа и вставить в макетную плату. Я сделал сообщение в блоге с более подробной информацией и файлами платы ЗДЕСЬ
На печатной плате
Чтобы запрограммировать чип, пока он находится на печатной плате, вы можете выломать разъем для программирования на печатной плате и припаять несколько штыревых контактов или лучше все еще использовать pogo булавки. Единственная проблема, связанная с необходимостью разбивать программные заголовки, — это свободное пространство. С этим проектом у меня было не так много, поэтому я решил сделать рюкзак, который сидел бы над чипом, и имел штифты, которые были бы на вершине ножек чипа. Он расположен по центру штыревых контактов на эфирном конце чипа, как показано ниже. Я использую тканевую прищепку, чтобы держать его на месте.
Ссылка на github – https://github.com/facelessloser/attiny85_wearable_concept/tree/master/board_files/wearable_concept
Файлы платы шаблонов – https://github.com/facelessloser/attiny85_wearable_concept/tree/master/board_files/ Wearable_template
Код Arduino – https://github.com/facelessloser/attiny85_wearable_concept/tree/master/arduino_files/tilt_led
Нравится:
Нравится Загрузка…
BCD Watch
1 — Реклама
Прокомментируйте ошибки или исправления, найденные для этой схемы, и получите шанс выиграть по-крупному!BCD означает двоично-десятичный код. Часы, которые не являются ни аналоговыми, ни цифровыми, это двоичные часы, которые показывают время в двоичных числах.
Зачем я это сделал?
Я хочу сделать часы, отражающие мою профессию, поэтому вместо простых часов у меня появилась уникальная идея. Эти часы показывают время в двоичном формате. Изучая инженерное дело, я узнал о двоично-десятичных числах, поэтому я применил эти знания здесь. Этот уникальный способ представления времени нелегко понять обычным пользователям, и он определенно привлекает внимание толпы.
Характеристики часов BCD
Часы с указанием часовВ часах есть одна кнопка. Если кнопка нажата, она покажет часы и минуты с задержкой в одну секунду, как показано на изображении. Когда он показывает часы, красный светодиод наверху будет светиться, а когда он показывает минуты, наверху будет светиться индикатор минут.
Часы с указанием минутУстановка часов:
— Реклама —
Когда кнопка нажата в течение 3 секунд, он перейдет в режим настройки, во-первых, индикатор часов будет мигать, что означает, что он находится в режиме настройки часов, часы можно увеличить, нажав кнопку.
Настройка минут:
При повторном нажатии кнопки в течение 3 секунд произойдет переход в режим настройки минут, индикатор минут начнет мигать. Минуты могут быть увеличены нажатием кнопки.
Выход из режима настройки:
Теперь, чтобы выйти из режима настройки Нажмите и удерживайте кнопку еще раз в течение 3 секунд, после длительного нажатия она покажет обычные часы в минутах с задержкой в одну секунду, как и раньше.
Уведомление о низком заряде батареи:
Когда заряд батареи падает ниже 20%, индикатор часов и минут мигнет 3 раза после отображения времени. Если батарея разряжена до 0%, время не будет отображаться, только красный светодиод мигнет 3 раза, указывая на немедленную зарядку пользователя.
Принципиальная схема и рабочая схема
Принципиальная схемаМикроконтроллер:
Часы очень маленькие, поэтому я хотел выбрать небольшой контроллер с хорошей флэш-памятью. Микроконтроллер Attiny85 отлично подходит для этой работы, он поставляется с 8 КБ флэш-памяти.
Расширение контактов:
Attiny85 имеет только 5 Gpio, но мне этого недостаточно, поэтому я использовал сдвиговый регистр 74hc595 для расширения своих контактов. Один регистр сдвига использует только 3 контакта микроконтроллера и может выдавать 8 контактов в качестве вывода.
Зарядка батареи:
Для управления зарядкой я использовал микросхему Tp4056, которая управляет зарядным током. Кроме того, я определяю напряжение батареи с помощью делителя напряжения, чтобы уведомить пользователя о низком заряде батареи.
Дизайн печатной платы
Передняя часть печатной платыЯ преобразовал схему в печатную плату. Как показано на печатной плате, она имеет круглую форму, чтобы создать ощущение часов, по бокам есть два слота для крепления ремешка для часов. Я заказал печатную плату в компании-производителе печатных плат. Вместо зеленой печатной платы черная печатная плата выглядит хорошо и подходит для нашего проекта.
PCB BackПрограммирование с использованием ICSP
Arduino Ide используется для программирования часов. Прежде всего, мне нужно установить плату Attiny85 в Arduino Uno. Откройте Arduino Uno, перейдите в «Файлы» >> «Настройки» и скопируйте ссылку, вставьте ее в раздел «Дополнительный диспетчер плат», разделив другие ссылки запятой «,».
Установка платы Attiny85Перейдите в Инструменты >> Платы >> Диспетчер плат, найдите Attiny85 и установите плату Attiny85.
Интернет-соединение для Attiny85Возьмите Arduino Uno Загрузите Arduino в качестве примера ISP в Arduino Uno. Подключите контакты Arduino, как показано ниже.
Контакты Arduino Uno | Штыри Иксп в печатной плате |
3 на 3 | Вкк |
Земля | Земля |
13 | СКК |
12 | МИСО |
11 | МОСИ |
10 | РСТ |
Настройка предохранителя Attiny85:
Для установки предохранителя Загрузите папку по ссылке Github, указанной ниже, и извлеките папку. Гитхаб.
Найдите папку «Fuse» и откройте ее. Введите Cmd вверху, где отображается путь к папке. Он открывает командный терминал с путем к той же папке.
Attiny85 DetectedAttiny85 настроен на работу на внутренней частоте 1 МГцВведите строку ниже в командном терминале, чтобы обнаружить контроллер, в приведенной ниже команде измените COM-порт через Com-порт на вашем ПК, к которому подключен Arduino Uno, который может быть виден диспетчером устройств. . После ввода команды, если вы видите, что предохранитель в порядке, как показано на изображении, значит, контроллер обнаружен.
avrdude -c arduino -b 19200 -p t85 -P COM7 -n
После этой команды введите приведенную ниже команду, чтобы установить тактовую частоту 1 МГц для работы с низким энергопотреблением.
avrdude -c arduino -b 19200 -p t85 -P COM7 -U lfuse:w:0x62:m -U hfuse:w:0xDF:m
Программирование:
Настройка в Arduino IdeОткрыть программу в Arduino Иде, данный в папке. Нажмите «Инструменты» и выполните настройку, как показано на изображении. Теперь перейдите к эскизу и нажмите «Загрузить с помощью программатора». Как только вы увидите загруженную программу, отсоедините плату от Arduino Uno.
Батарея и ремешок
Батарея подключенаВозьмите литий-полимерную батарею и подключите ее к входному конденсатору Ldo. Я использую аккумулятор емкостью 300 мАч, который работает около 8 дней.
Теперь, наконец, прикрепил ремешок к печатной плате. Я использую старые часы. Окончательный вид представлен на изображении.
Прикреплен ремешокКое-что, что нужно знать
Печатная плата типа C- Я использовал розетку типа C для зарядки. показано на изображении.
Неправильные пластины
- Я ошибся при выборе пакета SMD 74hc595, поэтому Smd 74hc595 слишком мал для пайки, поэтому я решил припаять микросхему, раздвинув ножки, что отлично подходит для меня.
Пайка 74hc595
- В проекте я рассчитываю временную основу Millis, Millis работает на тактовой частоте микроконтроллера.