Arduino Pocket-Spielkonsole + A-Maze - Labyrinth-Spiel
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 1 | ||||
| × | 7 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
Über dieses Projekt
Willkommen zu meinem ersten Tutorial!
Das Projekt, das ich heute mit Ihnen teilen möchte, ist das Arduino-Labyrinth-Spiel, das zu einer Taschenkonsole wurde, die so leistungsfähig ist wie Arduboy und ähnliche Arduino-basierte Konsolen. Es kann dank des sichtbaren ICSP-Headers mit meinen (oder Ihren) zukünftigen Spielen geflasht werden.
Ich hatte vor einigen Monaten die Idee, ein Labyrinth-Spiel auf Arduino zu bauen, aber ohne hartcodierte Labyrinthe. Es sollte in der Lage sein, für jedes Level, das du spielst, ein neues Labyrinth zu erstellen, damit du das gleiche Labyrinth nie wieder siehst :)
Dies zu codieren war eine kleine Herausforderung, da Arduino nur über einen begrenzten RAM-Speicher verfügt, und dann habe ich einige Beispiele gefunden, wie dies mit dem einfachen Bo-Taoshi-Algorithmus möglich ist.
Code, den ich als Ausgangspunkt verwendet habe, den ich von SANUKI UDON und seinem Projekt genommen habe, WIE MAN EINEN MAZE GENERATOR MIT ATTINY13A HERSTELLT
Schritt 1:Breadboard-Prototyping
Mein Ausgangspunkt war ein kleines Steckbrett mit nur 4 Tasten, die verbunden waren, um sich durch das Labyrinth zu bewegen, aber später, als ich entschied, dass es eine Spielkonsole sein sollte, fügte ich ein paar weitere Tasten hinzu. Auf einem größeren Steckbrett sieht man 2 weitere Tasten, und später habe ich eine dritte hinzugefügt, die als Start/Pause/Menü-Taste verwendet werden kann
Schritt 2:Benötigte Teile
- Arduino pro mini / Arduino Uno / Atmega328P-Chip
- 28-polige DIP-Buchse (optional)
- SSD1306 OLED-Display
- Piezo-Lautsprecher
- Druckknöpfe - 7 Stück
- Knopfzellenbatteriehalter
- Kippschalter
- Drähte
- Prototyp-Leiterplatte (60x40mm)
Schritt 3:Steckbrettverdrahtung / Schaltplan
Anschließen der Komponenten wie im obigen Diagramm gezeigt.
Tasten:
- UP-Taste:Arduino-Pin 7
- DOWN-Taste:Arduino-Pin 6
- LINKE Taste:Arduino Pin 9
- RECHTE Taste:Arduino Pin 8
- Ein Knopf:Arduino Pin 5
- B-Taste:Arduino-Pin 4
- START-Taste:Arduino-Pin 2
SSD1306 OLED-Bildschirm:
- SCL:Arduino-Pin A5
- SDA:Arduino-Pin A4
- VCC:Arduino-VCC
- GND:Arduino-GND
Summer:
- Summer positiv:Arduino Pin 3
- Summer-Masse:Arduino GND
Schritt 4:Quellcode
Den Quellcode des A-Maze-Spiels finden Sie hier:https://github.com/alojzjakob/A-Maze
Öffnen Sie in Arduino IDE und laden Sie es auf Ihr Board hoch oder verwenden Sie den ISP-Programmierer, um Ihren Chip zu programmieren.
Ich empfehle die Verwendung von USBTIny ISP, hatte noch nie Probleme damit :) aber Sie können auch normales Arduino verwenden, um Ihren Chip zu programmieren.
In meinem Fall habe ich keinen externen Quarz verwendet, daher arbeitet mein Atmega328p-Chip mit einem internen Oszillator von 8 MHz.
Weitere Informationen finden Sie unter diesem Link:https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard.
Schritt 5:Sehen Sie es in Aktion
Schritt 6:Gehäuse und Miniaturisierung
Wenn Sie dieses Projekt mit einer gut aussehenden Hülle dauerhaft machen möchten, ist hier die einfache 3D-druckbare Hülle, die ich entworfen habe:https://www.thingiverse.com/thing:2851100
In den obigen Bildern sehen Sie, wie alle Komponenten auf der 4x6-Prototypplatine angeordnet sind.
Die meisten Tastenverkabelungen verlaufen unter den Batteriehaltern, versuchen Sie es so einfach wie möglich zu machen, damit die Batteriehalter mit Drähten dazwischen relativ bündig über der Platine sitzen können.
Ich empfehle auch, andere Verdrahtungen unter dem Bildschirm vorzunehmen, da die Beine des Atmega-Chips gelötet und unter dem Bildschirm freigelegt sind. Wenn Sie mit dem Löten fertig sind, legen Sie etwas Isolierband unter den Bildschirm, um Kurzschlüsse usw. zu vermeiden.
ICSP-Header ist optional, und wenn Sie sich entscheiden, ihn nicht freizulegen, wird Ihre Montage viel einfacher, 6 Verbindungen weniger zu pflegen, aber programmieren Sie den Chip zuerst, bevor Sie ihn löten, oder verwenden Sie einen 28-Pin-DIP-Sockel, damit Sie es einfach können Entfernen Sie den Chip zum Programmieren.
Code
Github
https://github.com/alojzjakob/A-Mazehttps://github.com/alojzjakob/A-MazeKundenspezifische Teile und Gehäuse
Thingiverse
https://www.thingiverse.com/thing:2851100CAD-Datei auf thingiverse.comSchaltpläne
Herstellungsprozess
- DIY Photoshop-Bearbeitungskonsole mit Arduino Nano RP 2040
- Arduino-Gyroskop-Spiel mit MPU-6050
- TeleBall Retro-Handheld-Spielkonsole
- Handheld-Spielkonsole | Arduboy-Klon
- Arduino Pong-Spiel - OLED-Display
- Arduino-Gamecontroller
- Arduino-Pong-Spiel auf einer 24x16-Matrix mit MAX7219
- Arduino Touch Breakout-Spiel
- Giant Animatronics Lego Minfig Operationsspiel
- Pixel-Chaser-Spiel