Специально для mozgochiny.com
Всем привет! В сегодняшней статье мы изготовим аналого-цифровые часы на базе платы Ардуино своими руками.

Цифры будут отображаться в виде семисегментных индикаторов, в которых вместо светодиодов будут перемещаться сегменты, которые выходя из панели будут создавать тень. Аrduino обрабатывает значение текущего время, а затем выводит соответствующие цифры через контроллер серводвигателей.

При изготовлении самоделки использовались легкодоступные детали и базовые знания в области электроники. Вместо использования 3Д-принтера, вся конструкция будет выполнена в технике papercrafting.

Шаг 1: Необходимые материалы и инструменты

Комплект электроники:
- Arduino Uno;
- DS1307 часы реального времени;
- Контроллер для серводвигателей;
- 28 сервомоторов.


Составные части конструкции:
- Картон;
- Алюминиевые трубки разных сечений;
- Двусторонний скотч;
- Мягкие накладки на ножки мебели;
- Скрепки.


Инструменты:
- Режущий плоттер Silhouette Portrait (по желанию);
- Клей-пистолет;
- Гравер (по желанию);
- Наборной скальпель (по желанию).

Шаг 2: Проверка исправности электронных модулей

Подключим SSC-32 к плате Ардуино, используя рисунок в качестве руководства.

Шаг 3: Конструкция часов
Элементы конструкции были разработаны в Adobe Illustrator. Нам же будет необходимо вырезать соответствующие фрагменты.
Поделка состоит из 6 слоев:
- Лицевая панель часов;
- Сегменты;
- Щит (удерживает трубки);
- 2 слоя основы (удерживают сервоприводы + трубки);
- Изнаночный щит (удерживает сервоприводы);
arduino_clock
Шаг 4: Вырезаем сегменты


Сегменты можно вырезать вручную (наборным скальпелем) или с помощью плоттера.


Алюминиевые стержни: большие трубки режем на длину 1 см, а меньшие (будут скользить внутри) на длину в 2 см.



Шаг 5: Собираем корпус



Используя мягкие накладки и двухсторонний скотч соберём воедино «корпус часов».







Шаг 6: Устанавливаем сегменты


Устанавливаем маленькие трубочки вовнутрь больших трубок и нанесём клей.

Установим лицевую часть. После чего отрежем и согнём скрепки, как показано на рисунке.


Снова нанесём клей.


Шаг 7: Добавляем сервоприводы

Присоединим сервоприводы к скрепкам.
Шаг 8:

Добавим последний слой.


Шаг 9: Подключаем электронику
На контроллере SSC-32 имеются 32 контакта, подключим к ним 28 сервоприводов. Затем подключим RX к TX на плате Arduino. Подключим заземляющий контакт к контакту заземления Arduino.

Подключение RTC [DS1307].
- Подключим 5В к 5В на плате Arduino;
- Подключим GND к GND на плате Arduino;
- Подключим SDA к аналоговому выводу 4 на плате Arduino;
- Подключим SCL к аналоговому выводу 5 на плате Arduino.

Шаг 10: Программирование
Алгоритм
Главный цикл:
1. Считываем значение времени из модуля RTC (в часах и минутах);
2. Если значения отличаются от того, что уже хранится в переменной, сервоприводы меняют отображаемое время.
3. Повтор 1-2 действия.
Отображение времени:
1. Разделяем время на четыре цифры;
2. В каждом семисегментном индикаторе перемещаем сегменты для отображения выводимых цифр;
Отображаем цифры:
1. Устанавливаем логику декодера. Переводим int в семисегментный порядок.
2. Переместим необходимые сервоприводы на X-градус, а ненужные сервоприводы на Y-градус (где X - это выходное положение, а Y - положение плоскости лицевой панели).
arduino_clock
Также необходимо установить часы RTC. Понадобится библиотека RTC.
RTC_lib
Шаг 11:

На этом всё. Надеюсь, вам понравилась данная статья. Спасибо за внимание!
( Специально для МозгоЧинов #DigitalAnalog-Clock-Arduino-PaperCraft/" target="_blank" rel="noopener noreferrer">)

3601
~2.5 мин









