HandMade32.ru - сделай своими руками

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


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

administrator

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

Follow us

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