Как подключить vga монитор к ардуино

Подключение ESP. Подключение VGA монитора.

Рассмотрим подключение ESP8266 к VGA монитору. Схема подключения содержит всего 1 резистор и может быть повторена даже ребёнком. На монитор можно выводить данные с сенсоров и датчиков, например температурных или движения, или из интернета. Показаны способы подключения монитора к ESP для получения разных RGB цветов и оттенков.

Сегодня я покажу как подключить плату ESP8266 к VGA монитору, а потом будет урок как подключить к монитору и Ардуино. Подключение производится напрямую, без каких-нибудь дополнительных плат. Нам понадобятся всего 3 резистора. Но можно обойтись и одним. Два других нужны только для изменения цвета фона и цвета выводимого текста или графики.

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

Я хочу сделать табло с выводом погоды и времени. И получать эти данные прямо из интернета, благо что эти примеры мы уже сделали, и надо просто скопировать код сюда. Или с внешних датчиков подключенных прямо к плате. Например, подключив датчик движения, можно будет оживлять экран, а при превышения значений, выводить значки тревоги. Подключившись к серверу новостей или курсу валют, пускать бегущую строку. Да ещё много чего можно придумать.
Посмотрели кусочек, а теперь будем разобраться как это всё сделать.
Я не буду сегодня рисовать схемы, а просто покажу картинки из самой библиотеки.
Подключив как показано на рисунке вы получите такие цвета.
Контакт D7 задействован всегда, вы можете менять разный цвет, но это основной канал вывода. Дополнительные оттенки можно сделать, подключив другие цвета к контактам D0 и D4. Результат будет выглядеть вот так.
А вот это основная схема подключения.

Теперь посмотрим как надо разделывать кабель. Цвета жил могут отличаться, поэтому надо обязательно прозванивать контакты. Основные провода отвечающие за RGB цвета более толстые и находятся в экране.
Все экраны надо соединить вместе и подключить к земле. Так же к земле надо подключить 5 и 10 контакт вилки кабеля.
У меня конечный результат получился вот такой.

Теперь рассмотрим скетч демо примера.
Я не буду рассказывать как он работает. Это сложный пример, и я загрузил его только для того что бы показать какую надо установить библиотеку.
Скачать её можно с GitHub или с моего сайта. Ссылка будет в описании.
Теперь я включу ещё раз демо пример, что бы более полно посмотреть возможности связки ESP – VGA монитор. Я здесь вывел три варианта цветов. Это основные цвета, но можно было бы вывести и оттенки.
Это видео получилось небольшое, Так как это просто знакомство с новыми возможностями подключения ESP и вывод данных на VGA монитор.
В чём мои разочарования.
Я думал что можно будет свести RGB цвета вмести и получить рисунок в качестве фотографии. Потому, что хотел сделать слайд шоу, подгружая из интернета или с SD карты.
Так же я хотел сделать вариант Умного зеркала, где будет выводиться разная информация, такая как новости, погода, список дел, напоминания, а зеркальную поверхность будет заменять камера.
Ну и пока я не разобрался как выводить на экран русский шрифт, но думаю, что это можно победить.
Я конечно ещё поищу в интернете информацию по этой теме и возможно найду ещё что-то интересное.
Это действительно может получиться очень интересный проект. Может вы что посоветуете интересного, что ещё можно вывести на экран монитора. Сделать такой dashboard, расписание, и т д.
Я видел, что кто-то таким способом запустил DOOM. Короче давайте вместе думать.

Если вам интересна эта тема, то я могу снять ещё много видео про Использование ESP и не только про это.
Объём вашего интереса, я буду оценивать по количеству лайков и комментариев. Чем их будет больше, тем быстрее выйдет новое видео.
Ну, а если вам нравятся мои уроки, то ставьте лайк и делитесь моими видео, с другими. Это очень поможет мне в продвижении канала, а меня будет стимулировать выпускать уроки чаще и интереснее.

