Inhoudsopgave:

Arduino Pocket Game Console + A-Maze - Maze Game - Ajarnpa
Arduino Pocket Game Console + A-Maze - Maze Game - Ajarnpa

Video: Arduino Pocket Game Console + A-Maze - Maze Game - Ajarnpa

Video: Arduino Pocket Game Console + A-Maze - Maze Game - Ajarnpa
Video: A-Maze - AJ's Amazing Amusing Arduino Maze Game v1 2024, November
Anonim
Arduino Pocket Game Console + A-Maze - Doolhofspel
Arduino Pocket Game Console + A-Maze - Doolhofspel

Welkom bij mijn eerste instructable

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 GEBRUIK VAN ATTINY13A

Stap 1: Prototyping van breadboard

Breadboard-prototyping
Breadboard-prototyping
Breadboard-prototyping
Breadboard-prototyping

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
  • Houders voor knoopcelbatterijen
  • Tuimelschakelaar
  • Draden
  • Prototype print (60x40mm)

Stap 3: Breadboard-bedrading / schema

Breadboard Bedrading / Schema
Breadboard Bedrading / Schema
Breadboard Bedrading / Schema
Breadboard Bedrading / Schema
Breadboard Bedrading / Schema
Breadboard Bedrading / Schema

Componenten aansluiten zoals weergegeven in bovenstaande afbeelding.

Toetsen:

  • UP-knop: Arduino pin 7
  • OMLAAG-knop: Arduino pin 6
  • LINKER knop: Arduino pin 9
  • RECHTER 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:

  • Zoemer positief: Arduino pin 3
  • Zoemer aarde: Arduino GND

Stap 4: Broncode

De broncode van de A-Maze-game is hier te vinden:

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.

Ga voor meer info naar deze link:

Stap 5: Zie het in actie

Image
Image

Stap 6: Case en miniaturisatie

Kast en Miniaturisatie
Kast en Miniaturisatie
Kast en Miniaturisatie
Kast 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:

In de bovenstaande afbeeldingen 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 zichtbaar onder het scherm. Als je klaar bent met solderen, doe dan wat isolatietape onder het scherm om kortsluiting ed te voorkomen.

ICSP-header is optioneel, en als u besluit deze niet bloot te leggen, wordt uw montage veel gemakkelijker, 6 verbindingen minder om voor te zorgen, maar programmeer eerst de chip voordat u hem soldeert, of gebruik een 28-pins DIP-socket zodat u gemakkelijk verwijder de chip om te programmeren.

Wedstrijd in zakformaat
Wedstrijd in zakformaat
Wedstrijd in zakformaat
Wedstrijd in zakformaat

Tweede plaats in de wedstrijd in zakformaat