Так уж сложилось, что я достаточно продолжительное время «неровно дышу» к теме лазерной проекции. Началось это достаточно давно, ещё во время студенчества, когда мы с моим соседом вдвоём собрали лазерную цветомузыку, которую применяли для ведения дискотек в небольшом кафе, а также, в дальнейшем, для своих студенческих вечеринок. В те времена (2000-2001 годы), возможности были достаточно ограничены, мы не умели программировать и работать с микроконтроллерами, вследствие чего поделки были достаточно простыми. В данный момент всё существенно изменилось и, используя доступность материальной базы, — можно собирать достаточно интересные и полезные вещи, например, лазерный проектор. Как это сделать — мы и поговорим в статье.

Лазерные проекционные системы достаточно широко используются в разных сферах. Например, они могут использоваться:

  • в качестве лазерных сканеров, для оцифровки трёхмерных объектов и создания 3D моделей;
  • для целей шоу, когда разноцветные лазерные проекции раскрашивают архитектурные объекты или танцующую толпу людей на дискотеке;
  • в качестве сканера штрихкодов в магазинах;
  • для экспонирования, при осуществлении лазерной печати и множестве иных применений.

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

Для развёртки луча при создании изображения в лазерном проекторе применяются разные методы, среди которых наиболее часто используются МЭМС-устройства, которые представляют собой микрозеркало, колеблющееся с очень высокой частотой, что позволяет лучу пробегать строка за строкой по экрану.

Ещё одним способом осуществления развёртки является использование высокоскоростных электроприводов, которое перемещают с высокой частотой зеркала горизонтальной и вертикальной развёртки. Такие приводы в английской терминологии можно найти по ключевым словам «laser galvo».

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

Устройства подобного рода приводов являются достаточно дорогими, большими в размерах и потребляющими много энергии.

Также в целях развёртки луча можно использовать микрозеральные DMD-чипы от DLP- проекторов (если лазерный луч используется в качестве своеобразного «фонарика», и развёрнут в размер микрозеркального чипа).

Как можно увидеть по приведённому описанию, количество способов развёртки лазерного луча достаточно велико.

Однако, если какой-либо самодельщик захочет собрать подобное устройство самостоятельно и за скромную цену, он столкнётся с массой проблем — что и произошло со мной, когда я попытался собрать свой лазерный проектор, с применением mems-зеркала. Мне удалось найти достаточно недорогое устройство на известном китайском сайте, однако попытка приобрести натолкнулась на отсутствие документации по устройству. Китайский продавец ни под каким соусом не захотел предоставлять подробную информацию, а без неё подобное сложное устройство является просто «кирпичом», оживить который, конечно, можно, но будет весьма затруднительно и займёт массу времени. К тому же результат, скорее всего, будет весьма плачевным, как показывает опыт некоторых самодельщиков:

Копая эту тему глубже, я нашёл весьма любопытный способ развёртки луча, который был предложен одним из энтузиастов. Он предложил создать устройство, которое позволяет проецировать большие бегущие строки, прямо на облаках!

Для этого он искусственно снизил его возможности: так как для проецирования надписей совершенно необязательно иметь высокое разрешение, он предложил следующий подход: собирается цилиндрический барабан, снабжённый зеркалами, расположенными по периметру.

Каждое зеркало отклонено на небольшой угол. При вращении барабана, если мы наведём на него лазерный луч, — он будет прочерчивать на экране несколько горизонтальных линий. Теперь, если мы будем включать и выключать луч по определённому алгоритму, — то мы сможем легко формировать бегущие строки!

К сожалению, автор не довёл свою работу до конца, по причинам мне неизвестным. Вероятно, у него просто не было 3D принтера, так как его применение работу существенно облегчило бы и она была бы выполнена с минимальными отклонениями от изначальной задумки (ручное изготовление такого барабана довольно трудоёмко).

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

Но такой способ показался мне слишком экстенсивным и недостаточно технологичным. Поэтому мне пришла в голову следующая идея: а что если взять за основу принцип отклонения 2 микрозеркал, положенный в основу устройств на основе galvo-приводов, но существенно упростить и удешевить его — для этого зеркала должны вращаться непрерывно!

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

