Console de jeu Arduino portable A-Maze : Jeu de labyrinthe généré aléatoirement
Composants nécessaires
- 1 × Arduino Pro Mini 328 - 5V/16MHz (ou ATmega328P sur breadboard)
- 1 × Écran OLED SSD1306 128x64 (I²C)
- 7 × Boutons poussoirs 12mm (directionnels + A, B, Start)
- 2 × Supports de pile bouton CR2032
- 1 × Interrupteur à glissière (alimentation)
- 1 × Buzzer piézoélectrique
- 1 × PCB de prototypage 60x40mm
- 1 × Prise ICSP 6 broches (optionnelle, pour reprogrammer)
- Fils, étain, fer à souder
Outils
- Fer à souder
- Arduino IDE (ou programmateur USBasp / Arduino as ISP)
- Imprimante 3D (optionnelle, pour le boîtier Thingiverse #2851100)
Concept du jeu
A-Maze est une console de jeu miniature style Arduboy. Le jeu génère un nouveau labyrinthe aléatoire à chaque niveau grâce à l'algorithme de "bâton tombé" (Bo-Taoshi), adapté pour la mémoire limitée de l'ATmega328P. Le joueur navigue dans le labyrinthe avec les 4 boutons directionnels ; les boutons A/B/Start servent pour les menus et actions futures. Le code est flashable via l'en-tête ICSP, permettant d'ajouter d'autres jeux.
Câblage (broches Arduino Pro Mini)
- Boutons : Haut → D7, Bas → D6, Gauche → D9, Droite → D8, A → D5, B → D4, Start → D2
- OLED SSD1306 : SCL → A5, SDA → A4, VCC → VCC, GND → GND
- Buzzer : + → D3, - → GND
- Alimentation : 2 piles CR2032 en série (6V) → interrupteur → RAW (ou VCC si 5V), GND → GND
Code source
Le code complet est disponible sur GitHub : https://github.com/alojzjakob/A-Maze
Ouvrez le fichier .ino dans l'Arduino IDE, sélectionnez la carte "Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega328P", et téléversez via un programmateur ISP (USBasp recommandé) ou un Arduino Uno en mode "ArduinoISP". Si vous utilisez l'oscillateur interne 8MHz, ajustez les fusibles (voir tutoriel ArduinoToBreadboard).
Assemblage sur PCB
Soudez les composants sur le PCB 60x40mm en suivant le schéma. Placez les fils des boutons sous les supports de piles pour un profil bas. Isolez le dessous de l'écran OLED avec du ruban adhésif pour éviter les courts-circuits avec les pattes de l'ATmega. L'en-tête ICSP est optionnelle mais recommandée pour les mises à jour futures.
Boîtier imprimable en 3D
Fichier Thingiverse : https://www.thingiverse.com/thing:2851100
Évolution possible
- Ajouter d'autres jeux (Tetris, Snake, Pong) en utilisant la même plateforme.
- Intégrer une batterie LiPo rechargeable avec circuit de charge TP4056.
- Concevoir un PCB personnalisé pour une finition professionnelle.
Processus de fabrication
- Construire une console de contrôle Photoshop DIY avec Arduino Nano RP2040
- Construire un jeu gyroscopique temps réel avec Arduino Nano et capteur MPU-6050
- TeleBall : Console de jeu rétro portable DIY (Arduino Nano) – Breakout & Tennis à deux
- Construire une console de jeu portable Arduboy DIY (Arduino Micro + PCB)
- Créer un jeu Pong classique sur Arduino UNO avec écran OLED – Tutoriel étape par étape
- Manette de jeu USB Arduino DIY – Construisez votre propre gamepad haute performance
- Construire une console Pong 24×16 LED avec Arduino Nano et MAX7219
- Jeu Breakout tactile Arduino : recréez l'arcade classique sur écran TFT 2,4″
- Construire un jeu « Opération » géant animé type Lego Minifigure avec Arduino