ПИНГ-ПОНГ НА АРДУИНО


РАДИОСХЕМЫ




МЕНЮ








ПИНГ-ПОНГ НА АРДУИНО

Пинг-Понг - одна из первых аркадных видеоигр. Это спортивная игра в теннис с простой двумерной графикой. Ping-Pong был одной из первых игр, которая достигла невероятной популярности. Цель там состоит в том, чтобы победить противника в симуляторе настольного тенниса, заработав больше очков. Игра была первоначально произведена Atari в 1972 году.

Схема игры Пинг-Понг на Ардуино

Аппаратная часть самодельной игры очень проста. Весь проект состоит из следующих компонентов:

  • Arduino Uno
  • Макетная плата
  • Экран Adafruit 128x64 OLED (в режиме I2C)
  • 2х 10 К потенциометра
  • Пьезо-зуммер

Подключение этих компонентов займёт всего несколько минут. В итоге получается следующая настройка соединений:

С проводкой разобрались. Пришло время для кодирования. Код прошивки есть тут. Чтобы использовать экран, убедитесь, что установлены библиотеки Adafruit_GFX и  Adafruit_SSD1306.

Вот как выглядит готовая игровая приставка в разных вариантах игры:

Тут было небольшое изменение - использован изначально экран OLED 0,96". Но этот дисплей очень маленький. Поэтому выбран OLED 1,3", по-идее совместимый, но не совсем. Меньший из них построен на SSD1306, а больший - на SSH1106. В результате следует использовать другую библиотеку - U8g2lib.h - и программа немного подредактирована.

Потенциометры 22k, которые были в наличии, оказались нелинейными, что очень мешало в игре - пришлось покупать линейные. Это следует учитывать при сборке устройства.

Также добавлены 5 фиксированных переключателей и один без фиксации.

  1. Первый переключатель - это питание (батарея 6F22 на 9 В). Конечно добавлен стабилизатор 7805.
  2. Второй переключатель - отключить динамик. Громкоговоритель слишком громкий, поэтому иногда полезно приглушить его.
  3. Еще три кнопки подключены к контактам 10, 11 и 12. Они отвечают за уменьшение ширины ракетки, переходя на игры типа теннис - футбол, а третий запускает сквош для одного человека. Сквош - суть состоит в перемещении правой части к краю, увеличения его размера до 64 точек и устранения средней линии.

Цель состояла в том, чтобы иметь возможность менять тип игры в любое время, а не только во время старта, поэтому переключатели проверяются в основном цикле. Этот цикл проверяет переключатели, вычисляет положение мяча и ракетки, затем стирает экран и рисует его снова.

  • Последняя нестабильная кнопка замыкает линию RST на землю. То есть сброс системы.

Дисплей SSH1106 требует шрифтов, которые занимают много места в памяти. Чтобы сэкономить память, установлены усеченные шрифты (только цифры) для отображения результатов.

Потребляемый ток составляет 30 мА. Обычная батарейка будет питать самодельную игровую приставку около 20 часов.

Дисплей Adafruit OLED  может быть использован с SPI или I2C интерфейсом. Обычно SPI немного быстрее, в то время как I2C использует меньше проводов. Он может использоваться как на 3,3 В, так и на 5 В, прекрасно совмещаясь с Arduino.

   Схемы для начинающих




Солнечная министанция

Самодельный ламповый

Фонарики Police









    © 2009-2020, "Электронные схемы самодельных устройств". Электросхемы для самостоятельной сборки радиоэлектронных приборов и конструкций. Полезная информация для начинающих радиолюбителей и профессионалов. Все права защищены.
  • Вход
  • Почта
  • Мобильная версия