Оглавление:

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

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

Видео: Базовый ПК Arduino с ТВ-выходом: 5 шагов (с изображениями)
Видео: Только не говори никому.. Как легко можно восстановить жидкокристаллический экран.. 2024, Ноябрь
Anonim
Image
Image
Базовый ПК Arduino с ТВ-выходом
Базовый ПК Arduino с ТВ-выходом
Базовый ПК Arduino с ТВ-выходом
Базовый ПК Arduino с ТВ-выходом
Базовый ПК Arduino с ТВ-выходом
Базовый ПК Arduino с ТВ-выходом

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

Вы можете вводить переменные и программу BASIC с помощью клавиатуры PS2, и результат отображается на мониторе с текстом 47 столбцов x 29 строк символов 8x8 пикселей (черно-белый), разрешение такое же или лучше, чем у Commodore 64, равное 40 х 25 знаков.

Вы можете увидеть это в действии на верхнем видео.

Затем программа может быть сохранена в EEPROM Arduino, и вы по-прежнему можете управлять контактами ввода / вывода напрямую с помощью специальных команд Basic.

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

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

Здесь вам понадобится всего два Arduino, пара диодов, несколько резисторов и разъем для клавиатуры PS2 и монитора, как показано на картинке выше.

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

TinyBasic Plus и MRETV работают с более старой - и другой - Arduino IDE.

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

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

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

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

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

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

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

Здесь вы уже можете протестировать некоторые программы на 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. Загрузите библиотеку MRETV на второй Arduino и соберите все вместе

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

Ключевым моментом этого проекта является наличие потрясающей библиотеки MRETV. Есть специальный Instructable, где он подробно описан.

Он использует только два резистора и два диода для генерации полноэкранного видео с разрешением текста 47 x 29 из 8x8 символов. Как сказано во введении, «создание видео производилось раньше, но не так. ПОЛНЫЙ ДУПЛЕКСНЫЙ последовательный порт все еще доступен при генерации видео». Это позволяет получать данные от «ведущего» Arduino и отображать их на мониторе. На практике это второе «подчиненное устройство» Arduino используется как графический интерфейс!

Поскольку MRETV работает с IDE 1.6.6, загрузите его с официальной веб-страницы Arduino. Опять же, лучше всего загрузить его в формате.zip и распаковать на своем ПК. Щелкните эту ссылку, чтобы загрузить версию для Windows.

Загрузите библиотеку MRETV по этой ссылке.

Распакуйте его и сохраните папку "MRETV" в: arduino-1.6.6 / libraries.

Наконец, загрузите TVtext_slave.rar внизу этой страницы, распакуйте его и загрузите в свой подчиненный Arduino.

Если сообщения об ошибке нет, можно подключить разъем RCA. Вам понадобятся два диода и резисторы на 1 кОм и 300 Ом, как показано на схеме на этой странице.

На этом этапе вы можете соединить все вместе.

Полный список материалов:

  • два Arduino Uno Rev.3 или два Arduino Nano 3.x (ATmega328)
  • два резистора 1 кОм
  • один резистор 300 Ом
  • два диода 1n4148 (x2) или аналогичный кремниевый переключающий диод
  • две розетки RCA (одна для видео, одна - факультативная - для аудио)
  • гнездовой разъем PS2
  • макет и провода

Ведущее устройство Arduino отправляет данные ведомому устройству через оранжевый кабель, т.е. ведущий вывод 1 (Tx) на ведомый вывод 2 (Rx). Если вам нужно повторно загрузить какой-то код, вы должны сначала отключить этот кабель.

Затем подключите подчиненный Arduino к источнику питания 5 В, кабель RCA к телевизору и клавиатуру к PS2, и теперь вы должны увидеть код своего телевизора!

Функции этого базового диалекта подробно описаны на его домашней странице (см. Ссылку на шаге 2). С помощью команд esave и eload вы можете сохранить одну базовую программу в EEPROM. Эта программа запускается по умолчанию каждый раз, когда вы сбрасываете главную Arduino. Чтобы удалить его, вы можете использовать команду «eformat».

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

  • DWRITE pin, value - установить для вывода значение (HIGH, HI, LOW, LO)
  • AWRITE pin, value - установить вывод с аналоговым значением (pwm) 0..255
  • DREAD (булавка) - получить значение булавки
  • AREAD (analogPin) - получить значение аналогового вывода

Таким образом, вы можете написать программу на Basic, которая управляет некоторым оборудованием, сохранить ее в EEPROM, а затем запустить ее автоматически, просто сбросив Arduino.

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

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

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

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

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

Наконец, в файле.rar вы можете найти маски для травления медной доски.

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

Этот проект не мог бы быть реализован без библиотеки MRETV. Таким образом, я в основном благодарен его автору, который использует аббревиатуру г-н Э.

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

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

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

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

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

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