Как всегда, когда приходит какая-либо хорошая идея, — «интернет бывает девственно пуст» :-) В сети удалось найти только одно подобное устройство, которое было создано, видимо, группой студентов, в студенческой лаборатории. Никаких дополнительных комментариев и объяснений устройства нет, можно только заглянуть его в действии:

Как можно заметить в этом видео, они использовали тот самый принцип, который показался мне весьма интересным: два вращающихся зеркала разворачивают луч по вертикали и по горизонтали.

Именно такой принцип, я и положил в основу концепции, которая будет рассмотрена ниже. В данный момент эту концепцию стоит рассматривать именно как некую заготовку, в которой большинство работ проведено, и вы можете её взять практически в готовом варианте и с минимальными усилиями завершить, создав свой собственный лазерный проектор.

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

Итак, приступим! Для начала давайте сформулируем задачу. Нам необходимы проецировать надписи, которые:

  • должны быть достаточно высокого разрешения (раз уж мы не ограничены разрешением по вертикали, как в случае с вращающимся зеркальным барабаном, хотелось бы получить максимально чистые и аккуратные надписи);
  • использовать понятный и хорошо читаемый шрифт;
  • пробегать по «экрану» (любой плоской поверхности, на которую мы проецируем эти надписи) с регулируемой скоростью.

После осознания поставленной задачи становится понятно, что, так как у нас зеркала вращающиеся, то если мы просто наведём на них лазер, то каждое зеркало будет его разворачивать в пределах 180°. Это слишком много, и необходимо ограничить подобный угол.



Я примерно логически для себя прикинул, что если мы возьмём за данность, что будем проецировать надпись длиной в 5 метров с расстояния в 10 метров, то необходимый угол развёртки луча составит 28 с небольшим градусов (для ровного счёта возьмём его за 28).



Угол вертикальной развёртки можно для ровного счёта взять также примерно в районе 28°, Хотя в реальности он будет ещё меньше, так как мы будем проецировать всего лишь строки. С этой величиной следует поэкспериментировать, выставляя её по образу и подобию того, как выставляется горизонтальная развёртка.

Общий принцип, положенный в основу обоих развёрток, выглядит приблизительно следующим образом: есть два электродвигателя, на ось каждого из которых насажено микрозеркало, которое может вращаться вместе с осью. «Рама» для крепежа зеркала — распечатана на 3D принтере. В нижней части этой рамы расположены два диска.

Нижний диск имеет прорезь и вся рама изготовлена из чёрного ABS пластика (т.к. он не отражает инфракрасный луч — это проверено, протестил).

Сверху над этим диском находится ещё один такой же диск, только белого цвета, изготовленный из белого ABS-пластика.

Рядом с осью двигателя, параллельно ей, расположен инфракрасный датчик. Рама вместе с дисками, при вращении — постоянно проходит над этим датчиком. Так как сама рама изготовлена из чёрного ABS-пластика, датчик срабатывает только в тот момент, когда над ним проходит прорезь, через которую видно белый кусочек другого диска, от которого отражается инфракрасный луч.



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

Эффект бегущей строки достигается за счёт того, что мы начинаем воспроизведение с крайнего правого положения, отрезка времени, который равен 28°, после чего постепенно уменьшаем это время и, таким образом, надпись проползает видимый сектор справа налево.



Говоря о способе воспроизведения изображения, то есть, в нашем случае надписи, можно сказать, что надпись состоит из коротких отрезков, в течение которых лазер включён и других отрезков, в течение которых лазер выключен. Как спроектировать такие отрезки? Мне показалось достаточно интересной идея следующего плана:

  • взял и нанёс каждую букву алфавита, в натуральный размер на тот будущий экран для проекции (который я взял за основу в самом начале, имеющий длину в 5 м). Для этого я использовал программу coreldraw;
  • после чего, каждую букву я экспортировал в виде картинки. Далее, используя веб-сервис по переводу картинок в ASCII-код, с использованием только символов 0 и 1 — я получил практически готовую матрицу, которую, если загрузить тем или иным способом в микроконтроллер и воспроизводить, — то можно получить отображение этой буквы (кликабельно):



