Своими руками

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


Автор 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.

admin

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.