Источник

Подключение Arduino к VGA монитору. Ардуино проекты.

Рассмотрим подключение Arduino к VGA монитору. Схема подключения очень простая и содержит всего 3 резистора. Выводить можно не только основные RGB цвета, но и оттенки. Качество картинки на уровне игрушек 90 годов.

Как и обещал, показываю как подключить Arduino к VGA монитору. Это продолжение вот этого урока, где я подключал к монитору плату ESP 8266.
С подключением не должно возникнуть никаких проблем. Оно очень простое. Чуть больше резисторов чем в прошлом примере, а точнее на два. На схеме указано что резисторы идущие от вертикальной и горизонтальной синхронизации должны быть 68 Ом, но у меня таких не было, поэтому я поставил по 100 Ом.
Значение остальных резисторов тоже выше, это потому что напряжение в Ардуино 5 вольт, против 3.3 вольт у ESP.

Это небольшой отрывок примера из библиотеки с подключенной Ардуино NANO. Можно было бы подключить и UNO без разницы.
Как можно увидеть, что разрешение экрана совсем маленькое и поэтому всё смотрится не очень хорошо. Да чего я говорю. Смотрится очень плохо. Как будто откатились лет на 20.
В конце, для сравнения, я выведу на экран демо примеры с подключенными Ардуино NANO и Ардуино MEGA.
Качество при работе с Мега не на много лучше.

Вот посмотрите таблицу.

  • ESP — 512x480px
  • UNO — 192x80px
  • MEGA — 200x240px | 200x80px

Как видите, что если на ESP ещё можно думать о каком-то качестве, то с UNO или NANO без вариантов. К тому же только библиотека и небольшой пример съедает 95 процентов памяти. С Mega получше, но использовать мегу, для этого просто бессмысленно.
Так что если и использовать подключение к VGA монитору, то только с ESP или объединять несколько плат Ардуино. Одну для подключения к монитору, а другие для работы с датчиками.

Теперь давайте посмотрим как это всё собрать.

Вот картинки из документации к библиотеке. Здесь схемы подключения к Ардуино УНО и Ардуино Мега.
Все примеры из библиотеки работают с процессорами ATMega328 MCU (или выше) и не работает с ATTINY или ATMega168.
Как я уже говорил что разрешение можно получить с подключенной УНО 192x80px, а с MEGA 200x240px
Каждый пиксель может иметь всего 2 цвета.

Вывести можно только 2 цвета чёрный и основной. Основной – это тот цвет который подключен к к контакту 1 TX. И он может быть красным, зелёным или синим.
Для дополнительный цветов надо подключить два дополнительных провода к контактам 6 и 7 в УНО или 30 и 31 в МЕГА.

Теперь скачиваем VGAXUA эту библиотеку. Скачать её можно с GitHub или с моего сайта. Ссылка будет в описании. Она работает с UNO и MEGA.

Теперь посмотрим как надо разделывать кабель. Цвета жил могут отличаться, поэтому надо обязательно прозванивать контакты. Основные провода отвечающие за RGB цвета более толстые и находятся в экране.
Все экраны надо соединить вместе и подключить к земле. Так же к земле надо подключить 5 и 10 контакт вилки кабеля.
У меня конечный результат получился вот такой.

Теперь загрузим скетч демо примера и выведем одновременно работающие Ардуино НАНО и МЕГА.
Это видео получилось небольшое, Так как это просто знакомство с новыми возможностями подключения Ардуино и вывод данных на VGA монитор.
Что я понял после тестирования подключений ESP и ARDUINO.
Ни один не другой пример в таком виде для дальнейшего использования не пригоден. Но я не потерял надежду на использование не традиционных вариантов вывода информации. На очереди вывод на телевизор. И я надеюсь, что там мне и вам конечно же, повезёт больше.
Что то я скатился на совсем коротенькие видео. Как вам такие коротыши?

