Голограмма своими руками. Рисуем светом
Впечатляет, не правда ли?
В основе устройства лежит адресная светодиодная лента, позволяющая управлять цветом каждого своего светодиода в отдельности. Значит, берем такую ленту и даем команду отображать большое цветное изображение послойно, показывая каждый столбец пикселей через небольшой промежуток времени. Ставим фотоаппарат на длинную выдержку, проводим палкой-рисовалкой, и получаем цветную картину, которая будто бы застыла в воздухе.
Для сборки понадобились:
1. Сама адресная лента. Автор взял с разрешением 60 светодиодов на метр и закрепил ее на металлическом профиле.
2. Далее понадобятся карта памяти micro sd и модуль для ее подключения. На карте будут лежать файлы картинок для отрисовки.
3. Кнопка для запуска анимации.
4. И конечно же, платформа arduino nano, которая будет всем этим управлять.
5. Также в оригинальной схеме есть потенциометр, для настройки яркости и скорости показа анимации.
6. Лента требует питания 5 вольт, причем на ярких участках изображения она возьмет приличный ток. Поэтому питать будем от китайского повербанка.
Ну и вот это называется макет, но макет рабочий.
Перед началом работы нужно подготовить карту памяти и сами изображения. Карту нужно отформатировать в формат fat. И чтобы не возникало никаких дополнительных вопросов, форматировать будем официальной утилитой, у которой есть только кнопка формат. Программа идет в архиве с проектом (ссылка в конце статьи).
Следующий шаг подготовки — это сами изображения. К ним тоже есть ряд жестких требований. Во-первых, ширина изображения должна быть равна количеству светодиодов в вашем отрезке ленты. Во-вторых, изображение должно быть в формате bmp с глубиной цвета 24 бита. В третьих, изображение располагается вертикально снизу вверх, верхняя сторона изображения смотрит влево. Для подготовки изображений не нужно никаких сверхъестественных программ, достаточно стандартного windows-овского paint. Но лучше скачать бесплатный paint.net, потому что в нем можно работать со слоями, а это нам пригодится. Разберем на примере классики -nyan cat. Он является отличной картинкой для такого рода эффектов. Находим в гугле картинку, сразу отмечу, что там, где на картинке черный цвет, там светодиод гореть не будет. Если вы хотите нарисовать картинку без подложки, то есть без фона, то нужно найти либо картинку на черном фоне, либо скачать картинку в формате png с прозрачным фоном.
Открываем нашу картинку в paint.net. Первым делом заливаем фон черным. Для этого создаем новый слой, помещаем его вниз и заливаем. Теперь повернем картинку и отразим зеркально, чтобы она встала как нужно. Меняем ширину изображения на количество светодиодов (у автора их 60). И теперь осталось только сохранить в формат bmp с глубиной цвета 24 бита. Все.
В итоге мы должны получить отформатированную карту памяти и на ней готовые картинки нужного размера в формате bmp и под нужными названиями: фрейм 000, фрейм 001, 002 и так далее.
Теперь заходим на страницу проекта и качаем архив. Здесь вы найдете коллекцию готовых изображений, а также все необходимые программы, прошивки, схемы и инструкции. Для тех, кто не сталкивался arduino, есть отдельная ультрамегасуперподробная статья.
Запускаем, и единственное что здесь нужно поменять, это количество светодиодов, оно, очевидно, должно соответствовать числу светодиодов вашей ленты и число пикселей ширине ваших картинок. Предварительно прочитав все инструкции и выполнив необходимые действия, жмем кнопку загрузить. Все прототип готов.
Первый запуск рекомендую производить, не отключая от компьютера и открыв монитор порта, здесь будет куча всякой полезной информации. После каждого изменения или добавления картинок на карту памяти, нужно будет запускать систему с нажатой кнопкой, тогда включится режим преобразования изображений и каждое ваше изображение будет преобразовано. Также потенциометр во время первого запуска выполняет роль ручки регулировки яркости, потому что яркость настраивается на этапе запуска с обработкой. Также первый запуск важен тем, что вы сможете увидеть все возможные ошибки.
В общем после успешной загрузки и кучи ОКеев, можно отключаться и дальнейшие запуски производить уже без нажатия кнопки. Теперь все предельно просто, включаем, немножечко ждем и при нажатии на кнопку будет показана анимация. При следующем нажатии будет показана следующая картинка с карты, и так далее по кругу. Потенциометром теперь настраивается скорость анимации.
Ставим фотоаппарат на выдержку две-три секунды, включаем таймер и погнали на исходную. Получается магическим образом застывшее в воздухе изображение.
Для смартфонов, кстати, есть специальные приложения, позволяющие снимать с длинной выдержкой и не нужен дорогой фотоаппарат с ручной настройкой экспозиции.
Штуковина получилась прикольная, но тут есть один большущий недостаток — она тупо неудобная, а если у вас больше 10 картинок на карте, то это вообще полный трэш, выбрать нужную будет невозможно.
Давайте немного расширим возможности и добавим дисплей. Дисплей используем вот такой:
Кстати о настройках. И так, как же пользоваться этой штукой? Автор немного изменил дизайн, перенес выключатель питания, перенес карту памяти.
Включаем питание, хватаемся за корпус, нажимаем кнопку и проводим рисовалкой. Что касается запуска и настроек: после любого добавления или изменения изображения на карте памяти, нужно производить запуск с обработкой (в данной версии для этого нужно нажать на энкодер и подать питание, появляется надпись старт, отпускаем кнопку, появляется надпись подготовка). Подготовка занимает несколько секунд, зависит от количества изображения на карте памяти и их длины. Теперь нам предлагается выбрать яркость. Яркость изменяется от 10 до 95.
Максимальная яркость ограничивается не яркостью самой ленты, а током, который мы настроили в настройках, то есть все зависит от вашего источника питания.
В общем теперь выбираем нужную нам картинку, то есть нужно знать под каким номером что идет, нажимаем кнопку запуска и анимация воспроизводится.
Чтобы настроить скорость, зажимаем кнопку энкодера, появляется надпись sp (speed) и удерживая энкодер нажатым, можно настроить скорость.
Максимальная скорость упирается в максимальную скорость чтения с карты памяти.
Выбранная скорость записывается в энергонезависимую память и не сбрасывается при перезагрузке. Кстати, последующий запуск происходит гораздо быстрее.
Благодарю за внимание. До новых встреч!
Источник
Как я собирал голограмму
Решил собрать голограмму своими руками, но в итоге вместо картинки я получил разочарование. Стоило ли вообще в это лезть?
И всё же, если вы надумайте собрать дома голограмму, то далее я опишу какие ошибки я допустил, чтобы вы уж точно их не допустили.
Маленькое уточнение!
Голограмма — объёмное изображение, полученное голографическим методом, именно так написано в толковом словаре Ожегова. В современном толковом словаре русского языка Т.Ф. Ефремовой говорится, что голограмма — это объемное изображение предмета на фотопластинке, полученное методом голографии. Выходит, голограмма это нечто «плоское», но имитирующая объём.
К чему я это? А к тому, что сегодня в этой сфере огромная путаница с терминами! Сегодня многообразие объёмных и аэрозольных дисплеев, различного рода проекций обычно называют голограммами для того чтобы обыватели быстро вникали о чём пойдёт речь. Поэтому когда в новостях говорят про то, как голограмма известного человека появилась на сцене, то обычно, речь идёт о самой банальной проекции.
Бывают более продвинутые проекции, это уже аэрозольные экраны.
Речь в статье пойдёт об объёмных дисплеях, которые могут показывать объёмную картинку со всех ракурсов. Объёмные дисплеи условно делят на 2 типа:
Static volume — в этих устройствах нет макроскопических подвижных деталей (экранов или зеркал) Классическим примером являются светодиодные кубы, когда в каждой точке пространства вокселем является светодиод. В настоящий момент такие кубы распространяются как игрушки.
Swept volume – тип дисплеев с подвижным экраном, который работает за счёт персистенции. Такой тип я и пытался собрать.
Принцип работы
Персистенция, она же инерция зрения — это способность глаза, соединять быстро сменяющиеся изображения в одно — неподвижное. Представьте себе 2 картинки. Если они будут быстро сменять друг друга, то они сольются в одну. Наглядный пример это тауматроп:
Подвижные экраны подобных объёмных дисплеев могут быть прямоугольными, дискообразными или с винтовым поперечным сечением. Главное, экран должен двигаться так быстро, что куча статичных картинок сливаются в одну объёмную.
Создание
Самый доступный для меня вид подвижного экрана – вращающийся. Для этого разобрался старый вентилятор.
Поначалу экран был тяжёлый и большой. Но затем делал всё меньше и меньше, ибо двигатель вентилятора был очень слабым. А одно из главных условий – быстрая скорость, поэтому, не рекомендую двигатель от вентилятора. В итоге экран сделал из прочной согнутой шпильки, на которую натянул полупрозрачный материал из старой занавески. Такой материал хорошо просвечивается и продувается, не создавая лишнее давление при вращении.
Когда я начал проецировать тестовые картинки, то я увидел радугу.
Дело в том, что уcтройство DLP проектора с одной матрицей основано на использовании вращающегося диска, выполняющего роль светофильтра. Он размещен между лампой и матрицей и поделен на три равных сектора: красного, синего и зеленого цветов. Проходя через окрашенный сектор, свет попадает на матрицу, отражается от микрозеркал, проходит через объектив и формирует на экране изображение соответствующего цвета. Затем свет проходит через следующий сектор фильтра и т. д. Изображение на экране воспринимается цветным за счет эффекта инерции зрения (персистенция). Если цвет изображения обновляется менее чем за 30 мс, человеческий глаз воспринимает его как равномерно окрашенное. Теперь мне стало понятнее почему рабочие образцы дисплеев так бедны на цвета.
Далее отказался от двух цветов RGB, начал проецировать и тут мои полномочия всё.
Одно из условий – на каждый момент вращения, должна быть своя картинка. Но проецирование сбоку на вращающийся экран не даст стабильную картинку, потому что видеомаппинг на быстродвижущиеся объекты это очень сложно.
Тогда я добавил зеркало, которое тоже вращалось бы с экраном, но уже с меньшей скоростью. По задумке, мне нужно было проецировать статичную развертку, которое бы маленькое зеркало во время движения собирало бы в целую картинку. На деле же, подвижность зеркала растягивала картинку, делая проекцию искаженной.
Затем я попробовал сделать развёртку мерцающей, но из-за несовпадения частоты вращения и мерцанием, картинка всегда проецировалась в разных местах:
Тогда я взял лист бумаги, поднёс его к вращающемуся экрану и записал количество ударов по нему во время вращения. Каждый щелчок это пик на аудиозаписи. Каждый щелчок, это один оборот. Затащил в программу для видеомонтажа и сделал мерцание сответственно оборотам. На деле же, сделать штык в штык не получилось. В итоге никакой разницы. Далее я пошёл на крайний шаг. Залепил зеркало бумагой, оставив тонкую полоску.
В теории, такая проекция должна была создать цилиндр. На деле из-за слишком яркой развертки для зеркала, светом заливалось так много площади, что разглядеть что либо давалось с трудом. Второе, из низкой частоты мерцания проектора, вместо цилиндра были маленькие полоски.
Одной из главных ошибок было проецировать всю развёртку. На деле надо было половину окружности, ибо из-за прозрачности экрана изображение повторялось. Но в итоге получить нормальную стабильную картинку не получилось. Весь эксперимент в дальнейшем хочу записать в виде видео. Поэтому если я где-то что упустил и есть ещё идеи как проецировать на экран, то буду рад любым ответам в комментариях…
Источник