Новогодний энтузиазм у меня бил за край (проектировал в новогодние), поэтому я сделал ряд подобных матриц (на несколько символов) и начал загружать их в Arduino IDE в виде массивов цифр. После того как на 10 массиве у меня память микроконтроллера была почти исчерпана — я понял: «что-то, брат, ты делаешь совсем не то!» :-)))). Кроме того, я использовал массивы строк — что при внушительном их размере, ужасает уже само по себе… И начал думать, как бы мне оптимизировать это всё…



В ходе размышлений мне пришла следующая идея: так как каждая матрица буквы состоит из нулей и единиц, и, по сути, нам нужно просто отметить промежутки, в течение которых лазер должен быть включён и выключен, — нам достаточно всего лишь создать компактную матрицу, которая содержит в себе количество нулей и единиц на определённом промежутке. То есть, другими словами, для создания компактной матрицы нам не нужно загружать 100 единиц в микроконтроллер — достаточно всего лишь написать цифру 100 и далее её умножить (уже при выполнении) на время горения одного «пикселя». Аналогично и с пробельными местами, которые отмечены нулями. Кроме того, необходимо тем или иным способом пометить места, где оканчивается строка (я в качестве такого маркера конца строки взял число 50 000. Почему? А просто потому, что: пускай будет:-))) )

Подобная идея показалась мне достаточно перспективной, и я активно взялся за работу: так как обработка каждой буквы алфавита вручную — это невозможно, — я решил написать скрипт, который произведёт эту работу за меня.

Таким образом, весь процесс перевода букв большого размера в матрицу из нулей и единиц оптимизированного типа, выглядит как выполнение ряда следующих пунктов (пишу подробно, если вы захотите использовать свой шрифт для проецирования):

  1. Сделать букву в натуральный размер в Corel Draw;
  2. Перевести её в картинку jpeg;
  3. Загрузить её в сервис по переводу картинок в ASCII-вид;
  4. Скопировать получившуюся матрицу из 0 и 1 и вставить в Microsoft Word;
  5. Сохранить эту матрицу в формате .txt;
  6. Запустить скрипт на Java, которому указать: 1) папку, из которой брать сырые матрицы для обработки; 2) папку, в которую складывать готовые матрицы оптимизированного типа;
  7. Вставить готовые матрицы в Arduino IDE.



Теперь несколько примечаний по поводу работы скрипта:
Он написан таким образом, чтобы полностью подготовить готовые массивы по каждой букве. То есть фактически вам их практически не нужно править и можно загружать целиком в Arduino IDE.

Описанным выше пошаговым способом можно готовить буквы для шрифтов разного типа, например, я подготовил для шрифта Arial Regular Bold.

Описанный скрипт Java для подготовки массивов я выложил здесь, на свой github.

И если сами изначальные матрицы (после перевода буквы — в картинку — в ASCII-код) весили всё равно немало:



То, после обработки скриптом-вес всего алфавита уменьшился кардинально и без проблем поместился в микроконтроллер:



Говоря о самой реализации физического устройства, то я посчитал интересным изготовить его на базе микроконтроллера esp32, поэтому весь скетч в Arduino IDE написан именно под него.
Для удобства скетч разделён на 8 вкладок.



Он снабжён практически всем необходимым для успешной реализации проекта с минимальными усилиями (однако повторюсь, что его следует воспринимать именно как некую заготовку, «раму», которая потребует соответствующих доделок, как и, возможно, отладки. Однако, все основные работы проведены и вам будет легко реализовать свой проект, взяв за основу мой).

Для того чтобы ваша бегущая строка появилась, — необходимо передать соответствующую строку с фразой или словом в функцию Laser_printer().



Эта функция, в свою очередь, вызывает следующую функцию — Characters_handler(), в которую передаются массивы, скажем так «низкого уровня», которые содержат подборки цифр, состоящих из промежутков включения-выключения лазера для воспроизведения той или иной буквы.

