Notice: Undefined index: host in /www/mozgochiny.ru/wp-content/plugins/cas/cas.php on line 131
Специально для 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">)