Аналого-цифровые часы на базе Ардуино своими руками

Специально для mozgochiny.ru

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

Цифры будут отображаться в виде семисегментных индикаторов, в которых вместо светодиодов будут перемещаться сегменты, которые выходя из панели будут создавать тень. А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»>)

Рекомендуемые посты

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