Кроме того, скетч снабжён алгоритмом PID-контроллера, который отвечает за то, чтобы один двигатель из двух использующихся (вертикальной развёртки) — запаздывал на определённую величину.



Величина этого опоздания поддерживается с помощью алгоритма PID-контроллера. Физический смысл этого заключается в том, чтобы дать время одному из двигателей прочертить горизонтальную линию, прежде чем двигатель вертикальной развёртки эту линию сместит на один шаг выше.

Скетч прошивки можно скачать вот по этой ссылке.

Интересная информация: не так давно группа молодых стартаперов создала самый компактный в мире лазерный проектор, который можно использовать для разнообразных целей. Он привлёк большое внимание общественности, и даже популярная певица Мадонна использовала его для одного из своих шоу.

Завершая рассказ, отмечу следующее: использование вращающихся зеркал таит в себе очень много интересных плюсов. Из которых наиболее существенными, на мой взгляд, являются дешевизна создания подобного устройства и активное охлаждение об воздух во время вращения, что позволяет использовать мощные лазеры для проецирования.

Разработок подобного рода в сети я не видел, равно как и выложенного в открытый доступ исходного кода. Так как подобный проект допускает использование самых недорогих эл.двигателей, инфракрасных датчиков и (не самой дешёвой, но всё же) esp32 — его стоимость может вполне уложиться в заявленные 500 рублей (по себестоимости компонентов) ;-)

Кто знает, может быть ваше устройство, построенное на базе моего проекта, — тоже станет достаточно известным? ;-)

