Оглавление:
- Шаг 1. Видео
- Шаг 2: разработка игры
- Шаг 3: проектирование игрового устройства
- Шаг 4: Сборка устройства
- Шаг 5: программирование игры
- Шаг 6: Играем в понг
Видео: Портативная консоль Arduino Pong: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Недавно DFRobot обратилась ко мне с просьбой использовать их специальную плату Arduino Nano и OLED. Сначала я хотел создать умный байк и построил его полностью. Но, к сожалению, Nano был слишком слаб, чтобы запускать и хранить необходимый массивный набросок. Поэтому я решил вернуться к одному из моих предыдущих проектов, матрице Neopixel, которая запускала игру Pong. Вместо этого я хотел сделать его портативным, и 1,7-дюймовый OLED-дисплей был бы идеальным дисплеем.
Список частей:
- Ардуино нано
- OLED
- Оратор
Шаг 1. Видео
Шаг 2: разработка игры
Для этой игры в Понг я хотел сделать ее относительно простой, что означало, что ракетка не управлялась компьютером, или необычные алгоритмы отражения мяча. По сути, есть одна ракетка, которую пользователь может перемещать вверх или вниз, и если мяч столкнется с ракеткой, то его вектор оси x перевернется. Каждый раз, когда мяч ударяется, раздается звук. Когда игровое устройство включено, появляется экран с названием игры и инструкциями. Вдобавок моя мама создала небольшую музыкальную тему, которая зацикливается на заднем плане, пока не будет нажата верхняя кнопка.
Шаг 3: проектирование игрового устройства
Моя любимая программа САПР - Fusion 360, поэтому я решил использовать ее для разработки своего игрового устройства для игры в понг. Я начал с проектирования каждого используемого компонента: OLED, Arduino Nano и динамика. Таким образом, я могу точно увидеть, где и как каждый компонент должен поместиться внутри корпуса. Затем я поместил Nano и PCB в заднюю часть корпуса, а OLED поверх. Далее встал вопрос, куда поставить динамик и кнопки. Я решил, что динамик мощностью 3 Вт может быть расположен чуть ниже экрана (если смотреть на него сверху), и для этого также необходимо поставить «решетку» на динамик, чтобы звук не был заглушен. Наконец, я добавил две кнопки с левой стороны, чтобы добавить элементы управления.
Шаг 4: Сборка устройства
Я начал с 3D-печати каждой части, состоящей из нижней половины, верхней половины и 2 кнопок. Затем я припаял женский разъем к разъему 4x6 см и подключил его к Nano. Это не только позволяет легко удалить OLED, но и возвышает его над Arduino Nano. Информацию о подключении см. На схеме. Затем я подключил две кнопки вместе с простой коммутационной платой micro USB для питания. Также был прикреплен динамик и поставил его в правильное положение. Конструкция My Fusion 360 позволяет использовать 3-миллиметровые крепежные винты, чтобы удерживать OLED, динамик и соединять две половины устройства. Но мне нужно было сделать их точными, поэтому я использовал свой сверлильный станок, чтобы просверлить 8 отверстий: 2 для динамика, 2 для экрана и 4 под ним. Вы можете перейти по ссылке на файлы Thingiverse.
Шаг 5: программирование игры
Использование простого интерфейса было жизненно важным для сохранения небольшого размера программы. Я начал с добавления нескольких библиотек: Adafruit_GFX, Adafruit_SSD1351 и библиотеки таймера Arduino. Затем я определил свои контакты и цвета, такие как контакты OLED и 16-битные определения цвета. В моем коде также есть 4 способа изменить ход игры, например, изменить размеры ракетки и скорость движения мяча. Затем существует раздел, в котором определяется каждая переменная, включая счет и различные координаты. Каждый раз, когда устройство включается, на экране появляется изображение мяча и текст, а также небольшая музыкальная тема, которая определена ранее в коде. После начала игры создаются два таймера: один обновляет ракетку, а другой обновляет мяч. Каждый раз, когда положение мяча обновляется, проверяются его координаты, чтобы убедиться, что он не выходит за границу экрана и не касается ли он ракетки. Каждый раз, когда он отскакивает, его ось x или y переворачивается, и воспроизводится небольшой тон. Посмотрите видео в начале этой статьи, чтобы увидеть, как проходит игра.
Шаг 6: Играем в понг
Название игры - набрать как можно меньше очков. Нет ограничений по времени, поэтому это очень приятно и даже вызывает транс. Все, что необходимо, - это нажать одну из двух кнопок, чтобы переместить весло вверх или вниз. Также можно добавить способ сохранения наивысшего результата с помощью EEPROM Arduino.
Рекомендуемые:
Портативная игровая консоль DIY Raspberry Pi Zero: 6 шагов (с изображениями)
Портативная игровая консоль DIY Raspberry Pi Zero: в этом проекте я покажу вам, как я использовал Raspberry Pi Zero, NiMH батареи, самодельную схему защиты от переразряда, ЖК-дисплей заднего вида и аудиоусилитель для создания портативной игровой консоли, которая может играть ретро игры. Давайте начнем
GamePi - портативная консоль эмулятора: 17 шагов (с изображениями)
GamePi - Консоль портативного эмулятора: Введение: В этой инструкции описывается сборка портативной консоли эмуляции Raspberry Pi 3 - я окрестил ее GamePi. Подобных инструкций для таких устройств существует множество, но, на мой вкус, большинство из них либо слишком большие, либо слишком маленькие
Портативная игровая консоль - Клон Arduboy: 6 шагов (с изображениями)
Портативная игровая консоль | Arduboy Clone: несколько месяцев назад я наткнулся на Arduboy, который, согласно официальному сайту, представляет собой миниатюрную 8-битную игровую платформу, которая позволяет легко учиться, делиться и играть в игры онлайн. Это платформа с открытым исходным кодом. Игры для Arduboy делаются пользователем
Самодельная портативная консоль: 12 шагов (с изображениями)
Самодельная портативная консоль: добро пожаловать в мое пошаговое руководство по созданию собственного DIY GameBoy с Raspberry Pi 3 и программным обеспечением для эмуляции Retropie. Перед началом этого проекта у меня не было опыта работы с Raspberry Pi, ретропией, пайкой, 3D-печатью или электр
Портативная консоль с беспроводными контроллерами и датчиками (Arduino MEGA и UNO): 10 шагов (с изображениями)
Портативная консоль с беспроводными контроллерами и датчиками (Arduino MEGA и UNO): Что я использовал: - Arduino MEGA - 2x Arduino UNO - Adafruit 3.5 " TFT 320x480 Сенсорный экран HXD8357D - Зуммер - Динамик 4 Ом, 3 Вт - Светодиодные лампы 5 мм - Принтер Ultimaker 2+ с черной PLA-нитью - Лазерный резак с древесиной МДФ - Черная аэрозольная краска (для дерева) - 3x nRF24