Источник

Как подключить vga монитор к ардуино

VGA это сокращение от Video Graphics Array, протокола отображения видео, который часто встречается в мире электроники. В VGA используется одна «частота следования пикселей» и установленная частота вывода видео данных горизонтально, строка за строкой, пока весь кадр не будет отображен, а потом всё начинается снова.

Цель и обзор этого проекта

Целью данного проекта является использование Arduino для вывода стандартного изображения с красным, зеленым и синим цветом на компьютерный VGA монитор. Кроме платы Arduino используется плата с VGA разъемом.

Для того, чтобы вывести красный, зеленый и синий цвета на компьютерный VGA монитор, мы должны договориться о разрешении, которое мы будем пытаться имитировать. Например, 800×600 удобно, т.к. используются целые круглые числа, и частота следования пикселей составляет 40МГц. И можно имитировать VGA разрешение 800×600 и выводить 200 линий красного, 200 линий зеленого и 200 линий синего цветов. Поскольку Arduino работает на частоте 16МГц, невозможно получить доступ к каждому пикселю, поэтому мы будем выводить целиком линии.

В VGA используется смешивание красного зеленого и синего цветов для получения всех цветов радуги. Параметры на каждом из этих контактов показывают монитору, насколько интенсивно должен гореть этот цвет. Мы не регулируем интенсивность цвета, поэтому у нас всегда для каждого из цветов 100% красного, 100% зеленого или 100% синего.

Hsync и Vsync соединения

Для того чтобы знать, какая линия сейчас отображается и завершен ли кадр, используется два сигнала синхронизации: горизонтальная синхронизация H-SYNC и вертикальная синхронизация V-SYNC. Это самые важные сигналы, и если их тайминги будут нарушены, то VGA выход не будет работать как надо.

Основы теории VGA

В спецификации VGA описывается отображение цветовых данных, горизонтальной и вертикальной синхронизации, и об определенном времени на каждое действие, которое нельзя пропускать.

Arduino UNO тактируется кварцевым генератором 16МГц и одна инструкция выполняться за один цикл, что означает, что каждая инструкция в нашей программе будет выполняться точно за (1/16000000) секунды или примерно 62,5 наносекунды.

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

При использовании 800x600VGA, каждая строка заканчивается горизонтальным импульсом синхронизации, который сообщает монитору данные следующей строки. После синхронизации 601 линии, монитор ожидает импульс вертикальной синхронизации продолжительностью 4 линии. В этот момент есть пауза в 23 линии. Благодаря вертикальной синхронизации и задней площадки строчного гасящего импульса, линии отображаются, но информация о цвете не используется.

Есть две основных части кода:
— Цвет для циклов + Hsync
— Вертикальная синхронизация

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

Источник

8-битный компьютер с BASIC и VGA-выходом на Arduino

C помощью Arduino можно собрать 8-битный ретро-компьютер с Basic (похожий на ZX Spectrum) с выводом цветного изображения на VGA-монитор.

Кроме того, этот проект можно использовать как простой способ вывода текстовых сообщений на монитор.

Сама по себе, идея использовать Arduino для создания компьютера с BASIC не нова, но насколько я знаю, все они не поддерживают вывод цветного изображения. В некоторых проектах использовались LCD-мониторы, а в других — библиотека TVout, которая выводит чёрно-белое изображение. Кроме того, многие из этих проектов требуют дополнительные модули и специальные платы расширения. Тут же нужно всего-то иметь два Arduino, несколько резисторов, плюс разъёмы для PS/2 клавиатуры и VGA-монитора.

Для проекта нужно две платы Arduino: один будет основным (или «мастером»), в нём работает интерпретатор Tiny Basic Plus (это порт Tiny Basic на языке Си, адаптированный для поддержки Arduino). Также этот Arduino управляет PS/2 клавиатурой. Вывод из первого Arduino через последовательный порт отправляется на второй Arduino, который с помощью библиотеки VGAx генерирует VGA-сигнал.