Комментарии (46)


  1. ihouser
    17.01.2022 16:48
    +15

    В лазерных принтерах вращается зеркальная призма. Это как раз то, что вы ненашли в интернетах. Купите на барахолке сразу два таких. Там движки очень стабильны.


    1. iliasam
      17.01.2022 17:43
      +1

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


      1. PEACE_dez
        17.01.2022 22:48
        +5

        там стоит оч точно выполненная 4-6 гранная призма высокого качества.
        Зеркала на барабан — как ни клей — нужной точности никогда не добиться.
        Октлонение на доли градуса по плоскостям — и все будет плыть.
        Кр того нет нужды использовать ЭЛЕКТРОНИКУ ( от модуля лазерного принтера).
        Все, что нужно/достаточно вытащить — это качественный мотор с закрепленной на оси призмой.


  1. iliasam
    17.01.2022 17:37
    +15

    Читал-читал статью и не понял: работающее устройство удалось собрать?

    Можете ли опубликовать ссылку на "достаточно недорогое" MEMS-зеркало? Мне только довольно дорогие попадались.

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

    Сам я делал такой лазерный проектор: https://habr.com/ru/post/407591/


    1. DAN_SEA Автор
      17.01.2022 18:18
      -3

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

      Плюс моей разработки еще в том - что это по сути уже видеопроектор. Его можно применять не только для бегущих строк ;-)

      А mems-зеркало недорогое на али я нашел только вот такое. Только предупреждаю: китаец-бука, доков не дает (уже просил) :-) . Хотя шлет людям исправно (не реклама-размещаю, раз попросили).


      1. iliasam
        17.01.2022 18:35
        +1

        Зеркало с Ali очень похоже на деталь отсюда: https://www.techinsights.com/ja/node/30094


        1. enclis
          18.01.2022 10:47

          Так и есть в целом. Жалко, что ST до сих пор держит это направление относительно закрытым для широких масс.


      1. enclis
        18.01.2022 10:26

        на али я нашел только вот такое

        самое полезное за всю статью, правда без документации это всё просто пшик


      1. MW_dem1305
        18.01.2022 11:57
        +3

        "Осталось на чуток..."- абсолютная глупость. Собрал прототип 4 года назад, контроллер cortex m3, есть векторный 3D движок. Сканеры брал на али ,25ктс ,даже ось под это дело написал.Так вот,расчет временных интервалов,синхронизация с потоком,чтение с карты и подготовка буфера - весьма нетривиальная задача


  1. rafuck
    17.01.2022 18:17

    Кроме того, необходимо тем или иным способом пометить места, где оканчивается строка (я в качестве такого маркера конца строки взял число 50 000.

    Проще в начало каждой строки поместить число, означающее ее длину. Кроме того, у вас же фиксированная длина строки после распаковки? Если так, то никакие маркеры вообще не нужны.


    1. DAN_SEA Автор
      17.01.2022 18:22

      Кроме того, у вас же фиксированная длина строки после распаковки? 

      Как оказалось - все буквы стандартного шрифта Arial Regular Bold- имеют разный размер по высоте и ширине! О_о Подгонять не стал - взял как есть. Поэтому все строки разные - таков стандартный шрифт.


      1. Fodin
        17.01.2022 21:36
        +4

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


        1. NickyX3
          18.01.2022 10:07
          +5

          хинты - расстояния между двумя конкретными буквами

          Только это назвается КЕРНИНГ и соответственно кернинговые пары. Хинтинг это сглаживание краев при рендеринге векторного шрифта.


          1. Fodin
            20.01.2022 01:57

            Да. Очень уверенно заблуждался по этому поводу. Еще ведь пишу и думаю, какого черта два названия для одного и того же, хинтинг и кернинг.


            1. NickyX3
              20.01.2022 13:23

              Просто я 10 лет Pre-Press ниндзей работал


      1. Cat_In_Black
        18.01.2022 17:22

        Есть же моношириггые шрифты. В том числе и в стандарной поставке.

        А вообще связка "Corel -> большая картинка -> Сервис по переводу с ACSII" сама по себе избыточна, кмк.
        Можно это картинку делать в растровом редакторе сразу с нужными размерами в пикселях и сохранять однобитный tiff без сжатия. Отбросить заголовок и (возможно) конец файла - получите уже готовый текст с ноликами и единичками.


      1. Gryphon88
        18.01.2022 17:31

        По моему опыту с графопостроителями, чаще всего команды отправляют через G-code, чтобы не извращаться с переводом шрифтов в глифы, а глифов в прямые: с помощью плагина к Inkscape переводят изображение в G-код, потом отправляют каким-нибудь G-code sender'ом, а на стороне МК парсят. Из всех кодов используются обычно 2: движение по координатам и какой-нибудь для прижима-отрыва пера. Почему такой способ не подошёл?


    1. DAN_SEA Автор
      17.01.2022 18:37

      да, похоже на то!


  1. Veselyi_kot
    17.01.2022 18:27
    +1

    А почему бы вам... Не выйти с этим на Kickstarter? Нет, серьёзно — если это работает, то продукт, мягко говоря, перспективен: «World's first affordable laser projector», или типа того. Собрать прототип, выкатить промо-ролик...

    P.S. Скажу больше — если это работает, то можно и инвестора найти. Техностартапы не на ровном месте появляются, а из вот таких примерно идей с хабра Реддита...


    1. DAN_SEA Автор
      17.01.2022 18:38
      +6

      Всё в ваших руках :-) Разработку я выложил - берите и делайте, я не жадный :-) Тем более, я сейчас другой проект прорабатываю, просто рук не хватает вести еще этот...


  1. ToSHiC
    17.01.2022 19:02

    Вы уже прикидывали, какая будет частота развёртки? Мерцать же будет сильно.

    Второй момент - на вашей надписи "привет" заполнение хорошо если 30%. То есть вы сходу теряете 70% яркости.


    1. DAN_SEA Автор
      17.01.2022 19:06

      По поводу заполнения: много думал над этим. Но честно скажу - моих мозговых способностей как это побороть уже не хватило. Поэтому будет очень интересно услышать идеи людей - как сделать 100% заполнение букв!

      С другой стороны: это весьма простой и дешевый способ развертки. И (благодаря охлаждению об воздух) - можно применять даже весьма мощные лазеры. Так что проекция на облаках - вполне себе имеет место быть...


      1. tsurugi-no_ken
        18.01.2022 11:28
        +3

        дешевый способ развертки. И (благодаря охлаждению об воздух) - можно применять даже весьма мощные лазеры. Так что проекция на облаках - вполне себе имеет место быть...

        А новые кибергалаза, в замен повреждённых, после ваших мощных зайчиков в глаза горожане за чей счёт купят?


    1. denis64
      17.01.2022 21:22

      Именно низкая яркость на больших экранах главная проблема дешевых самоделок.


      1. DAN_SEA Автор
        17.01.2022 21:42

        Как бы вы решили эту проблему, нет ли идей?


        1. denis64
          18.01.2022 15:08

          Самое дешевое решение - увеличить количество лучей или мощность одного. Но это конечно неправильный путь. Путь обхода, но не решения. Если бы я был ученым-исследователем то думаю шел бы по пути исследования управляемого коэффициента преломления. Но это мечты.


        1. iliasam
          18.01.2022 15:19
          +1

          Если хочется "рисовать на облаках", то векторная развертка подходит лучше всего - так как лазер включен большую часть времени.


        1. azatfr
          18.01.2022 18:39

          Зеркала двигаются с определенной постоянной частотой… Я бы сделал бы какую нибудь автоколебательную систему чтобы колебания происходили на частоте резонанса системы (например зеркало закрепленное на пружине, ну и возбуждать колебания электромагнитом как в механизме электромеханических часов). А дальше просто управлял бы только лазером. При этом я бы постарался максимально уменьшить массу и размеры зеркал чтобы было меньше инерции. Частоту колебаний зеркал взял бы побольше и использовал два луча, чтобы рисовать за раз две строки.


          1. alextrof94
            19.01.2022 17:33

            На первом зеркале сработает, на втором - нет, в силу размеров. Вообще не даром представленные в статье galvo-системы не копейки стоят. Там стоит быстрая и мощная электроника, при этом всё по максимуму облегчено, чтобы хватало сил дрыгать зеркалами.

            Тоже задумывался над векторной реализацией... Для первой оси как раз призму от лазерника взял - купил 2 сломанных принтера целиком по 50р :) А вот на второй оси застопорился. Тоже думал клеить барабан, но он либо должен быть большим, либо надо очень быструю прошивку писать, ардуинками там и не пахнет.

            На самом деле тут проблема всегда во второй оси будет. И в заполнении. И в яркости. Минипроектор-куб не даром машину только обводит в полной темноте. И текст из линий строит ночью...


  1. dinisoft
    17.01.2022 23:02
    +5

    Позвольте поздравить вас с изобретением кинескопа! :)

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

    В общем затея стоящая, но пока реализованно процентов пять от рабочего прототипа.


  1. Javian
    18.01.2022 08:06

    В первой половине 20-го века для развертки изображения пытались использовать два 6-ти зеркальных барабана.


  1. RalphMirebs
    18.01.2022 10:51
    +4

    В игровой приставке/стерео-шлеме 1995-го года Nindendo Virtual Boy в экранах стояло по линейке из 224 скоростных светодиодов и быстро качающееся зеркало, обеспечивающее развертку. В итоге, в каждый глаз шла картинка на частоте 50,2 гц и разрешении 384 x 224.


  1. tsurugi-no_ken
    18.01.2022 11:27
    +1

    А что с безопасностью для глаз?

    Не уверен, что маскимально дешёвый несертифицированный noname лазер окажется безопасным.


    1. sim31r
      18.01.2022 12:35

      На Хабре были упоминания, что 200 мВт лазер зеленый выжигает сетчатку, остается только периферийное зрение. Сканирующий луч выглядит безопасно, но моторы могут отстановиться и неподвижный луч может засветить в глаз.

      Пример как сгорает матрица фотоаппарата (большой объектив собирает больше энергии чем глаз и некоторые матрицы уязвимы к синему лазеру)

      https://youtu.be/_kA7rtpM7ZI


      1. tsurugi-no_ken
        18.01.2022 13:10

        200 мВт лазер зеленый выжигает сетчатку, остается только периферийное зрение

        В планах автора:

        можно применять даже весьма мощные лазеры

        и как вишенка на торте, чтобы никто не ушёл от него обиженным:

        проекция на облаках - вполне себе имеет место быть...


    1. werwolflg
      18.01.2022 13:56

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

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


  1. tsurugi-no_ken
    18.01.2022 11:35
    +3

    К сожалению, автор не довёл свою работу до конца, по причинам мне неизвестным

    Предположу, что он доигрался и ослеп.


  1. shiru8bit
    18.01.2022 12:24
    +1

    Когда-то в доисторическом интернете я впервые узнал про существование 3D-принтеров из блога человека, который разрабатывал наручный носимый лазерный проектор на основе вращающегося зеркала и линейки лазерных диодов. Это был наверное 2004 год. К сожалению, теперь найти следы этого проекта не получается - скорее всего блог был ещё на geocities, интересно, чем кончилось дело.


    1. alextrof94
      19.01.2022 17:54

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


  1. semennikov
    18.01.2022 14:57

    Ну если проблема в шрифтах, то у Вас обычный телевизор. Посмотрите как реализован вывод на экран в РК-86 или Синклере. Барабан достаточно 6 гранный, берете 2 гайки нужного размера и клеите на них зеркала - это первый барабан. Для второго нужно несколько гаек - 10-16 и зеркала лучше стеклянные. Двигатели - только синхронные, лучше просто шаговые с максимальным делением шага, при большом моменте инерции барабана шаг вообще не будет виден. Ардуино а тем более Cortex хватит за глаза, 8086 работал без вопросов


  1. adson
    18.01.2022 15:59

    Идея классная, конечно (сам подобным маялся в студенчестве, только MEMS-зеркал тогда не было, использовали динамики с наклеенными на них тонкими зеркалами).

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


  1. aronsky
    18.01.2022 17:06
    +12

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

    Процесс ядерного синтеза сопряжён с выбросом плазмы и для её удержания я решил использовать магнитное поле. Ничего подобного я ни у кого не видел. Правда какие-то учёные выложили в сеть видео где они говорят про какой-то токамак, но там ничего не понятно.

    Для создания токамака я решил взять медную проволоку. Мог купить электромагниты с али, но это не то. Медная проволока часто используется в ваших домах и на дискотеках для передачи тока. Остальное не должно составить проблем.

    Так как это был новый год и у меня был запал, я решил замарочаться и всё собрать до конца. Так как в помощью токамака я получу огромное количество электричества, мне нужно его как-то использовать. Я написал программу на java, которая считает как использовать электричество выгоднее. На случай, если вы тоже захотите собрать токамак по моей схеме, но не хотите использовать электричество как и я, можете её сами скачать и скоспилить.

    Так же я написал программу для Ардуино. Я решил её разделить на вкладки в ide, а сам проект описать в Google drive и разместить на вкладках в Firefox.

    Кстати, интересное: недавно группа энтузиастов собрала импульсный токамак, им заинтересовался даже Юрий Лоза.

    Как видите, 99.99% моей работы готово, вам осталось всего лишь скачать мой Ардуино скетч и вы сможете собрать свой собственный токамак за 100 рублей.


    1. nafikovr
      20.01.2022 09:32

      я наверно впервые жалею, что не могу плюсануть комментарий...


  1. Samoisolator
    19.01.2022 00:03

    Лет 30 назад делали тоже лазерный проектор:
    фонарик + велосипедное колесо, на котором на пластилине крепились маленькие кусочки зеркала. Чем быстрее колесо крутилось, тем ровнее был рисунок :)


  1. Jogker
    19.01.2022 19:49

    Лет 35 назад делал лазерный принтер:

    твердотельный лазер на стекле с неодимом от танкового дальномера и зеркало на биморфной пластинке в качестве развёртки. Светогидравлический эффект "откалывал" микрокапельки туши из кюветы. Работало... так себе.

    Зато обнаружил генерацию второй гармоники на диффузной поверхности стекла без всяких нелинейных кристаллов).


  1. Kotofay
    19.01.2022 22:02

    А кто то давно взял и сделал: https://habr.com/ru/post/407591/