Оглавление:

Портативная консоль Arduino Pong: 6 шагов (с изображениями)
Портативная консоль Arduino Pong: 6 шагов (с изображениями)

Видео: Портативная консоль Arduino Pong: 6 шагов (с изображениями)

Видео: Портативная консоль Arduino Pong: 6 шагов (с изображениями)
Видео: В 2 года играет на psp 2024, Ноябрь
Anonim
Портативная консоль Arduino Pong
Портативная консоль Arduino Pong

Недавно DFRobot обратилась ко мне с просьбой использовать их специальную плату Arduino Nano и OLED. Сначала я хотел создать умный байк и построил его полностью. Но, к сожалению, Nano был слишком слаб, чтобы запускать и хранить необходимый массивный набросок. Поэтому я решил вернуться к одному из моих предыдущих проектов, матрице Neopixel, которая запускала игру Pong. Вместо этого я хотел сделать его портативным, и 1,7-дюймовый OLED-дисплей был бы идеальным дисплеем.

Список частей:

  • Ардуино нано
  • OLED
  • Оратор

Шаг 1. Видео

Image
Image

Шаг 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.

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