Программу на языке BASIC в собранный нами компьютер можно будет ввести с помощью PS/2 клавиатуры, а результат можно будет посмотреть на VGA-мониторе: разрешение получившегося изображения 24 столбца на 10 строк, размер символов — 5х6 пикселей, доступно 4 цвета.
После введения программы, её можно будет сохранить в энергонезависимой памяти самого Arduino, а также код программы предусматривает управление I/O пинами Arduino.

1. Подключаем основной Arduino с интерпритатором TinyBasic и с PS/2 клавиатурой

TinyBasic Plus и библиотека VGAx работают с Arduino IDE 1.6.4.
Если у вас уже установлена более новая версия, то лучшее решение — загрузить эту версию с официального сайта в формате .zip, и распаковать в отдельную папку. Здесь можно загрузить эту версию для Windows.

Потом нам понадобится библиотека PS2keyboard, её можно загрузить отсюда. После скачивания просто распакуйте архив, и скопируйте его содержимое в «arduino-1.6.4\libraries».

Дальше, загрузите файл TinyBasicPlus_PS2_VGAx.ino, и прошейте его в основной Arduino.
Это версия обычного TinyBasic Plus, где была добавлена поддержка библиотеки PS/2.

Больше информации о TiniBasic Plus и руководства (на английском языке) можно найти тут.

Если на этом этапе нет проблем (в том числе, проблем с совместимостью), то Tiny Basic будет автоматически запущен при включении Arduino. И его можно будет протестировать с помощью последовательного порта на вашем ПК. Для этих целей я использую PuTTY, но вы можете использовать и другую подобную программу, по вашему вкусу.

В настройках нужно правильно установить COM-порт (тот же, что используется в Arduino), и скорость передачи = 4800.

И тут уже можно протестировать нашу систему, набрав какую-нибудь программу на Basic с клавиатуры вашего ПК (позже мы подключим PS/2 клавиатуру напрямую к Arduino).

Для примера, можно набрать:

Прервать бесконечный цикл этой программы можно с помощью комбинации клавиш Ctrl+C (это не сработает, если мы будем делать это с клавиатуры PS/2).

Теперь подключим PS/2 клавиатуру.

2. Подключаем PS/2 клавиатуру к основному Arduino

Информация и библиотека были взяты из этого материала.

По существу, вам нужно соединить следующие четыре контакта:
Data клавиатуры к Arduino pin 8,
IRQ (clock) клавиатуры к Arduino pin 3;
а также подключить землю (GND) и питание +5V, соответственно.

Я использовал PS/2 разъём cо старой нерабочей материнской платы, его можно легко сдуть с помощью фена.

Распиновка PS/2 разъема есть на рисунке:

3. Загружаем библиотеку VGAx и код во второй Arduino, и соединяем его с основным

Для начала, загрузите код VGAx-PC.ino и скопируйте его к себе на компьютер в папку с таким же именем.

Потом — загрузите с GitHub бибилиотеку VGAx. Её нужно поместить в подпапку «libraries» Arduino IDE.

ВАЖНО! Эта бибилиотека работает с Arduno IDE 1.6.4 и может быть не совместима с другими, более новыми версиями.

Теперь загрузите VGAx-PC.ino во второй Arduino (я тестировал на Arduino Nano, но с Arduino Uno тоже не должно быть проблем).

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

Для этого нужно:

  • два Arduino Uno Rev.3, или два Arduino Nano 3.x (на основе ATmega328)
  • разъем DSUB15, т.е. гнездо VGA или кабель с таким гнездом, который не жалко отрезать
  • резисторы: 2 на 68 Ом и 2 на 470 Ом
  • разъем PS2
  • провода
  • необязательно: макетная плата

Осталось всё соединить по схеме на рисунке, и наш 8-битный компьютер готов!

Источник

Adblock
detector