Как воссоздать классическую игру в понг с помощью Arduino

Понг был первой в истории видеоигрой, которая достигла массового рынка. Впервые в истории концепция «видеоигры» была внедрена в семейный дом благодаря Atari 2600 — поэтому совершенно правильно, что мы отдаем немного уважения этой исторической жемчужине. Теперь вы можете пережить это (по общему мнению, довольно скучный геймплей), используя Arduino и некоторые общие компоненты.

Я не буду лгать — маловероятно, что ваша дочь откажется от своего Nintendo DS, и это не даст часам веселья для всей семьи — но это удивительный и простой проект по улучшению вашего кода Arduino. И если вы только начинаете, не забудьте проверить руководство для начинающих Arduino.

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

Чтобы вывести этот проект на новый уровень, вы можете напечатать 3D-корпус. Пользователь YouTube PotentPrintables сделал именно это!

Требования к Arduino Pong

  • 470 ом резистор х1
  • 1k ом резистор х1
  • Потенциометр 10 кОм (переменный резистор) x2
  • Arduino x1 (любая версия)
  • RCA подключите x1 (если у вас их больше одного, вы также можете подключить звук. Один для видео — это минимум)
  • Нажать кнопку переключатель x1
  • 10k ом резистор х1

Arduino Pong

Вы также можете скачать библиотеку TV Out Arduino отсюда — получить последнюю версию TVoutBeta1.zip. Поместите все полученные папки в каталог / arduino / library и перезапустите Arduino IDE, если она уже открыта.

Тестирование ТВ-выхода

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

игра Arduino понг

Припаяйте резисторы 470 и 1 кОм к центральной сигнальной линии штекера RCA — это обеспечивает синхронизирующий сигнал и фактический видеосигнал, объединенные для создания аналогового видеовхода. Резистор на 470 Ом должен быть подключен к цифровому выводу ввода-вывода D07, а резистор на 1 кОм — к контакту D09.

Эти контакты устанавливаются библиотекой, которую мы импортируем, поэтому вы не можете их изменить. Один из ваших выводов Arduino GND должен идти на экранирование (снаружи) RCA.

игра Arduino понг

Теперь вы можете пойти дальше и загрузить пример; хотя предоставляются как PAL, так и NTSC, это не должно иметь большого значения для современных цифровых телевизоров — демонстрация NTSC для меня работала нормально, несмотря на то, что я в Великобритании. Подключите к телевизору, и вы получите красивый ретро 3D-куб. Оооооо, да — ты еще взволнован? Я.

игра Arduino понг

Тестовые аналоговые входы потенциометра

Хорошо, у нас есть телевизионный выход, теперь давайте посмотрим на контроллеры. Разводка «горшков» не так критична — у каждого должно быть 3 контакта, а центральный почти всегда выдает выходной сигнал. Подключите это к A0 и A1 (по одному для каждого банка). На одном из боковых выводов — не важно, какой — подключить + 5V. Другой штифт на другой стороне должен пойти на землю.

Здесь я поместил их обоих лицом на один макет, потому что у меня только короткие провода. Для полированного продукта вы захотите использовать какой-нибудь старый сетевой кабель, чтобы дать вам немного расстояния (чтобы вы могли фактически сидеть на диване, чтобы поиграть).

проект Arduino Pong

Затем загрузите один из основных примеров эскизов, которые идут с Arduino — аналоговый вход. Эта демонстрация будет мигать встроенным светодиодом быстрее или медленнее, в зависимости от входа на A0.

Он не тестирует другой банк А1, но если вы правильно настроили А0, я не могу понять, как вы допустите ошибку на А1, поэтому давайте предположим, что это все хорошо, и пойдем дальше.

Добавить стартовый переключатель

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

проект Arduino Pong

Код Понг

Мы используем некоторый код, изначально написанный Lamonica, модифицированный duboisvb для двух игроков и обновленный мной, чтобы использовать последнюю бета-версию библиотеки ТВ-выхода. Вы можете просмотреть и скачать код с этой вставки.

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

проект Arduino Pong

Обратите внимание, что код включает в себя аудио выход также: я не смог найти больше RCA-разъемов, чтобы проверить это, но если они есть, подключите сигнальный штырь прямо к D11, и вы получите приятные ретро-тоны.

Arduino Pong

Честно говоря, я не знал, что Arduino мог бы даже выходить на ТВ без какого-либо чрезвычайно сложного кодирования; Библиотека ТВ-выхода делает это действительно легко. Даже если вы не увлекаетесь ретро-играми, использование этого базового телевизора — отличный способ использовать существующее оборудование в качестве дешевого устройства для мониторинга. Вы можете, конечно, вывести цвет тоже.

Как ты думаешь, ты попробуешь Arduino Pong или сделаешь свой собственный римейк ретро-видеоигры? Скажите нам в комментариях, если у вас есть!

Ссылка на основную публикацию
Adblock
detector