Оглавление:

Создайте свой собственный дисплей POV: 3 шага
Создайте свой собственный дисплей POV: 3 шага

Видео: Создайте свой собственный дисплей POV: 3 шага

Видео: Создайте свой собственный дисплей POV: 3 шага
Видео: Как создать свою 3D-графику? Рейкастинг 2024, Ноябрь
Anonim
Сделайте свой собственный дисплей POV
Сделайте свой собственный дисплей POV

Восприятие зрения (POV) или постоянство зрения (у него есть несколько вариаций) - интересный феномен человеческого зрения, который возникает, когда визуальное восприятие объекта не прекращается, несмотря на изменение положения объекта. Люди видят изображение с интервалом в доли секунды; эти изображения сохраняются в мозгу на очень короткое время (мгновение). Примером этого явления является наблюдение за включенным и вращающимся источником освещения, например, светодиодами или лампочками. Наше видение обманом заставлено поверить, что вращающийся свет на самом деле представляет собой непрерывный круг, очень похожий на непрерывный круг, образованный вращающимся пропеллером на плоскости. POV использовался в течение многих лет, начиная с гипоскопа, для создания различных иллюзий и анимаций нашего зрения; он часто используется для отображения сообщений и анимации на дисплеях с помощью светодиодов, вращая их в 2D или 3D для различных типов сообщений. Цель этой заметки по приложению - спроектировать и продемонстрировать, как работает Perception of Vision, написав слово «SILEGO» на дисплее, который будет построен, и дать идеи, которые помогут вам в процессе создания более сложных дизайнов в будущем. Для этого проекта мы использовали Dialog GreenPAK ™ SLG46880 с комплектом розеток, который позволяет легко подключить этот прототип ко всем внешним компонентам с помощью кабелей. Использование более крупного GreenPAK для разработки дисплеев POV общего назначения очень выгодно из-за его надежных компонентов, таких как подсистемы ASM, которые позволяют печатать любой узор на дисплее. Это приложение покажет окончательный результат с помощью SLG46880.

Ниже мы описали шаги, необходимые для понимания того, как чип GreenPAK был запрограммирован для создания дисплея POV. Однако, если вы просто хотите получить результат программирования, загрузите программное обеспечение GreenPAK, чтобы просмотреть уже заполненный файл дизайна GreenPAK. Подключите GreenPAK Development Kit к компьютеру и нажмите программу, чтобы создать индивидуальную ИС для дисплея POV.

Шаг 1: схемы

Схемы
Схемы

Этот пример POV Display нацелен на двухмерный тип, показанный на рисунке 1, который имеет массив из одиннадцати светодиодов (каждый с резисторами для регулирования тока), подключенных непосредственно к разным контактам GPO на GreenPAK CMIC. Схема сделана прототипом и впаяна в макеты печатных плат. В качестве источника питания для дисплея используется щелочная батарея L1022 9 В, 10 А, подключенная к схеме регулятора напряжения с помощью LM7805V, которая выдает 5 В. Помимо вращения дисплея необходим двигатель постоянного тока с достаточной мощностью, чтобы перемещать все схема управления, прикрепленная к индивидуальной подставке. В этом случае использовался двигатель 12 В, подключенный к главному выключателю, и стандартный регулируемый источник питания, который выводит различные уровни напряжения через поворотный переключатель, позволяя двигателю вращаться на нескольких скоростях.

Шаг 2: Дизайн GreenPAK

ГринПАК Дизайн
ГринПАК Дизайн
ГринПАК Дизайн
ГринПАК Дизайн
ГринПАК Дизайн
ГринПАК Дизайн
ГринПАК Дизайн
ГринПАК Дизайн

При разработке различных типов сообщений и анимаций для дисплея POV с использованием GreenPAK мы должны знать как инструменты, так и ограничения чипа. Таким образом, мы можем создать качественный дизайн, используя наименьшее количество электронных компонентов для отображения POV. Эта конструкция использует новые преимущества, предлагаемые SLG46880 CMIC, с акцентом на компонент подсистем асинхронного конечного автомата. Инструмент SLG46880 ASM Subsystem может быть более выгодным, чем предыдущие инструменты GreenPAK ASM, из-за его новых функций, которые позволяют создавать более сложные конструкции конечного автомата. Некоторые из используемых внутренних компонентов соответствующих подсистем ASM:

● Макроячейка ASM с 12 состояниями

● Макроячейка динамической памяти (DM)

● F (1) Вычислительная макроячейка

● Независимые от состояния компоненты

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

Таблица 1 показывает, как каждое из существующих состояний в проекте связано с буквами в слове «SILEGO». Это соответствует конфигурации светодиода, показанной на рисунке 2.

Как вы можете заметить, все состояния вместе, выполняемые в разное время, обеспечивают полное построение слова. На рисунке 3 показано, как состояния связаны / связаны. Все переходы между состояниями имеют порядок миллисекунд, и каждый из столбцов на диаграмме на рисунке 2 представляет одну миллисекунду (1 мс). Некоторые из состояний длятся 3 мс, 4 мс и другие, достаточно продолжительные с минимальной скоростью двигателя, используемой для демонстрации видео, примерно на 460 об / мин.

Важно учитывать и измерять скорость двигателя, чтобы знать и рассчитывать время для универсальной конструкции. Таким образом, сообщение может быть синхронизировано со скоростью двигателя, что делает его видимым человеческому глазу. Еще одно соображение, позволяющее сделать переход состояний менее незаметным и более ясным для нашего зрения, - это увеличить скорость двигателя до более чем 1000 об / мин, а синхронизацию состояний установить в микросекундах, чтобы сообщение можно было видеть плавно. Вы можете спросить себя, как бы вы синхронизировали скорость мотора со скоростью сообщения или анимации? Это достигается с помощью нескольких простых формул. Если у вас скорость двигателя 1000 об / мин, чтобы узнать, сколько времени требуется двигателю постоянного тока на один оборот в секундах, тогда:

Частота = 1000 об / мин / 60 = 16,67 Гц Период = 1 / 16,67 Гц = 59,99 мс

Зная период, вы знаете, сколько времени нужно двигателю на один оборот. Если вы хотите напечатать сообщение типа «Hello World», как только вы узнаете период каждого поворота, это просто вопрос того, насколько большим вы хотите, чтобы сообщение отображалось на дисплее. Чтобы напечатать желаемое сообщение нужного размера, следуйте этому практическому правилу:

Если, например, вы хотите, чтобы сообщение занимало 40% площади дисплея, тогда:

Размер сообщения = (Период * 40%) / 100% = (59,99 мс * 40%) / 100% = 24 мс

Это означает, что сообщение будет отображаться с интервалом 24 мс для каждого хода, поэтому пустое пространство или остальная часть пространства в повороте (если вы что-то не показываете после сообщения) должны быть:

Пробел = Период - Размер сообщения = 59,99 мс - 24 мс = 35,99 мс

Наконец, если вам нужно показать сообщение в эти 40% периода, вам необходимо знать, сколько состояний и переходов потребуется сообщению для записи ожидаемого сообщения, например, если сообщение имеет двадцать (20) переходов, тогда:

Период одиночного состояния = размер сообщения / 20 = 24 мс / 20 = 1,2 мс.

Таким образом, каждое состояние должно длиться 1,2 мс, чтобы сообщение отображалось правильно. Конечно, вы заметите, что большинство первых конструкций не идеальны, поэтому вы можете изменить некоторые параметры во время физических испытаний, чтобы улучшить конструкцию. Мы использовали макроячейки динамической памяти (DM) для облегчения переходов между состояниями. Два из четырех блоков DM имеют матричные соединения, так что они могут взаимодействовать с блоками вне подсистемы ASM. Каждая макроячейка DM может иметь до 6 различных конфигураций, которые можно использовать в разных состояниях. Блоки DM используются в этой схеме, чтобы инициировать переход ASM из одного состояния в другое. Например, состояние Silego [3] повторяется дважды за переходы; ему нужно написать начало и конец заглавной буквы «I», которая имеет тот же образец, но сначала нужно перейти к Silego [4], чтобы написать образец середины прописной «I», а затем, когда Silego [3] выполняется во второй раз, ему нужно перейти в состояние «Нет сообщения», продолжая остальные переходы. Как можно предотвратить попадание Silego [3] в бесконечный цикл с Silego [4]? Это просто, есть некоторые LUT, настроенные как SR Flip Flops, которые говорят Silego [3] не выбирать Silego [4] снова и снова, а выбирать состояние «Нет сообщения» во второй раз. Использование SR-триггеров для предотвращения бесконечных циклов при повторении любого из состояний - отличный способ решить эту проблему, и для него требуется только 3-битный LUT, настроенный, как показано на рисунках 4 и 5. Этот процесс происходит одновременно с вывод ASM заставляет Silego [3] перейти к Silego [4], поэтому в следующий раз, когда конечный автомат выполнит Silego [3], он получит уведомление о выборе состояния «Нет сообщения» для продолжения процесса.

