Программирование AVR Самодельные часы с эффектом "бесконечного зеркала" Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Самодельные часы с эффектом "бесконечного зеркала" Печать
Добавил(а) microsin   

Идею "бесконечного зеркала" (Infinity Mirror) я первый раз увидел на сайте Seed Studio [1], и даже не сразу понял, что это такое. Идея настолько понравилась, что захотелось сделать что-то подобное на основе светодиодной RGB-ленты - предположительно часы. С такими лентами мне уже приходилось работать [2], так что самое сложное - хорошо сделать зеркальную систему. 

[Как устроено Infinity Mirror]

"Бесконечное зеркало" должно состоять из 2 параллельных зеркал, отражающих свет друг на друга. Одно зеркало - дальнее по отношению к зрителю - должно быть полностью непрозрачным, это по сути обычное стандартное зеркало. Второе зеркало - которое ближе к наблюдателю - должно быть полупрозрачным, т. е. оно должно пропускать через себя примерно 50% светового потока, и вторую половину света должно отражать. Между этими зеркалами помещаются светящиеся объекты, которые из-за многократного отражения дают иллюзию туннеля, уходящего в бесконечность.

InfinityMirror example

Infinity Mirror: картинки в Google

Начал искать, из чего можно сделать систему зеркал. Желательно, чтобы зеркала были хорошего качества, большие, но не слишком тяжелые.

Обычное зеркало. Можно легко заказать обычное стеклянное зеркало, причем совсем недорого, и практически любого нужного размера - есть много компаний, кто этим занимается. К сожалению, такое зеркало будет довольно тяжелым, так что нужно позаботиться о его надежном креплении. Также можно заказать акриловое зеркало, оно делается на основе пластика, и применяется для декоративного оформления помещений, изготовления зеркальных потолков. Акриловые зеркала весят намного меньше стеклянных, не страдают хрупкостью, безопасны, что большой плюс. Но акрил почему-то почти в 5 раз дороже обычного стекла, что меня очень удивило и расстроило. Потому было решено заказать обычное зеркало, и повесить его на стену с помощью обычного крепежа, а всю остальную конструкцию нахлобучить на зеркало сверху.

Полупрозрачное зеркало. Насмотревшись видероликов в интернете, решил что нужно найти лист оргстекла толщиной 4..6 мм, и наклеить на него полупрозрачную пленку, которой делают тонировку стекол авто. Но почему-то оказалось, что лист оргстекла большого размера купить трудно, и он стоит дороже, чем изготовить полупрозрачное зеркало из обычного стекла. Поэтому было заказано полупрозрачное зеркало в том же месте, где заказал ранее обычное зеркало. Компания, которая делает такие зеркала, также может сделать в стекле отверстия нужного диаметра для крепления, с размерами по предоставленному чертежу.

infinity mirror spy glass

Рама для конструкции. Прямогольную раму для крепления RGB-светодиодов изготовил из прямоугольного алюминиевого профиля, который купил в магазине OBI.

Infinity Mirror IMG 3127 Infinity Mirror IMG 3137

Светодиодную RGB-ленту наклеил на внутреннюю поверхность рамы с помощью двухстороннего скотча. Количество светодиодов пришлось подобрать таким образом, чтобы оно нацело делилось на 60 и 12 - на циферблате часов 60 секторов, относящихся к минутам и секундам, и 12 секторов, относящихся к часам. Путем подбора остановился на количестве светодиодов 240, при этом ленту пришлось укоротить, разрезая и снова соединяя отдельные части ленты.

Infinity Mirror IMG 3130

Infinity Mirror IMG 3145

Infinity Mirror IMG 3147

[Контроллер для управления лентой RGB]

Контроллер взял по той же самой схеме, как в статье [2], на основе макетной платы AVR-USB-MEGA16. Блок питания на 5 V 100 Вт купил на рынке. Всю конструкцию собрал в пластмассовом корпусе, который купил в магазине Чип-и-Дип.

Infinity Mirror IMG 3108

Infinity Mirror IMG 3112

Infinity Mirror IMG 3121

Infinity Mirror IMG 3125

Основное отличие конструкции от статьи [2] состояло в том, что была подключена микросхема часов DS1307 с батарейкой, и еще добавился поворотный энкодер с кнопкой на ручке, чтобы можно было установить время часов. Энкодер подключил к штырькам разъема ISP через сигналы SCK, MOSI, MISO, настроенные в программе микроконтроллера как порты GPIO (коннектор ISP не используется, поскольку перепрошивка программы возможна через USB, с помощью загрузчика USBasploader).

Infinity Mirror clock controller SCH

Программа была дописана таким образом, чтобы отображались сектора, соответствующие "стрелкам" часов, работала обработка энкодера во время установки времени. Функционал цветомузыки сохранился - цветовые эффекты соответствуют музыкальной картине, принимаемой микрофоном. Что получилось - можно посмотреть в видероликах.

[На что следует обратить внимание при изготовлении Infinity Mirror]

1. Если сделать маленькое расстояние между зеркалами, то эффект "туннеля" получится не глубоким - из-за ослабления света при переотражении. Особенно это заметно в том случае, когда источник света внутри слабый.

2. Внутреннюю часть рамки "бесконечного зеркала" лучше выкрасить в черный цвет, иначе она будет хорошо видна, и будут заметны различные дефекты конструкции, если таковые есть.

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

[Ссылки]

1. Infinity Mirror site:seeedstudio.com.
2. AVR-USB-MEGA16: цветомузыка на светодиодной RGB-ленте WS2811.
3160124color-music-DS1307.zip - исходный код проекта, документация.

 

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


Защитный код
Обновить

Top of Page