Оглавление:
- Шаг 1. Заявление об отказе от ответственности
- Шаг 2: Детали и инструменты
- Шаг 3: Пайка электронных компонентов
- Шаг 4: Подключение кабеля VGA
- Шаг 5: Программирование микроконтроллера ATmega
- Шаг 6: Использование AODMoST
- Шаг 7: Обзор дизайна
Видео: Альтернативно окклюзионный дихоптический модификатор стереоскопической передачи [ATmega328P + HEF4053B VGA Superimposer]: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
После моих экспериментов с жидкокристаллическими очками, которые использовались для закрывания глаз (здесь и там), я решил создать что-то более сложное, а также не заставляющее пользователя носить печатную плату на лбу (люди иногда могут вести себя враждебно, когда видят других с электроникой, торчащей из их тел, киборгам в наши дни просто нелегко). Устройство, которое я разработал, изменяет отправку сигнала VGA на 3D-дисплей (видео должно быть в формате сверху - снизу или бок о бок), улучшая видеосигнал с помощью дихоптической стимуляции. Огромная библиотека фильмов и игр, которые можно смотреть и играть в совместимых 3D-форматах, должна сделать любого пользователя AODMoST счастливым и заинтересованным. Есть исследования, показывающие, что формы лечения, возможные с помощью AODMoST, полезны для людей с амблиопией.
Шаг 1. Заявление об отказе от ответственности
Использование такого устройства может вызвать эпилептические припадки или другие неблагоприятные эффекты у небольшой части пользователей устройства. Строительство такого устройства требует использования умеренно опасных инструментов и может причинить вред имуществу. Вы создаете и используете описанное устройство на свой страх и риск
Шаг 2: Детали и инструменты
Детали и материалы:
- Микроконтроллер ATmega328P-PU
- Аналоговый переключатель HEF4053BP
- 7805 в корпусе регулятора напряжения ТО-220
- 3x 2N2222 транзистора
- Транзистор BS170
- 2x рассеянных синих светодиода диаметром 3 мм
- рассеянный красный светодиод 3 мм
- 2x желтых рассеянных светодиода диаметром 3 мм
- рассеянный зеленый светодиод 3 мм
- Кристалл 20 МГц HC49 / США
- 10-контактный штекер AVR ISP (IDC)
- 2-контактный винтовой клеммный блок для печатной платы 5,08 мм разъем
- 8x 6x6 мм тактильные кнопки переключения
- 3 подстроечных резистора 1 кОм, 6 мм
- 3x резистора 75 Ом 1/4 Вт
- 3x резистора 1 кОм 1/4 Вт
- 3x резистора 2k7 Ом 1/4 Вт
- Резистор 3к3 Ом 1/4 Вт
- 11 резисторов 10 кОм 1/4 Вт
- 2x керамических конденсатора по 20 пФ
- 3 керамических конденсатора по 100 нФ
- 2 электролитических конденсатора по 100 мкФ
- перфорированная панель (70 мм x 90 мм, минимум 24 x 31 отверстие)
- несколько кусков проволоки
- изолента
- бумага
- Вилка VGA - вилка VGA
- Источник питания 12 В - 15 В постоянного тока
Инструменты:
- диагональный резак
- плоскогубцы
- отвертка с плоским лезвием
- маленькая крестовая отвертка
- универсальный нож
- мультиметр
- паяльная станция
- припаять
- Программатор AVR (автономный программатор, такой как USBasp или вы можете использовать ArduinoISP)
Шаг 3: Пайка электронных компонентов
Если вы хотите запрограммировать ATmega перед пайкой, сделайте это (вы можете оставить CON1 вне платы). Припаяйте все электронные компоненты к сборным платам. Используйте медные провода (лучше всего подходят провода диаметром 0,5 мм от кабеля UTP) для электрических соединений между компонентами. Убедитесь, что провода не вызывают короткого замыкания. Если есть риск короткого замыкания (так как это является причиной одного из выводов R21, провод на передней панели между SW8 и C7 и провод, расположенный на передней стороне рядом с Y1), закройте провод изолентой или нагрейте -усадочная трубка.
Если хотите, вы можете использовать каждую печатную плату вместо сборных плат. Я описал процессы изготовления печатной платы методом переноса тонера в своем предыдущем проекте. Плата в файлах.svg должна иметь размер 64,77 мм x 83,82 мм. Прикрепленные файлы, содержащие схемы дорожек, должны быть большим подспорьем, даже если вы выполняете соединения на сборной плате с помощью медных проводов.
Шаг 4: Подключение кабеля VGA
Разрежьте кабель VGA пополам и снимите изоляцию со всех проводов. Пометьте одну часть отрезанного кабеля как IN, а другую как OUT. Припаяйте провода к соответствующим контактным площадкам на печатной плате. Чтобы определить, какой провод подключен к какому выводу в разъеме, используйте тестер целостности в мультиметре, а затем обратитесь к выводам VGA, чтобы определить назначение каждого провода. Вам нужно только подключить провода, которые передают красный, зеленый и синий видео и горизонтальные и вертикальные синхроимпульсы. Если в вашем кабеле есть другие провода, просто спаяйте их вместе или, еще лучше, припаяйте их обратно через сборную плату, как я сделал с белым проводом, который соединяет контакты 11 в разъемах VGA (соединение теперь находится между R7 и R8). Видеокарта обнаруживает, что дисплей VGA подключен, измеряя сопротивление в диапазоне приблизительно от 50 до 150 Ом между выводами видеосигнала R, G и B и землей (согласующие резисторы на 75 Ом на дисплее, AODMoST добавляет к этому сопротивлению), поэтому I2C контакты на самом деле не нужны, и кабель VGA может работать без их подключения (как и в кабеле, который я использовал, конечно, отсутствие I2C означает, что монитор не сможет отправлять информацию о поддерживаемых разрешениях, а это может быть проблематично). Если есть риск обрыва цепи, используйте изоленту или термоусадочную трубку. Соедините экранирование двух частей провода друг с другом и используйте изоленту, чтобы скрепить обе части кабеля VGA вместе и надежно прикрепить кабель к печатной плате. Положите несколько слоев бумаги на обратную сторону печатной платы, прикрепите ее изолентой.
Шаг 5: Программирование микроконтроллера ATmega
Подключите программатор AVR к CON1 с помощью соответствующего ленточного кабеля или перемычек «мама-мама». Я использовал USBasp и AVRDUDE, поэтому для загрузки файла.hex мне потребовалось выполнить следующую команду:
avrdude -c usbasp -p m328p -B 8 -U flash: w: aodmost.hex
Мне также нужно было изменить биты предохранителей на E: FF, H: D9, L: F7, чтобы микроконтроллер использовал кристалл 20 МГц. Я сохранил значения расширенного и старшего байтов предохранителя по умолчанию и изменил значение младшего байта предохранителя с L: 62 на L: F7 с помощью следующей команды:
avrdude -c usbasp -p m328p -B 8 -U lfuse: w: 0xF7: m
Если вы получаете сообщение об ошибке во время загрузки файла.hex, вам может потребоваться изменить значение -B (битовые часы) с 8 на что-то большее, например 16.
Шаг 6: Использование AODMoST
Подключите блок питания 12 В - 15 В постоянного тока к винтовым клеммам (- ближе к верхнему краю платы). Подключите разъем VGA от входной половины кабеля VGA к видеокарте, разъем от выходной половины к 3D-дисплею. Устройство имеет 4 режима, 3 из которых рисуют на видео пары прямоугольников. Есть 6 страниц стеттинга. Те с номерами 0 и 3 содержат настройки частоты / периода, скорости окклюзии, включения / выключения прямоугольника и т. Д. Страницы 1 и 4 содержат настройки положения, а страницы 2 и 5 содержат настройки размера. Нажимая кнопки MODE + PAGE, вы восстанавливаете настройки по умолчанию во всех режимах. Вы можете узнать больше о настройке AODMoST в user_manual.pdf
Одним из возможных источников 3D-контента в форматах Top-Bottom или Side By Side являются компьютерные игры. Если вы используете видеокарту GeForce, во многие игры из этого списка можно играть с CustomShader3DVision2SBS в 3DMigoto. Вы можете узнать, как включить его и как решить проблему оттенка, накладываемого на экран с помощью 3D Vision. Откройте для себя анаглифный 3D-режим здесь (примечание: я обнаружил, что вам нужно установить «LeftAnaglyphFilter» на «& HFF00FF00» и «RightAnaglyphFilter» на « "& HFFFF0000" "[другие комбинации цветов также должны работать, просто уберите один компонентный цвет], чтобы отключить оттенок в режиме Discover anaglyph). Пользователи Radeon и GeForce должны иметь возможность использовать программное обеспечение TriDef 3D. Есть игры, такие как GZ3Doom (ViveDoom), которые изначально поддерживают 3D, и в них можно играть без какого-либо специального программного обеспечения.
РЕДАКТИРОВАТЬ: У меня возникли проблемы с отключением оттенка 3D Vision Discover в более новой версии драйверов NVIDIA. Это привело меня к открытию SuperDepth3D, шейдера постобработки ReShade. Это программное обеспечение совместимо как минимум с 20+ играми и работает с графическими процессорами различных производителей.
РЕДАКТИРОВАТЬ 2: Я нашел решение проблемы с невозможностью отключить оттенок 3D Vision Discover в новых драйверах NVIDIA. Как всегда, вам нужно изменить «StereoAnaglyphType» на «0» в «HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \», а затем заблокировать раздел реестра. Чтобы открыть редактор реестра, нажмите WIN + R, затем введите regedit и нажмите клавишу ВВОД. Для блокировки ключа вам потребуется щелкнуть его правой кнопкой мыши, выбрать «Разрешения», «Дополнительно», «Отключить наследование», подтвердить отключение наследования, вернуться в окно «Разрешения» и, наконец, установить флажки «Запретить» для всех пользователей и групп, которые могут быть отмечены, и подтвердить это с помощью нажмите кнопку ОК. Обратите внимание, что может потребоваться также изменить значения «LeftAnaglyphFilter» и «RightAnaglyphFilter». Если вы хотите внести какие-либо изменения, вам необходимо разблокировать раздел реестра, сняв отметку с этих полей или включив наследование.
Если у вас возникли проблемы с включением 3D Vision в первую очередь из-за того, что мастер установки на панели управления NVIDIA дает сбой, вам необходимо изменить «StereoVisionConfirmed» на «1» в «HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D / ». Это включит 3D Vision в режиме Discover (что позволит вам использовать моды / исправления на основе 3DMigoto, которые позволяют выводить SBS / TB 3D на любой дисплей после раскомментирования «run = CustomShader3DVision2SBS» в конфигурации мода / исправления «d3dx.ini». файл).
Обратите внимание, что в 32-битной Windows ключ расположен «HKLM / SOFTWARE / NVIDIA Corporation / Global / Stereo3D \». Также HKLM можно заменить на HKEY_LOCAL_MACHINE.
РЕДАКТИРОВАТЬ 3: NVIDIA собирается удалить поддержку 3D Vision в апреле 2019 года (они говорят о версии 418 как о новейшем возможном драйвере, который ее поддерживает, но 3D Vision по-прежнему поддерживается по крайней мере в 425.31).
Шаг 7: Обзор дизайна
Сигнал VGA имеет 3 компонентных цвета: красный, зеленый и синий. Каждый из них передается по отдельному проводу, при этом интенсивность цвета компонента кодируется в соответствии с уровнем напряжения, который может варьироваться от 0 В до 0,7 В. AODMoST рисует прямоугольники (оверлей) путем замены цветового сигнала, генерируемого видеокартой, на уровень напряжения, обеспечиваемый транзисторами Q1-Q3 в конфигурации эмиттерного повторителя, которые преобразуют импеданс напряжения на резисторе 2k7 - делитель напряжения подстроечного резистора 1k. Коммутация сигналов осуществляется аналоговым мультиплексором / демультиплексором HEF4053B, питающимся от источника постоянного тока 12В - 15В. Сопротивление HEF4053B связано с его напряжением питания (более высокое напряжение - меньшее сопротивление). Если будет использоваться более низкое напряжение питания, видеокарта не сможет обнаружить дисплей.
Остальная часть AODMoST питается от 5 В постоянного тока, обеспечиваемого стабилизатором напряжения 7805. Уровень сигнала микроконтроллера, управляющего переключением HEF4053B, преобразуется быстрым MOSFET BS170.
Импульсы горизонтальной и вертикальной синхронизации различаются по уровню напряжения от 0 В до 5 В, и провода, по которым они передаются, напрямую подключены к контактам прерывания ATmegas, сконфигурированным как входы с высоким импедансом.
По какой-то причине микроконтроллеры ATmega328P-PU, которые у меня были (на них сверху разные номера), у всех есть проблемы с внутренними подтягивающими резисторами, поэтому я использовал внешние подтягивающие 10 кОм. Единственная логическая причина такого поведения, которую я обнаружил, заключается в том, что фундаментальные законы природы меняются с расширением Вселенной, что приводит к сбоям в работе интегральных схем (вероятно, это была шутка).
Устройство потребляет примерно 50 мА.