Еще один блок ASM, который был полезен для этого проекта, - это вычислительная макроячейка F (1). F (1) может выполнять список определенных команд для чтения, хранения, обработки и вывода требуемых данных. Он может управлять 1 битом за раз. В этом проекте блок F (1) использовался для чтения, задержки и вывода битов для управления некоторыми LUT и состояниями включения (например, в Silego [1] для включения Silego [2]).

Таблица на рисунке 1 объясняет, как каждый из светодиодов адресован контактам GPO GreenPAK; соответствующие физические контакты адресуются из выходного ОЗУ ASM в матрице, как показано в таблице 2.

Как вы можете видеть в Таблице 2, каждый вывод микросхемы был адресован отдельным выходам ASM; ASMOUTPUT 1 имеет восемь (8) выходов, все из которых напрямую подключены к внешним GPO, за исключением OUT 4. ASM OUTPUT 0 имеет четыре (4) выхода, где OUT 0 и OUT 1 напрямую подключены к PIN 4 и PIN 16 соответственно; OUT 2 используется для сброса LUT5 и LUT6 в состояниях Silego [5] и Silego [9], и, наконец, OUT 3 используется для установки LUT6 в Silego [4] и Silego [7]. ASM nRESET не переключается в этой схеме, поэтому при подключении к VDD он просто принудительно устанавливается на ВЫСОКИЙ. В этот проект были добавлены верхний и нижний светодиоды для дополнительной анимации во время отображения «SILEGO». Эта анимация представляет собой несколько линий, которые со временем кружатся вместе с двигателем. Эти линии представляют собой белые светодиоды, а те, которые используются для написания букв, красные. Чтобы добиться этой анимации, мы использовали PGEN и CNT0 GreenPAK. PGEN - это генератор шаблонов, который выводит следующий бит в своем массиве на каждом фронте тактового сигнала. Мы разделили период вращения двигателя на 16 частей, и результат был установлен на период вывода CNT0. Шаблон, запрограммированный в PGEN, показан на рисунке 6.

Шаг 3: результаты

Полученные результаты
Полученные результаты

Для тестирования конструкции мы подключили разъем SLG46880 к печатной плате с помощью ленточного кабеля. К схеме были подключены две внешние платы, одна из которых содержала регулятор напряжения, а другая - светодиодную матрицу. Чтобы начать отображение сообщения для демонстрации, мы включили логическую схему, управляемую GreenPAK, а затем включили двигатель постоянного тока. Для правильной синхронизации может потребоваться отрегулировать скорость. Окончательный результат показан на рисунке 7. С этой заметкой по применению также связано видео.

Заключение Представленное в этом проекте восприятие изображения на экране было разработано с использованием Dialog GreenPAK SLG46880 в качестве основного контроллера. Мы продемонстрировали, что конструкция работает, написав слово «SILEGO» с помощью светодиодов. Некоторые улучшения, которые можно было бы внести в конструкцию, включают:

● Использование нескольких GreenPAK для увеличения количества возможных состояний для печати более длинного сообщения или анимации.

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

● Включение микроконтроллера может позволить вам изменить отображаемое сообщение с помощью команд I2C для перенастройки конструкции GreenPAK. Это может быть использовано для создания цифрового дисплея часов, который обновляет цифры для точного отображения времени.

Рекомендуемые: