Двоичные часы своими руками

Бинарные часы своими руками


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

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

Мастер спрятал большинство компонентов на обратной стороне печатной платы и сделал ее с черным фоном. Электроника и печатная плата соответствуют двухцветному дизайну часов.

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

Корпус состоит из двух частей нижней части и кольца. На нижней части часов устанавливаются печатная плата, ремешок для часов и заводная головка. На кольце устанавливается стекло.

Большое внимание уделено энергопотреблению. В глубоком сне часы потребляют всего 10 мкА. Это дает срок службы батареи более двух лет.
Что касается пользовательского интерфейса, нужно просто нажать заводную головку часов, чтобы разбудить их и они сразу показывают время. При нажатии кнопки еще раз, будет отображаться дата. Поскольку срок службы батареи составляет два года, можете легко переключаться между летним временем без подключения к компьютеру. Для этого нужно нажать кнопку 15 раз подряд.

Шаг второй: выбор компонентов
Есть четыре основные части печатной платы. Микропроцессор atmega328p. Это то же самое, что и в популярных моделях Arduino. Это мозг, который будет связываться с модулем часов реального времени (RTC), обрабатывать время и отображать его с помощью светодиодов. Все это, конечно, нуждается в источнике питания, желательно крошечной батарее.

ATmega328P
Микропроцессор должен был соответствовать определенным критериям. Для GPIO требовалось как минимум девять контактов, восемь для светодиодов и один для кнопки. Ему также требовалась шина I2C, где он мог бы выступать в качестве ведущего устройства для опроса RTC на данный момент. Наконец, он должен был работать при низких напряжениях и не потреблять чрезмерного количества тока при питании. Atmega328P-AU соответствует всем этим критериям, и при этом достаточно мал, чтобы не занимать всю площадь печатной платы. Большой плюс в том, что он также используется для большинства популярных плат Arduino и многие могут с ним работать.

Печатная плата
Плата была разработана для использования керамического резонатора 8 МГц. Однако оказалось, что процессор должен работать с меньшей частотой, чтобы работать на низких напряжениях. Посмотрите на изображение в этом шаге, взятое со страницы 303 в техническом описании, которое объясняет соотношение между тактовой частотой и рабочим напряжением. Тактовая частота около 4 МГц должна быть максимальной для этого проекта. Мастер использовал внутренний генератор на 8 МГц и активировал деление на 8 бит, что дает видимую тактовую частоту как 1 МГц. Однако 8 МГц резонатор по-прежнему нужен при загрузке кода. После загрузки мастер не стал его удалять

DS3231
Сначала мастер хотел использовать DS1307 RTC. Это более популярная микросхема. Однако для нее требуется источник питания 5 В.
DS3231 может работать при низком напряжении 1,8 В. Чип имеет встроенный кварцевый кристалл. Встроенный кристалл часов также имеет температурную компенсацию. Температура окружающей среды может вызывать нерегулярные колебания часового кристалла. Это означает, что он становится менее точным. DS3231 измеряет температуру окружающей среды и использует ее в расчете для компенсации колебаний температуры. Идеально подходит для наручных часов, когда вы входите и выходите из разных комнат или выходите на улицу, когда температура не постоянна.

Читайте также:  Как сделать птичек своими руками с детьми

Светодиоды
Светодиоды мастер использует форм-фактора 0603. Они могут потреблять до 20 миллиампер, но, благодаря тому, что одновременно могут работать не более трех светодиодов это не проблема. Ток также уменьшается при использовании резисторов большего номинала, чем необходимо. Мастер говорит, что наиболее эффективно, для этих светодиодов, использовать резисторы 100 — 400 Ом.

CR2032
Схема часов может питаться от литиевой батареи. У нее нет проблемы снижения напряжения при том же токе, что и у CR2032, но это принесет дополнительные проблемы. Для этого проекта литий-ионный аккумулятор будет иметь два основных недостатка. Емкость крошечного элемента близка к емкости CR2032, но для безопасной зарядки и безопасной разрядки ей требуется дополнительная плата. Также потребуется способ подключения зарядного устройства. Поэтому мастер выбрал CR2032.





На первом рисунке мы видим матрицу 4Х4 с 13 светодиодами. Ряды матрицы пронумерованы цифрами 1,2,4,8.
Для того, чтобы узнать время необходимо сложить все светодиоды в одном ряду, затем в следующем и т.д.
Например, рисунок 2, первый квадрат. Слева-направо горит один светодиод первый столбец, первый ряд. Первый ряд у нас под цифрой 1, значит первая цифра часа 1. Далее второй столбец горят два светодиода под номерами 1 и 2. Складываем цифры, получается 3. Следующий столбец один светодиод номер 4. И последний столбец светодиоды 1+2+4=7. Получаем 13 часов 47 минут.

Шаг четвертый: схема
Печатная плата имеет круглую форму, как и классические часы. Стандартный корпус часов обычно составляет 42 мм с диаметром стекла 38 мм. Это внешний край стекла. Однако, если стекло опирается на кромку шириной 1 мм, доступный диаметр становится равен 36 мм. Это означало, что печатная плата должна быть около 35 мм.

Мастер заказал плату на известном сайте. Платы имеют толщину 0,8 мм.







Шаг шестой: доработка кнопки
Как можно заметить, заводная головка часов на боковой стороне корпуса предназначена, в данном устройстве, для управления часами. Она взаимодействует с микрокнопкой подключенной к микроконтроллеру. Для этого кнопку нужно переделать.

Самые дешевые тактильные кнопки, имеют маленькую круглую черную пластиковую деталь, на которую нужно нажать, чтобы замкнуть контакты. Её нужно заменить. Мастер разбирает кнопку, срезая металлический крепеж. Удаляет кнопку. На металлическую пластинку наклеивает кусочек малярной ленты и устанавливает обратно. Склеивает корпус кнопки. Теперь можно припаять кнопку.





Шаг седьмой: кодирование
Микроконтроллер не может и работать с кодом Arduino на этом этапе. Сначала нужен загрузчик. Это подпрограмма, которую необходимо сохранить на чипе, чтобы загрузить и выполнить написанную программу.

Поскольку это Atmega328P со сверхнизким напряжением, для него требуется специальный тип загрузчика.
Откройте Arduino IDE, выберите «Файл»> «Настройки»> «URL-адреса менеджера дополнительных плат» и добавьте запятую после последнего URL-адреса перед вставкой нижеследующего URL

https: //mcudude.github.io/MiniCore/package_MCUdude .
Нажмите «ОК» несколько раз и перейдите в « Инструменты»> «Доска»> «Менеджер плат» . Откройте его, найдите minicore и установите его.

Подключите Arduino по схеме, как на фото. Зайдите в примеры Arduino и откройте пример кода «ArduinoISP». Загрузите код.
Дальше нужно установить установите Tools> Programmer: в «Arduino as ISP». Выберите следующую конфигурацию из загрузчика MiniCore. Вы также можете дважды проверить свою конфигурацию в соответствии с конфигурацией на картинке, прикрепленной к этому шагу.

Настройки загрузчика
Board: ATmega328
Bootlader: Yes
Clock: 1 MHz internal
Compiler LTO: Disabled
Variant: 328P / 328PA
BOD: 1.8V

Теперь последний шаг — подключить провода от Arduino к плате часов. Выберите опцию Tools> Burn Bootloader . Подождите немного, и вы получите сообщение об удачной установке загрузчика.

Читайте также:  Как сделать заплатку своими руками









Вставьте заводную головку в корпус часов.

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

Вставьте шестигранные гайки в соответствующие им шестигранные пазы и зафиксируйте их на месте небольшим кусочком скотча.








Прикрепите двустороннюю клейкую ленту к нижней стороне печатной платы.

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









Источник

Бинарные часы на светодиодах с использованием Arduino

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

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

Необходимые компоненты

  1. Плата Arduino Nano (купить на AliExpress).
  2. Часы реального времени DS1307 RTC (купить на AliExpress).
  3. Кварцевый резонатор (32.768Khz Crystal) (купить на AliExpress).
  4. Миниатюрная батарейка на 3 В.
  5. Резисторы 1 кОм (купить на AliExpress).
  6. Резисторы 10 кОм (купить на AliExpress).
  7. Транзисторы BC557A (купить на AliExpress).
  8. Источник питания.
  9. Светодиоды.

Работа схемы

Схема проектируемых нами бинарных часов на светодиодах представлена на следующем рисунке.

В представленной схеме плата Arduino Nano управляет всеми процессами: считывает время из микросхемы часов реального времени и отображает его на светодиодах. Батарейка на 3 В используется в качестве источника резервного питания для микросхемы часов реального времени. Более подробно эти вопросы вы можете изучить в статье про часы реального времени на основе платы Arduino.

20 светодиодов соединены в форме матрицы. Итого мы имеем 6 столбцов и 4 строки светодиодов. 2 столбца используются для отображения количества часов, следующие 2 столбца – для отображения количества минут и следующие 2 столбца – для отображения количества секунд. Также мы использовали 6 транзисторов PNP типа чтобы управлять переключением светодиодов в этих 6 столбцах. Всю схему можно запитать от напряжения 5 В, мы для этой цели использовали USB кабель, подключенный к компьютеру.

Как считывать и рассчитывать время в бинарных часах

Я думаю вы знакомы с бинарными (двоичными) числами, которые включают в себя 0 и 1. Используя эти две цифры, мы можем показывать время, также мы можем конвертировать двоичные числа в десятичные. Используя числа 8 4 2 1 (написанные на нашей печатной плате (см. рисунок) справа), мы можем конвертировать двоичные числа в десятичные.

К примеру, двоичное число 1010 – это десятичное 10. Как это можно определить? Начинаем с самого значимого разряда, он у нас крайний слева в числе 1010 и он равен 1, следовательно нужно умножить 1 на 8. Потом следующий разряд нужно умножить на 4 (он у нас 0, поэтому к сумме ничего не добавляется), затем следующий разряд нужно умножить на 2 (он у нас 1) и крайний справа разряд нужно умножить на 1 и потом все это сложить.

А если в расширенном варианте (по всем правилам):

8×1 + 4×0 + 2×1 + 1×0 = 10

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

Как указывалось выше, у нас 6 столбцов и 4 строки светодиодов. Каждые два столбца используются, соответственно, для отображения часов (HH), минут (MM) и секунд (SS). На правой стороне печатной платы мы видим цифры 1, 2, 4 и 8, которые облегчают нам перевод двоичного числа в десятичное.

Теперь рассмотрим как правильно считать время на наших бинарных часах, показанное на предыдущем рисунке. Мы видим, что в первом столбце у нас нет горящих светодиодов, это означает:

В следующем столбце мы видим один горящий светодиод в первой строке, следовательно, в соответствии с цифрами 8 4 2 1 имеем:

Читайте также:  Изменение вылета диска уаз своими руками

8×0 + 4×0 + 2×0 + 1×1 = 1

То есть число часов (HH), равно 1.

В первом столбце для минут (MM ) мы видим один горящий светодиод в первой строке:

4 2 1
4×0 + 2×0 + 1×1 = 1

То есть получаем 10 минут потому что этот столбец обозначает десятки минут.

Во втором столбце для минут (MM) мы видим один светодиод, горящий в строке напротив цифры 8, следовательно, имеем:

8 4 2 1
8×1 + 4×0 + 2×0 + 1×0 =8

Таким образом, в сумме мы получили 18 минут.

В первом столбце для секунд (SS) мы видим один горящий светодиод в строке напротив цифры 4, следовательно, получаем:

4 2 1
4×1 + 2×0 + 1×0 = 4

Во втором столбце для секунд (SS) мы видим два горящих светодиода в строках напротив цифр 4 и 1, следовательно, получаем:

8 4 2 1
8×0 + 4×1 + 2×0 + 1×1 =5

Таким образом, мы получили в сумме 45 секунд.

В итоге мы получили время 01:18:45.

HH MM SS
01 18 45

Дизайн печатной платы с использованием сервиса EasyEDA

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

Для проектирования печатной платы для нашего проекта мы выбрали онлайн-сервис EasyEDA, который, по нашему мнению, является очень удобным в подобных вопросах. Он является проектом с открытым исходным кодом и содержит много подложек (footprints). После создания печатной платы в сервисе EasyEDA можно достаточно дешево заказать ее изготовление. На этом же сервисе по изготовлению печатных плат продается достаточно много различных электронных компонентов, которые можно заказать вместе с изготовлением своей печатной платы. Конечно, для жителей стран СНГ этот сервис может быть не очень интересен, но все же решил не удалять ссылку на него при переводе статьи с сайта-источника.

При проектировании печатной платы в EasyEDA вы можете сделать проект своей печатной платы общедоступным чтобы другие пользователи могли скачивать и редактировать его. К примеру, макет печатной платы для рассматриваемого в этой статье проекта бинарных часов на светодиодах доступен по адресу:

Вы можете посмотреть печатную плату в этом сервисе со всех сторон, используя опцию ‘Layers’.

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

Заказ изготовления печатной платы

После окончания работы по проектированию печатной платы вы можете заказать ее изготовление на сайте JLCPCB.com. Для осуществления этого вам будет необходим Gerber файл печатной платы, для этого можно в редакторе EasyEDA нажать кнопку Fabrication Output (заказа изготовления) и затем подгрузить этот файл на странице заказа печатной платы.

При заказе печатной платы на сайте JLCPCB.com необходимо нажать на кнопку Quote Now или Buy Now, выбрать количество экземпляров печатной платы, число слоев меди, толщину печатной платы, вес меди и даже цвет печатной платы как показано на рисунке.

После выбора всех необходимых опций печатной платы необходимо нажать кнопку “Save to Cart” и тогда вас перебросит на страницу, где вы можете загрузить Gerber файл, который мы скачали с EasyEDA. Загрузите ваш Gerber файл и нажмите на “Save to Cart”. В завершение нажмите Checkout Securely чтобы завершить оформление заказа. В нашем случае стоимость изготовления печатной платы составила $2, сделали ее за 48 часов и доставили службой доставки DHL за 5 дней.

В результате печатная плата к нам пришла вот в такой вот коробке:

Внутри нее была наша печатная плата, к которой мы припаяли необходимые компоненты, потом загрузили программу в плату Arduino и, таким образом, завершили изготовление проекта.

Исходный код программы

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

Источник

Оцените статью