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


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

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

Внешний вид бинарных часов на светодиодах с использованием Arduino

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

  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В представленной схеме плата 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+0+2+0=10

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

8x1 + 4x0 + 2x1 + 1x0 = 10

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

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

Пример перевода бинарного времени в обычное

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

2x0 + 1x0 = 0

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

8x0 + 4x0 + 2x0 + 1x1 = 1

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

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

4 2 1
4x0 + 2x0 + 1x1 = 1

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

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

8 4 2 1
8x1 + 4x0 + 2x0 + 1x0 =8

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

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

4 2 1
4x1 + 2x0 + 1x0 = 4

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

8 4 2 1
8x0 + 4x1 + 2x0 + 1x1 =5

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

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

HH MM SS
01 18 45

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

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

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

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

https://easyeda.com/circuitdigest/BinaryClock-4a25419d21cc424c9989a8f6a4633f5e.

Вы можете посмотреть печатную плату в этом сервисе со всех сторон, используя опцию ‘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 и, таким образом, завершили изготовление проекта.

Бинарные светодиодные часы в процессе сборки

Тестирование работы бинарных часов

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

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

Видео, демонстрирующее работу схемы

Статья переведена с сайта: https://circuitdigest.com/microcontroller-projects/led-binary-clock-using-arduino

(Проголосуй первым!)
Загрузка...
1 952 просмотров

Комментарии

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

  1. Добрый день.Подскажите, а как выставлять время?Кнопок не видно,или я чего-то не понял?C часами реального времени дела не имел.

    • Добрый вечер. Время в данных часах считывается из модуля часов реального времени DS1307, время в котором можно установить из программы. Более подробно про работу с данным модулем можно прочитать в статье про часы реального времени на основе платы Arduino.

      • Заквзал все для сборки. К сожалению так и не понял как устанавливается время. Просмотрел разную инфу, понял что сначала надо инициализировать модуль часов, но везде пишут не для новичков.не могли бы вы объяснить все по шагово с нуля?

  2. Здравствуйте. А что за деталь, которой нет в списке? Какая-то микросхема...

    • Добрый вечер. Это микросхема часов реального времени DS1307. Она есть в списке компонентов. Можете перейти по ссылке "купить на Aliexpress" рядом с ее названием в списке компонентов и посмотреть как она выглядит. Там фото хорошее

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

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