Оглавление:

Карманная игровая консоль Arduino + A-Maze - игра в лабиринт: 6 шагов (с изображениями)
Карманная игровая консоль Arduino + A-Maze - игра в лабиринт: 6 шагов (с изображениями)

Видео: Карманная игровая консоль Arduino + A-Maze - игра в лабиринт: 6 шагов (с изображениями)

Видео: Карманная игровая консоль Arduino + A-Maze - игра в лабиринт: 6 шагов (с изображениями)
Видео: Arduino 1-Bit Rogue Game. Maze. 2024, Ноябрь
Anonim
Карманная игровая консоль Arduino + A-Maze - игра в лабиринте
Карманная игровая консоль Arduino + A-Maze - игра в лабиринте

Добро пожаловать на мой первый инструктаж

Проект, которым я хочу поделиться с вами сегодня, - это игра-лабиринт Arduino, которая стала такой же карманной консолью, как Arduboy и аналогичные консоли на базе Arduino. Он может быть прошит моими (или вашими) будущими играми благодаря открытому заголовку ICSP.

Несколько месяцев назад у меня возникла идея создать игру-лабиринт на Arduino, но без жестко запрограммированного набора лабиринтов. Он должен иметь возможность создавать новый лабиринт для каждого уровня, на котором вы играете, чтобы вы больше никогда не видели тот же лабиринт:)

Кодировать это было немного сложно, так как Arduino ограничен в оперативной памяти, и затем я нашел несколько примеров, как это можно сделать с помощью простого алгоритма Бо-Таоши.

Код, который я использовал в качестве отправной точки, я использовал Сануки Удон и его проект КАК СДЕЛАТЬ ГЕНЕРАТОР ЛАБИРИНТА, ИСПОЛЬЗУЯ ATTINY13A

Шаг 1: прототипирование макета

Макетные макеты
Макетные макеты
Макетные макеты
Макетные макеты

Моей отправной точкой была небольшая макетная плата с подключенными всего 4 кнопками для перемещения по лабиринту, но позже, когда я решил, что это должна быть игровая консоль, я добавил еще несколько кнопок. На макете большего размера вы можете увидеть еще 2 кнопки, а позже я добавил третью, которая будет использоваться как кнопка запуска / паузы / меню.

Шаг 2: Необходимые детали

  • Микросхема Arduino pro mini / Arduino Uno / Atmega328P
  • 28-контактное DIP-гнездо (опционально)
  • SSD1306 OLED-дисплей
  • Пьезо-динамик
  • Кнопки - 7 шт.
  • Держатели для монетных батарей
  • Переключить переключатель
  • Провода
  • Прототип печатной платы (60x40 мм)

Шаг 3: Монтаж / схема макета

Монтажная плата / Схема
Монтажная плата / Схема
Монтажная плата / схема
Монтажная плата / схема
Монтажная плата / схема
Монтажная плата / схема

Подключайте компоненты, как показано на схеме выше.

Кнопки:

  • Кнопка ВВЕРХ: вывод 7 Arduino
  • Кнопка ВНИЗ: вывод 6 Arduino
  • Левая кнопка: вывод 9 Arduino
  • Кнопка ВПРАВО: вывод 8 Arduino
  • Кнопка A: вывод 5 Arduino
  • Кнопка B: вывод 4 Arduino
  • Кнопка СТАРТ: вывод 2 Arduino

SSD1306 OLED-экран:

  • SCL: вывод Arduino A5
  • SDA: вывод Arduino A4
  • VCC: Arduino VCC
  • GND: Arduino GND

Зуммер:

  • Зуммер положительный: вывод 3 Arduino
  • Земля зуммера: Arduino GND

Шаг 4: Исходный код

Исходный код игры A-Maze можно найти здесь:

Откройте в Arduino IDE и загрузите на свою плату или используйте программатор ISP, чтобы запрограммировать свой чип.

Я рекомендую использовать USBTIny ISP, проблем с ним никогда не было:) но вы также можете использовать обычный Arduino для программирования своего чипа.

В моем случае я не использовал внешний кристалл, поэтому мой чип Atmega328p работает на внутреннем генераторе с частотой 8 МГц.

Для получения дополнительной информации посетите эту ссылку:

Шаг 5. Посмотрите на это в действии

Image
Image

Шаг 6: корпус и миниатюризация

Корпус и миниатюризация
Корпус и миниатюризация
Корпус и миниатюризация
Корпус и миниатюризация

Если вы хотите сделать этот проект постоянным с красивым футляром, вот простой футляр для 3D-печати, который я разработал:

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

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

Я также рекомендую сделать другую проводку под экраном, так как ножки микросхемы Atmega припаяны и выставлены под экраном. Когда вы закончите пайку, подложите под экран изоляционную ленту, чтобы предотвратить короткое замыкание и т. Д.

Заголовок ICSP не является обязательным, и если вы решите не раскрывать его, он значительно упростит вашу сборку, потребуется меньше 6 подключений, но сначала запрограммируйте микросхему, прежде чем паять ее, или используйте 28-контактное DIP-гнездо, чтобы вы могли легко снимаем микросхему для программирования.

Карманный конкурс
Карманный конкурс
Карманный конкурс
Карманный конкурс

Финалист карманного конкурса

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