Оглавление:

Базовый ПК Arduino с выходом VGA: 5 шагов (с изображениями)
Базовый ПК Arduino с выходом VGA: 5 шагов (с изображениями)

Видео: Базовый ПК Arduino с выходом VGA: 5 шагов (с изображениями)

Видео: Базовый ПК Arduino с выходом VGA: 5 шагов (с изображениями)
Видео: Вывод изображения с Arduino и ESP32 на монитор 2024, Ноябрь
Anonim
Image
Image
Базовый ПК Arduino с выходом VGA
Базовый ПК Arduino с выходом VGA
Базовый ПК Arduino с выходом VGA
Базовый ПК Arduino с выходом VGA

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

Сейчас я покажу, как собрать такой же компьютер, но с выходным сигналом в цвете для монитора VGA!

Вы можете вводить переменные и программу BASIC с клавиатуры PS2, и она генерирует вывод для монитора VGA с разрешением текста 24 столбца x 10 строк символов 5x6 пикселей в четырех цветах. Вы можете увидеть это в действии на верхнем видео. Затем программа может быть сохранена в EEPROM Arduino, и вы по-прежнему можете управлять контактами ввода / вывода напрямую с помощью специальных команд Basic.

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

Один Arduino является «ведущим» и запускает Tiny Basic Plus, реализацию Tiny Basic на языке C, с упором на поддержку Arduino. Он также управляет клавиатурой PS2. Затем вывод отправляется через последовательный порт на второй Arduino, который генерирует вывод VGA благодаря библиотеке VGAx.

Идея использовать один или несколько Arduino для создания ПК в старом стиле, работающего на диалекте Basic, не нова, но, насколько мне известно, ни один из них не имеет цветного вывода. В некоторых проектах, доступных в сети, люди использовали ЖК-дисплеи, в то время как в других, чтобы разрешить использование мониторов, использовалась библиотека TVout, которая является черно-белой. Более того, во многих из этих проектов должны быть установлены специальные щиты или оборудование. Здесь вам понадобится всего два Arduino, несколько резисторов и разъем для клавиатуры PS2 и монитора, как показано на картинках выше.

Шаг 1. Создайте мастер Arduino с помощью TinyBasic и клавиатуры PS2

TinyBasic Plus и библиотека VGAx работают с Arduino IDE 1.6.4.

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

Тогда вам понадобится библиотека PS2keyboard. Вы можете найти его внизу этой страницы. Просто распакуйте его и скопируйте папку PS2keyboard в: arduino-1.6.4 / libraries

Наконец, на этой странице загрузите файл: TinyBasicPlus_PS2_VGAx.ino, распакуйте и загрузите его на свой Arduino.

Это вариант стандартного TinyBasic Plus, где я добавил библиотеку PS2 и изменил код, чтобы принимать из нее переменные.

Более подробную информацию о TiniBasic Plus и руководствах можно найти по этой ссылке.

Если нет проблем и проблем с совместимостью, Tiny Basic уже запущен. Вы можете проверить это с помощью последовательного монитора на своем ПК. Для этого я использую PuTTY, но доступно много других программ.

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

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

Например, попробуйте:

10 ПЕЧАТЬ "Hello, World!"

20 GOTO 10

ЗАПУСТИТЬ

Затем вы можете остановить бесконечный цикл, просто набрав ctrl + c.

Обратите внимание, что эта комбинация не будет работать с клавиатурой PS2.

На следующем шаге я покажу, как подключить клавиатуру PS2 к Arduino.

Шаг 2: Подключите клавиатуру PS2 к основному Arduino

Подключите клавиатуру PS2 к Master Arduino
Подключите клавиатуру PS2 к Master Arduino

Я получил всю информацию и библиотеку из этого руководства.

По сути, вам необходимо подключить следующие четыре контакта:

  • данные клавиатуры к контакту 8 Arduino,
  • IRQ (часы) клавиатуры на вывод 3 Arduino;
  • Вам также необходимо подключить GND и + 5V.

У меня есть старый женский разъем PS2 от сломанной материнской платы ПК. Вы можете просто распродать его с помощью теплового пистолета.

На картинке, показанной в этом шаге, вы можете найти функцию необходимых контактов разъема PS2.

Шаг 3. Загрузите библиотеку VGAx и код на второй Arduino и соберите все вместе

Загрузите библиотеку VGAx и код на второй Arduino и соберите все вместе
Загрузите библиотеку VGAx и код на второй Arduino и соберите все вместе

Сначала загрузите код VGAx-PC.ino внизу этой страницы и скопируйте его на свой компьютер в каталог с таким же именем.

Загрузите библиотеку VGAx по этой ссылке на GitHub. Самый простой способ - скопировать его в подпапку программного обеспечения Arduino под названием «библиотеки», чтобы он был немедленно распознан.

ВАЖНО: эта библиотека работает для Arduno IDE 1.6.4, но не полностью совместима с более ранними или новыми версиями.

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

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

Для этого вам понадобятся:

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

Схема представлена в верхней части этого шага. Пример готовой «консоли» показан во вводном шаге.

Та же самая схема с более высоким разрешением сообщается в сжатом файле внизу этого шага.

Шаг 4: Необязательно: использование печатной платы

Необязательно: использование печатной платы
Необязательно: использование печатной платы
Необязательно: использование печатной платы
Необязательно: использование печатной платы
Необязательно: использование печатной платы
Необязательно: использование печатной платы
Необязательно: использование печатной платы
Необязательно: использование печатной платы

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

Я использовал две полоски разъема с 15 отверстиями для видеовыхода Arduino, а для мастера я использовал две полоски с двойными отверстиями. Таким образом, я могу использовать внешние для вставки контактов других компонентов проекта, которыми можно управлять напрямую с помощью базового кода. Я также добавил в центре оставшиеся полоски, одна из которых подключена к 5 В, а другая - к земле.

Шаг 5: Заключительные комментарии и благодарности

Мое главное признание принадлежит Сандро Маффиодо, также известному как Смаффер, создателю потрясающей библиотеки VGAx.

Большое спасибо также авторам TinyBasic Plus:

  • Tiny Basic 68k - Гордон Брандли
  • Arduino Basic / Tiny Basic C - Майкл Филд
  • Tiny Basic Plus - Скотт Лоуренс

Также спасибо djsadeepa, автору Инструкции по подключению клавиатуры PS2.

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

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

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