Часы в стиле работ Сальвадора Дали

Автор Instructables под ником marciot ещё в восьмидесятых увидел на компьютере, который тогда назывался не коротко — Mac, как сейчас, а полностью — Macintosh, программу с часами в стиле работ Сальвадора Дали, где цифры меняются не резко, а плавно меняя форму. Сегодня получить аналогичный эффект не проблема — существует очень старая программа с открытым исходным кодом xdaliclock, изначально написанная для рабочих станций Xerox Alto, а затем портированная на Unix-подобные ОС. Но она работает на ПК, а мастеру захотелось, чтобы это были отдельные настольные часы, которые никогда не будут закрыты другими запущенными программами.

Мастер решает применить в самоделке дисплей на микросхеме FT810 компании FTDI, более известной как производитель преобразователей интерфейса USB-COM. В этой микросхеме, помимо драйвера дисплея, имеются встроенные видеопамять, GPU, музыкальной синтезатор, устройство считывания данных с сенсора с функцией мультитача, и даже аппаратный декодер JPEG. Это позволяет значительно разгрузить такую маломощную платформу, как Arduino, переложив целый ряд функций на встроенные в дисплей периферийные устройства. Ну а модули, состоящие из дисплея, сенсора и этого чипа, выпускает компания Haoyu Electronics.

Далее показан довольно распространённый модуль часов реального времени (RTC) на микросхеме DS1302:

Получив дисплей, мастер отключает шлейф от переходной платы, припаивает двухрядную гребёнку (подойдут и две однорядных), заклеивает места паек изолентой, возвращает плату на место и подключает обратно шлейф. Вместо гребёнки можно припаять кабель или отдельные провода, но в этом случае дисплей будет несъёмным.

Мастер печатает подставку (3D-модели и исходники лежат здесь). Конечно, подставку (или корпус) можно изготовить и другим способом.

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

Сняв с дисплея защитную плёнку, устанавливает его на подставку:

В программе Fritzing составляет схему и выводит её двумя способами — Fritzing’овским и обычным, чтобы понравилось сторонникам того и другого:

Собирает всю электронику, после чего принимается за ПО. Arduino — платформа маломощная, поэтому портировать на неё xdaliclock невозможно. Но можно взять оттуда изображения, а весь код написать с нуля. Эти изображения, как и сама программа xdaliclock, доступны по лицензии X11, которая менее строга, чем GPL. Поэтому комплект из нового кода и имеющихся изображений мастер лицензирует под GPL (сделать наоборот — лицензировать под X11 то, что сделано из чего-либо доступного под GPL — нельзя) и выкладывает сюда.

Мастер компилирует имеющийся в архиве файл формата INO и заливает в Arduino, ну а вы перед компиляцией можете подкорректировать цвета. При желании часы можно сделать вообще монохромными, будет как на Alto или ранних Макинтошах.

clock.fill_gradient(0xFF0000, 0x0000FF);
grid.fill_gradient(0x000000, 0xFF8800);
shine.fill_gradient(0x7F7F7F);

Также в файле DaliClock/src/ui_lib/ui_config.h можно скорректировать набор выводов, к которым подключается дисплейный модуль, а в файле DaliClock/src/ds1302.cpp — скорректировать набор выводов, к которым подключается модуль часов реального времени.

Настройка часов:

1. Нажать на разряд, его значение начнёт увеличиваться, пока вы его не отпустите.

2. Нажать на нижнюю часть экрана — часы переключатся в режим календаря.

3. Настроить календарь так же.

4. После прекращения нажатий на экран через пять секунд произойдёт автоматический возврат в режим часов.

Оба видео в статье — под CC-BY: первое — не указано, какой версии, второе — 3.0.

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями:
автомобильные новости
Добавить комментарий