Arduino Pocket Game Console + A-Maze - Maze Game
Componenten en benodigdheden
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 7 | |||
![]() |
| × | 2 | |||
![]() |
| × | 1 | |||
| × | 1 |
Over dit project
Welkom bij mijn eerste zelfstudie!
Het project dat ik vandaag met je wil delen, is het Arduino-doolhofspel, dat een zakconsole werd die net zo capabel was als Arduboy en soortgelijke op Arduino gebaseerde consoles. Het kan worden geflitst met mijn (of uw) toekomstige games dankzij de blootgestelde ICSP-header.
Ik had een paar maanden geleden het idee om een doolhofspel op Arduino te bouwen, maar zonder hardgecodeerde doolhoven. Het zou een nieuw doolhof moeten kunnen genereren voor elk niveau dat je speelt, zodat je hetzelfde doolhof nooit meer ziet :)
Dit coderen was een beetje een uitdaging, aangezien Arduino beperkt is in RAM-geheugen, en toen vond ik enkele voorbeelden hoe dit kan worden gedaan met een eenvoudig Bo-Taoshi-algoritme.
Code die ik als uitgangspunt heb gebruikt door SANUKI UDON en zijn project HOE EEN MAZE-GENERATOR TE MAKEN MET ATTINY13A
Stap 1:Prototyping van breadboard


Mijn uitgangspunt was met een klein breadboard met slechts 4 aangesloten knoppen om door het doolhof te bewegen, maar toen ik later besloot dat het een gameconsole moest worden, voegde ik nog een paar knoppen toe. Op een groter breadboard zie je nog 2 knoppen, en later heb ik een derde toegevoegd om te gebruiken als start/pauze/menu-knop
Stap 2:Benodigde onderdelen
- Arduino pro mini / Arduino Uno / Atmega328P-chip
- 28-pins DIP-aansluiting (optioneel)
- SSD1306 OLED-scherm
- Piëzo-luidspreker
- Drukknoppen - 7 stuks
- Knoopcelbatterijhouders
- Toggle-schakelaar
- Draden
- Prototype pcb (60x40mm)
Stap 3:Breadboard-bedrading / schema
Componenten aansluiten zoals weergegeven in bovenstaande afbeelding.
Knoppen:
- UP-knop:Arduino pin 7
- OMLAAG-knop:Arduino pin 6
- LINKER knop:Arduino pin 9
- RECHTS-knop:Arduino-pin 8
- Een knop:Arduino pin 5
- B-knop:Arduino pin 4
- START-knop:Arduino pin 2
SSD1306 OLED-scherm:
- SCL:Arduino-pin A5
- SDA:Arduino-pin A4
- VCC:Arduino VCC
- GND:Arduino GND
Zoemer:
- Buzzer positief:Arduino pin 3
- Zoemer aarde:Arduino GND
Stap 4:Broncode
De broncode van de A-Maze-game is hier te vinden:https://github.com/alojzjakob/A-Maze
Open in Arduino IDE en upload naar je board of gebruik ISP programmer om je chip te programmeren.
Ik raad aan om USBTIny ISP te gebruiken, heb er nooit problemen mee gehad :) maar je kunt ook gewone Arduino gebruiken om je chip te programmeren.
In mijn geval heb ik geen extern kristal gebruikt, dus mijn Atmega328p-chip werkt op een interne oscillator die 8 MhZ is.
Bezoek deze link voor meer info:https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard.
Stap 5:Zie het in actie



Stap 6:Case en Miniaturisatie


Als je dit project permanent wilt maken, met een mooie hoes, dan is hier de eenvoudige 3D-afdrukbare hoes die ik heb ontworpen:https://www.thingiverse.com/thing:2851100
In de afbeeldingen hierboven kunt u zien hoe alle componenten zijn ingedeeld op de 4x6 prototype PCB.
De meeste knopbedrading gaat onder de batterijhouders, probeer het zo duidelijk mogelijk te maken, zodat batterijhouders relatief vlak boven het bord passen met draden ertussen.
Ik raad ook aan om andere bedrading onder het scherm te doen, omdat Atmega-chippoten zijn gesoldeerd en onder het scherm zichtbaar zijn. Als je klaar bent met solderen, doe dan wat isolatietape onder het scherm om kortsluiting enz. te voorkomen.
ICSP-header is optioneel, en als u besluit om het niet bloot te leggen, zal het uw montage veel gemakkelijker maken, 6 verbindingen minder om voor te zorgen, maar programmeer eerst de chip voordat u het soldeert, of gebruik een 28-pins DIP-socket zodat u gemakkelijk kunt verwijder de chip om te programmeren.
Code
Github
https://github.com/alojzjakob/A-Mazehttps://github.com/alojzjakob/A-MazeAangepaste onderdelen en behuizingen
Thingiverse
https://www.thingiverse.com/thing:2851100CAD-bestand op thingiverse.comSchema's



Productieproces
- DIY Photoshop-bewerkingsconsole met Arduino Nano RP 2040
- Arduino-gyroscoopspel met MPU-6050
- TeleBall Retro handheld gameconsole
- Handheld-gameconsole | Arduboy Clone
- Arduino Pong Game - OLED-scherm
- Arduino-gamecontroller
- Arduino Pong Game op 24x16 Matrix met MAX7219
- Arduino Touch Breakout-spel
- Giant Animatronics Lego Minfig Operation Game
- Pixel Chaser-game
- Geautomatiseerd Dino-spel met arduino