Оглавление:
- Шаг 1. Создайте мастер Arduino с помощью TinyBasic и клавиатуры PS2
- Шаг 2: Подключите клавиатуру PS2 к основному Arduino
- Шаг 3. Загрузите библиотеку MRETV на второй Arduino и соберите все вместе
- Шаг 4: Необязательно: использование печатной платы
- Шаг 5: Заключительные комментарии и благодарности
Видео: Базовый ПК Arduino с ТВ-выходом: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
В этой инструкции я покажу, как собрать 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
Я получил всю информацию и библиотеку из этого руководства.
По сути, вам необходимо подключить следующие четыре контакта:
- данные клавиатуры к контакту 8 Arduino,
- IRQ (часы) клавиатуры на вывод 3 Arduino;
- Конечно, вам нужно также подключить GND и + 5V.
Мне достался старый гнездовой разъем PS2 от сломанной материнской платы ПК, его можно просто распродать с помощью термофена.
На картинке, показанной в этом шаге, вы можете найти функцию необходимых контактов разъема PS2.
Шаг 3. Загрузите библиотеку 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. Если возникнут проблемы, не стесняйтесь спрашивать предложения в комментариях.
Если вам это удастся, напишите, пожалуйста, комментарий или поделитесь изображением созданного вами устройства.
Рекомендуемые:
NAIN 1.0 - базовый робот-гуманоид, использующий Arduino: 6 шагов
NAIN 1.0 - базовый робот-гуманоид, использующий Arduino: Nain 1.0 будет иметь в основном 5 съемных модулей: 1) Arm - которым можно управлять с помощью сервоприводов. 2) Диски - которым можно управлять с помощью двигателей постоянного тока. 3) Нога - Наин сможет переключаться между колесами или ногами для движения. 4) Голова и
Базовый мобильный телефон с использованием комплекта обнаружения STM32F407 и модуля GSM A6: 14 шагов (с изображениями)
Базовый мобильный телефон с использованием комплекта обнаружения STM32F407 и модуля GSM A6: Вы когда-нибудь хотели создать крутой встроенный проект ?. Если да, то как насчет создания одного из самых популярных и всеми любимых гаджетов, то есть мобильного телефона !!!. В этом руководстве я расскажу вам, как создать простой мобильный телефон с помощью STM
Базовый детектор землетрясений Arduino: 7 шагов (с изображениями)
Базовый детектор землетрясений Arduino: Tiny9 вернулся, и сегодня мы собираемся создать простой детектор землетрясений Arduino. Пожалуйста, посетите мой инструктаж по взаимодействию с LIS2HH12 от Tiny9 по приведенной ниже ссылке, чтобы настроить устройство, поэтому все, что вам нужно сделать, это добавить 3 резистора и 3 светоизлучателя
Базовый светодиодный диммер: 5 ступеней (с изображениями)
Базовый светодиодный диммер: в этом руководстве вы узнаете, как построить простой светодиодный диммер, используя только потенциометр. Комплект Arduino, который я использую, любезно предоставил Куман (kumantech.com). Вы можете найти это здесь
Как сделать телефон-банан (стационарный) и базовый блок-банан: 20 шагов (с изображениями)
Как сделать телефон-банан (стационарный) и базовый блок "банан": вот и все. У вас всего несколько недель до Рождества, и вам нужно найти действительно оригинальный подарок, который продемонстрирует, насколько вы творческий человек. Есть тысячи вариантов, но единственное, что вам действительно нужно, - это банановый телефон