Table des matières:

Console de jeu portable ESP32 : 21 étapes (avec photos)
Console de jeu portable ESP32 : 21 étapes (avec photos)

Vidéo: Console de jeu portable ESP32 : 21 étapes (avec photos)

Vidéo: Console de jeu portable ESP32 : 21 étapes (avec photos)
Vidéo: La meilleure méthode pour héberger une interface web sur ESP32? (version avancée) [ESP32 Ép#4] 2024, Juillet
Anonim
Image
Image
Préparation du matériel
Préparation du matériel

Ces instructables montrent comment utiliser un ESP32 et un ATtiny861 pour construire une console de jeu émulateur NES.

Étape 1: Préparation du matériel

Préparation du matériel
Préparation du matériel
Préparation du matériel
Préparation du matériel

Carte de développement ESP32

Cette fois, j'utilise une carte de développement TTGO T8 ESP32. Cette carte a un circuit de charge et de régulation Lipo intégré, elle peut aider à réduire les composants supplémentaires.

Affichage

Cette fois, j'utilise un écran LCD IPS de 2,4 . Le contrôleur de pilote est ST7789V et la résolution est de 320 x 240. Cette résolution convient mieux à la résolution 252 x 224 de l'émulateur NES.

Batterie

Cette fois, j'utilise une batterie Lipo 454261. 4,5 mm est l'épaisseur de la carte de développement ESP32 et 61 mm est la largeur de la carte.

En-tête de broche

Un en-tête à broche ronde mâle à 4 broches et un en-tête à broche ronde femelle à 4 broches pour connecter la manette de jeu I2C.

Plaque PETG

Une petite plaque PET/PETG pour supporter la carte de développement et la batterie Lipo, vous pouvez la trouver facilement dans l'emballage du produit.

PCB à usages multiples

2 PCB requis, 1 0,4 mm d'épaisseur pour supporter l'écran, 1 1,2 mm d'épaisseur pour une manette de jeu I2C.

Boutons

Un bouton 5 directions, 2 petits boutons pour Select et Start et 2 pour le bouton A et B.

Contrôleur de manette de jeu I2C

Cette fois, j'utilise un microcontrôleur ATtiny861 comme contrôleur de manette de jeu I2C.

Autres

1 résistance SMD 12 Ohm, un programmeur ISP (par exemple TinyISP)

Étape 2: Préparation du logiciel

Préparation du logiciel
Préparation du logiciel
Préparation du logiciel
Préparation du logiciel
Préparation du logiciel
Préparation du logiciel

IDE Arduino

Téléchargez et installez Arduino IDE si ce n'est pas encore fait:

Assistance ATTinyCore

Suivez les étapes d'installation pour ajouter le support ATTinyCore si ce n'est pas encore fait:

ESP-IDF

Suivez le guide de démarrage ESP-IDF pour configurer l'environnement de développement si ce n'est pas encore fait:

Étape 3: Impression 3D

impression en 3D
impression en 3D

Téléchargez et imprimez le boîtier:

Étape 4: Prise en charge de l'écran LCD

Prise en charge des écrans LCD
Prise en charge des écrans LCD
Prise en charge des écrans LCD
Prise en charge des écrans LCD

Découpez un PCB 24 x 27 trous 0,4 mm pour support LCD. N'oubliez pas de réserver un peu d'espace pour le pliage du FPC LCD. Ensuite, utilisez du ruban adhésif double face pour fixer l'écran LCD sur le PCB.

Étape 5: préparer la plaque PETG

Préparer la plaque PETG
Préparer la plaque PETG
Préparer la plaque PETG
Préparer la plaque PETG

Découpez une plaque PETG de 62 mm x 69 mm pour la carte de développement et le support de batterie Lipo.

Étape 6: Correction de la carte de développement ESP32

Correction de la carte de développement ESP32
Correction de la carte de développement ESP32

Utilisez du ruban adhésif double face pour fixer la carte de développement sur la plaque PETG.

Étape 7: Réparer la batterie Lipo

Réparer la batterie Lipo
Réparer la batterie Lipo

Utilisez du ruban adhésif double face pour fixer la batterie Lipo en plus de la carte de développement.

Étape 8: Connectez la batterie et la carte de développement

Connecter la batterie et la carte de développement
Connecter la batterie et la carte de développement

Étape 9: préparer les broches d'affichage

Préparer les épingles d'affichage
Préparer les épingles d'affichage

Les écrans LCD ont de nombreuses variantes de différents fournisseurs. Veuillez obtenir la fiche technique correcte et la lire avant tout patch et connexion.

Certaines broches sont réservées à l'écran tactile. Étant donné que cet écran LCD n'a pas d'écran tactile, il suffit de découper ces broches pour réduire les perturbations.

Étape 10: Connectez les broches GND

Connectez les broches GND
Connectez les broches GND
Connectez les broches GND
Connectez les broches GND

Dans la plupart des cas, il y a peu de broches à connecter à GND. Pour réduire l'effort de soudure, j'ai coupé une forme de ruban de cuivre pour atteindre toutes les broches GND, puis j'ai soudé complètement.

Étape 11: connectez les broches Vcc

Connectez les broches Vcc
Connectez les broches Vcc

Il y a 2 broches requises pour se connecter à Vcc, à l'alimentation LCD et à l'alimentation LED. Selon la fiche technique, l'alimentation LCD peut se connecter directement à la broche 3,3 V de la carte de développement, mais l'alimentation LED fonctionne un peu en dessous de 3,3 V. Il est donc préférable d'ajouter une résistance SMD au milieu, par ex. Résistance de 12 Ohms.

Étape 12: Connectez le support LCD et Dev Board

Connecter l'écran LCD et la carte de développement
Connecter l'écran LCD et la carte de développement

utilisez ensemble le support LCD et le support de la carte de développement pour connecter la bande. Les deux supports doivent réserver un espace d'environ 5 mm pour le pliage.

Étape 13: connectez les broches SPI

Connectez les broches SPI
Connectez les broches SPI

Voici le résumé de la connexion:

ACL ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> non connecté Vcc -> 3.3 V LED+ -> résistance 12 Ohm -> 3.3 V LED - -> TERRE

Étape 14: Programme Flash

Programme Flash
Programme Flash
Programme Flash
Programme Flash
Programme Flash
Programme Flash
Programme Flash
Programme Flash
  1. Téléchargez le code source sur GitHub:
  2. Sous le dossier du code source, exécutez "make menuconfig"
  3. Sélectionnez "Configuration spécifique à Nofrendo ESP32"
  4. Sélectionnez "Matériel sur lequel s'exécuter" -> "Matériel personnalisé"
  5. Sélectionnez "Type d'écran LCD" -> "LCD ST7789V"
  6. Paramètres de broche de remplissage: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Rétroéclairage -> -1, IPS -> Y
  7. Quitter et enregistrer
  8. Exécutez "make -j5 flash"
  9. Exécutez "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

Étape 15: Connecteur I2C

Connecteur I2C
Connecteur I2C
Connecteur I2C
Connecteur I2C
Connecteur I2C
Connecteur I2C

Découpez les broches I2C, les broches I2C par défaut de l'ESP32 sont:

Broche 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (pas d'alimentation 5 V lorsqu'il est alimenté par la batterie Lipo) Pin 4 (GND) -> GND

Étape 16: Assemblage Partie 1

Image
Image

Suivez les étapes de la vidéo pour plier et presser toutes les pièces dans le boîtier.

Étape 17: Prototype de manette de jeu I2C

Manette de jeu prototype I2C
Manette de jeu prototype I2C
Manette de jeu prototype I2C
Manette de jeu prototype I2C

Le programme de la manette de jeu I2C est très simple, seulement 15 lignes de code. Mais il est un peu difficile de reprogrammer l'ATtiny861 après la soudure, il est donc préférable de le tester d'abord sur la maquette.

Téléchargez, compilez et flashez le programme depuis GitHub:

Étape 18: Construisez la manette de jeu I2C

Construire une manette de jeu I2C
Construire une manette de jeu I2C
Construire une manette de jeu I2C
Construire une manette de jeu I2C
Construire une manette de jeu I2C
Construire une manette de jeu I2C

Voici le résumé de la connexion:

Bouton ATtiny861

GND -> Tous les boutons une broche Pin 20 (PA0) -> Bouton Haut Pin 19 (PA1) -> Bouton Bas Pin 18 (PA2) -> Bouton Gauche Pin 17 (PA3) -> Bouton Droit Pin 14 (PA4) -> Bouton de sélection Broche 13 (PA5) -> Bouton de démarrage Broche 12 (PA6) -> Bouton A Broche 11 (PA7) -> Bouton B Broche 6 (GND) -> I2C mâle broche en-tête broche 4 Broche 5 (Vcc) -> I2C broche mâle en-tête broche 3 broche 3 (SCL) -> I2C broche mâle en-tête broche 1 broche 1 (SDA) -> I2C broche en-tête mâle broche 2

Étape 19: Assemblage Partie 2

Image
Image
Facultatif: broches de dérivation audio
Facultatif: broches de dérivation audio

Suivez les étapes de la vidéo pour installer le couvercle et la manette de jeu I2C sur le corps principal.

Étape 20: Facultatif: Broches de dérivation audio

Image
Image
Facultatif: broches de dérivation audio
Facultatif: broches de dérivation audio

Carte de développement ESP32 Les broches 25 et 26 produisent le signal audio analogique, il est très facile de casser ces 2 broches ainsi que les broches d'alimentation (3,3 V et GND) sur le dessus. Ensuite, vous pouvez patcher un écouteur pour le brancher. Ou même vous pouvez ajouter un module amplificateur audio avec haut-parleur pour le jouer fort.

Étape 21: Quelle est la prochaine étape ?

Et après?
Et après?

L'émulateur NES n'est pas la seule chose intéressante que vous puissiez faire avec ESP32. Par exemple. vous pouvez créer une console micro python avec. Le seul composant que vous devez changer est de passer de la manette de jeu I2C au clavier I2C. Je pense qu'il n'est pas si difficile de le faire avec un contrôleur ATtiny88. Vous pouvez suivre mon twitter pour voir le statut.

Conseillé: