Бинарные часы это разновидность часов которые отображают время в двоичном коде. Идея создания таких часов возникла в 1940-х года в Японии, они были задуманы в качестве тренажера для улучшения памяти у пожилых людей. Мне давно хотелось заиметь такие часы и наконец дошли до них руки.
Оглавление
- Корпус часов
- Как определить время используя бинарные часы
- Электронная схема бинарных часов
- Работа часов
- Код прошивки
- Список компонентов
Корпус часов
В моём представлении это должны быть настольные часы в овальном корпусе. Время будет отображаться светодиодами и в отличие от «классических» бинарных часов, в моём варианте за «ноль» будет отвечать отдельный диод, то есть если он горит значит «ноль» (в классическом варианте «ноль» это когда ничего не горит…). Сделав набросок карандашом, приступил к моделированию корпуса и спустя некоторое время получил желаемый результат.

Корпус состоит из трёх основных частей и 4 ножек, в них запрессованы гайки М3 которые будут навинчиваться на винты фиксирующие плату с электроникой внутри корпуса, на изображении видно отверстие для этих винтов. За сборку всех частей между собой отвечает два 90 миллиметровых винта М5 с потайной головкой, которые проходят через весь корпус и вкручиваются в гайки запрессованные с внутренней стороны лицевой панели.

Как определить время используя бинарные часы.
На картинке ниже изображено за какое значение отвечает каждый из имеющихся светодиодов, их номера обозначены жёлтым, а значение черным. Так например если в левой части (та, которая отвечает за отображение часов) верхней строчки горит первый светодиод (который «ноль»), а во второй строчки горят 2-ой и 3-й диоды, то сейчас три часа ночи. Аналогично и с минутами, к примеру в десятках горят 2-ой и 4-й, а в единицах 3-тий, значит сейчас 03 часа 52 минуты. Жёлтые светодиоды в центре это разделитель между «часами» и «минутами» как и в обычных электронных часах будут мигать и отсчитывать секунды.

Электронная схема бинарных часов
В основе схемы задействован микроконтроллер ATmega8 выводов которого более чем достаточно для такого не сложного устройства.

Кроме микроконтроллера понадобиться кварцевый генератор с парой конденсаторов, три транзистора, резисторы и светодиоды. На задней панели корпуса расположены кнопки для настройки часов, выключатель и гнездо для подключения питания. В качестве источника питания использовал древнее зарядное устройство от мобильника на 5 вольт и ток 0,5 ампера.
Все двадцать светодиодов отвечающие за отображения времени работают по принципу динамической индикации, тесть транзисторы Q1 и Q2 поочередно подключают верхний и нижний ряд диодов к земле, благодаря такому подключению необходимо задействовать только 12 портов микроконтроллера.

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

Работа часов
При подачи питания на дисплее отобразиться время: 12:00, то есть полдень. Для настройки часов и минут следует использовать кнопки на задней панели.

Код прошивки
Прошивка написана в Arduino IDE, в качестве программатора использовал Arduino UNO, о том как это сделать можно почитать здесь.
Непосредственно отсчет времени реализован самым простым способом. Есть три переменных тип byte: секунда, минута и час. Каждую секунду к переменной «секунда» прибавляется единица, а при достижении 60-ти счетчик обнуляется и добавляется единица к переменной «минута». Аналогичное обнуление происходит с переменными «минута» и «час» только часы обнуляются каждые 24 единицы.
Вывод времени осуществлен через порт B и С микроконтроллера (часы и минуты). Предварительно значение часов и минут раскладываются на десятки и единицы, а затем с периодичностью в 10 миллисекунд построчно выводятся на светодиоды.
Код полностью откомментирован и доступен для изучения.
Список компонентов
- Набор светодиодов — 20 красных и 2 жёлтых
- Микроконтроллер ATmega8 — 1 штука
- Транзисторы 2N3904 — 3 штуки
- Конденсаторы 20pf — 2 штуки
- Кварцевый генератор 16 мгц — 1 штука
- Резисторы на 1 кОм — 12 штук
- Разъем питания — 1 штука
- Штекер питания — 1 штука
- Кнопки — 2 штуки
- Выключатель — 1 штука
- Предохранитель — 1 штука
Найти прошивку, 3d модель корпуса, схему и печатную плату в формате EasyEDA можно в архиве проекта.