Console de jeu Arduino Pocket + A-Maze - Maze Game
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 7 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
À propos de ce projet
Bienvenue dans mon premier tutoriel !
Le projet que je souhaite partager avec vous aujourd'hui est le jeu de labyrinthe Arduino, qui est devenu une console de poche aussi performante qu'Arduboy et des consoles similaires basées sur Arduino. Il peut être flashé avec mes (ou vos) futurs jeux grâce à l'en-tête ICSP exposé.
J'ai eu l'idée il y a quelques mois de créer un jeu de labyrinthe sur Arduino, mais sans ensemble de labyrinthes codés en dur. Il devrait être capable de générer un nouveau labyrinthe pour chaque niveau auquel vous jouez, ainsi vous ne verrez plus jamais le même labyrinthe :)
Le codage était un peu un défi, car Arduino est limité en mémoire RAM, puis j'ai trouvé quelques exemples de la façon dont cela peut être fait avec un simple algorithme Bo-Taoshi.
Code que j'ai utilisé comme point de départ que j'ai repris par SANUKI UDON et son projet COMMENT FAIRE UN GÉNÉRATEUR DE LABYRINTHE EN UTILISANT ATTINY13A
Étape 1 : prototypage de la planche à pain
Mon point de départ était avec une petite planche à pain avec seulement 4 boutons connectés pour se déplacer dans le labyrinthe, mais plus tard, quand j'ai décidé que ce devrait être une console de jeu, j'ai ajouté quelques boutons supplémentaires. Sur une plus grande maquette, vous pouvez voir 2 autres boutons, et plus tard j'en ai ajouté un troisième à utiliser comme bouton de démarrage/pause/menu
Étape 2 : pièces nécessaires
- Puce Arduino pro mini / Arduino Uno / Atmega328P
- Prise DIP 28 broches (en option)
- Écran OLED SSD1306
- Enceinte piézo
- Boutons poussoirs - 7 pièces
- Supports de pile bouton
- Interrupteur à bascule
- Fils
- Prototype de circuit imprimé (60 x 40 mm)
Étape 3 : Câblage de la planche à pain/Schéma
Connexion des composants comme indiqué dans le schéma ci-dessus.
Boutons :
- Bouton UP :broche 7 de l'Arduino
- Bouton BAS :broche Arduino 6
- Bouton GAUCHE :broche Arduino 9
- Bouton DROIT :broche Arduino 8
- Bouton A :broche 5 de l'Arduino
- Bouton B :broche Arduino 4
- Bouton START :broche Arduino 2
Écran OLED SSD1306 :
- SCL :broche Arduino A5
- SDA :broche Arduino A4
- VCC :Arduino VCC
- GND :Arduino GND
Avertisseur :
- Buzzer positif :broche 3 de l'Arduino
- Buzzer masse :Arduino GND
Étape 4 : Code source
Le code source du jeu A-Maze peut être trouvé ici :https://github.com/alojzjakob/A-Maze
Ouvrez dans Arduino IDE et téléchargez sur votre carte ou utilisez le programmeur ISP pour programmer votre puce.
Je recommande d'utiliser USBTIny ISP, je n'ai jamais eu de problèmes avec :) mais vous pouvez également utiliser un Arduino ordinaire pour programmer votre puce.
Dans mon cas, je n'ai pas utilisé de cristal externe, donc ma puce Atmega328p fonctionne sur un oscillateur interne de 8MhZ.
Pour plus d'informations, visitez ce lien :https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard.
Étape 5 : le voir en action
Étape 6 : boîtier et miniaturisation
Si vous voulez rendre ce projet permanent, avec un joli boîtier, voici le simple boîtier imprimable en 3D que j'ai conçu :https://www.thingverse.com/thing:2851100
Dans les images ci-dessus, vous pouvez voir comment tous les composants sont disposés sur le prototype de PCB 4x6.
La plupart des câbles des boutons passent sous les supports de batterie, essayez de le rendre aussi simple que possible, de sorte que les supports de batterie puissent avoir un ajustement relativement affleurant au-dessus de la carte avec des fils entre les deux.
Je recommande également de faire d'autres câblages sous l'écran, car les pattes de la puce Atmega sont soudées et exposées sous l'écran. Lorsque vous avez terminé de souder, placez du ruban isolant sous l'écran pour éviter les courts-circuits, etc.
L'en-tête ICSP est facultatif, et si vous décidez de ne pas l'exposer, cela rendra votre assemblage beaucoup plus facile, 6 connexions de moins à prendre en charge, mais programmez d'abord la puce avant de la souder, ou utilisez une prise DIP à 28 broches pour que vous puissiez facilement retirer la puce pour la programmation.
Code
Github
https://github.com/alojzjakob/A-Mazehttps://github.com/alojzjakob/A-MazePièces et boîtiers personnalisés
Thingverse
https://www.thingverse.com/thing:2851100CAD fichier sur thingverse.comSchémas
Processus de fabrication
- Console d'édition Photoshop DIY utilisant Arduino Nano RP 2040
- Jeu de gyroscope Arduino avec MPU-6050
- Console de jeu portable TeleBall Retro
- Console de jeu portable | Clone Arduboy
- Jeu Arduino Pong - Écran OLED
- Contrôleur de jeu Arduino
- Jeu Arduino Pong sur matrice 24x16 avec MAX7219
- Arduino Touch Breakout Game
- Giant Animatronics Lego Minfig Operation Game