Карманная игровая консоль на Arduino Pro Mini: лабиринт A-Maze
Компоненты и материалы
| Название | Количество |
|---|---|
| OLED-дисплей SSD1306 (I2C, 128x64) | 1 |
| Arduino Pro Mini 328 — 5V/16MHz (или ATmega328P) | 1 |
| Тактильные кнопки 12 мм | 7 |
| Корпуса для батареек CR2032 | 2 |
| Тумблер (Slide Switch) | 1 |
| Монтажная плата 40x60 мм | 1 |
| Пьезо-зуммер (опционально) | 1 |
О проекте
Портретная игровая консоль размером с кредитную карту, способная генерировать уникальные лабиринты для каждого уровня. Проект вдохновлён Arduboy, но имеет открытый ICSP-хедер для перепрошивки своими играми. Лабиринты генерируются алгоритмом Bo-Taoshi (метод «падения столба»), что позволяет создавать бесконечные уровни без хранения карт в памяти.
Этап 1: Прототипирование на макетной плате
Начало с 4 кнопок для навигации, затем добавлено 3 кнопки (A, B, Start). Фото прототипа ниже.
Этап 2: Необходимые детали
- Arduino Pro Mini / Uno / чип ATmega328P
- Гнездо DIP-28 (опционально)
- OLED SSD1306
- Пьезо-динамик
- 7 кнопок
- 2 корпуса для CR2032
- Тумблер
- Провода, монтажная плата 60x40 мм
Этап 3: Схема подключения
Кнопки:
- UP — D7, DOWN — D6, LEFT — D9, RIGHT — D8
- A — D5, B — D4, START — D2
OLED SSD1306 (I2C): SCL → A5, SDA → A4, VCC → 5V, GND → GND
Зуммер: + → D3, - → GND
Этап 4: Исходный код
Код доступен на GitHub: github.com/alojzjakob/A-Maze. Загружайте через Arduino IDE или ISP-программатор (USBTiny ISP рекомендуется). При использовании внутреннего генератора 8 МГц настройте fuses соответствующим образом.
Этап 5: Демонстрация
Этап 6: Корпус и миниатюризация
3D-модель корпуса на Thingiverse: thingiverse.com/thing:2851100. Компоненты размещаются на плате 40x60 мм, проводка укладывается под держатели батареек и экран. ICSP-хедер можно не выводить наружу, если прошить чип перед пайкой или использовать гнездо DIP-28.
Схемы и файлы
- Исходный код: GitHub
- Корпус (STL): Thingiverse
- Принципиальные схемы: см. раздел Schematics
Производственный процесс
- DIY-консоль управления Photoshop на Arduino Nano RP2040 Connect
- Создание игры в реальном времени на Arduino Nano с гироскопом MPU-6050 и OLED-дисплеем
- TeleBall: ретро портативная игровая консоль на Arduino — собирайте сами Breakout и Tennis for Two
- Сборка портативной игровой консоли-клона Arduboy на Arduino Micro с проектированием PCB
- Создание классической игры Pong на Arduino UNO с OLED-дисплеем: пошаговый урок
- DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
- Сборка консоли Pong 24×16 на Arduino Nano и MAX7219
- Arduino Breakout на сенсорном TFT 2.4″: классическая аркада своими руками
- Гигантский анимированный LEGO-человечек: игра «Операция» на Arduino
- Pixel Chaser: игра на один тап с NeoPixel Ring и Arduino Nano