Table des matières:

PC de base ESP32 avec sortie VGA : 7 étapes
PC de base ESP32 avec sortie VGA : 7 étapes

Vidéo: PC de base ESP32 avec sortie VGA : 7 étapes

Vidéo: PC de base ESP32 avec sortie VGA : 7 étapes
Vidéo: Premiers tests pour bien débuter avec l'ESP32 [ESP32 #1] 2024, Novembre
Anonim
Image
Image
Cartes ESP32, installation Arduino IDE et configuration de la bibliothèque VGA
Cartes ESP32, installation Arduino IDE et configuration de la bibliothèque VGA

Dans ce Instructable, je vais montrer comment construire un simple PC de style rétro fait avec un seul ESP32 et quelques autres composants.

Ce PC exécute Tiny Basic, un dialecte simplifié de BASIC, et génère la sortie pour un moniteur VGA.

La résolution est de 640x350 pixels, permettant 80x25 caractères asci en 8 couleurs. Un clavier PS2 peut être connecté et utilisé pour écrire le code, permettant jusqu'à 14059 octets de mémoire.

Les broches d'E/S de l'ESP32 peuvent être directement pilotées par des commandes BASIC dédiées.

Ce projet est rendu possible grâce à l'impressionnante bibliothèque ESP32 VGA écrite par Fabrizio Di Vittorio. Voir ici pour plus de détails.

Étape 1: cartes ESP32, installation IDE Arduino et configuration de la bibliothèque VGA

Cartes ESP32, installation Arduino IDE et configuration de la bibliothèque VGA
Cartes ESP32, installation Arduino IDE et configuration de la bibliothèque VGA
Cartes ESP32, installation Arduino IDE et configuration de la bibliothèque VGA
Cartes ESP32, installation Arduino IDE et configuration de la bibliothèque VGA

Tout d'abord, vous devez acheter un ESP32 révision 1 ou supérieure. Il existe de nombreuses versions disponibles, mais je recommande d'en choisir une avec plusieurs broches. J'utilise cette version, mais je pense que beaucoup d'autres vont bien aussi. Par exemple, dans la description de cette vidéo, vous pouvez trouver trois autres modèles à moins de 5 dollars.

Une fois que vous obtenez le tableau, vous devez procéder aux trois sous-étapes suivantes:

  1. Installer le dernier IDE Arduino
  2. Configurez l'ESP32 dans l'IDE et
  3. Installer la bibliothèque VGA

Sous-étape 1.

Il existe différentes méthodes pour programmer l'ESP32, mais ici, vous devez utiliser le dernier IDE Arduino (j'utilise la version 1.8.9). Pour l'installer, vous pouvez aller sur la page Arduino IDE et suivre les instructions.

Sous-étape 2

Une fois l'opération précédente effectuée, vous devez configurer votre ESP32 au sein de l'IDE Arduino. Ce n'est pas anodin, puisque l'ESP32 n'est pas (encore ?) native dedans. Vous pouvez suivre ce tutoriel ou les étapes suivantes.

1) ouvrez l'IDE Arduino

2) ouvrez la fenêtre des préférences, Fichier/Préférence, ou appuyez sur "Ctrl+virgule"

3) allez dans les « URL supplémentaires du gestionnaire de cartes », copiez et collez le texte suivant:

https://dl.espressif.com/dl/package_esp32_index.json

et cliquez sur le bouton OK.

4) Ouvrez le gestionnaire de tableaux. Allez dans Outils/Carte/Gestionnaire de cartes…

5) Recherchez ESP32 et appuyez sur le bouton d'installation de « ESP32 by Espressif Systems »:

6) À ce stade, lorsque vous connectez pour la première fois votre ESP32, vous devez choisir le bon modèle dans la longue liste de cartes ESP32 disponibles (voir l'image dans cette étape). En cas de doute sur le modèle, il suffit de choisir le générique, c'est-à-dire le premier. Ça marche pour moi.

7) le système doit également choisir le bon port USB et la vitesse de téléchargement (normalement 921600). À ce stade, la connexion entre votre PC et la carte ESP32 doit être établie.

Sous-étape 3

Enfin, vous devez installer la bibliothèque FabGL VGA. [mise à jour juillet 2019] Vous avez besoin d'une ancienne version de cette bibliothèque: vous pouvez télécharger le fichier zip src.old.zip en bas de cette étape, décompresser et renommer le dossier en "src" dans votre

Dossier " …\arduino-1.8.9\libraries ".

Une fois que vous avez effectué ces opérations, vous pouvez passer à l'étape suivante et télécharger le TinyBasic modifié à la suite de l'étape suivante.

Étape 2: Téléchargement du code de base Tiny vers l'ESP32

Téléchargement du code de base Tiny vers l'ESP32
Téléchargement du code de base Tiny vers l'ESP32
Téléchargement du code de base Tiny vers l'ESP32
Téléchargement du code de base Tiny vers l'ESP32

Téléchargez ESP32_TinyBasicPlus_PS2_FabLab_beta.ino au bas de cette étape.

Ouvrez-le avec l'IDE Arduino et téléchargez-le sur votre ESP32 brut.

Si vous n'avez aucun message d'erreur, le code devrait déjà être en cours d'exécution.

Etape facultative: si vous souhaitez tester TinyBasic avant de connecter le clavier VGA et PS2, vous pouvez déjà le faire avec un client SSH et telnet. J'utilise PuTTY.

Vous pouvez voir à quoi cela ressemble dans les images de cette étape.

Étape 3: connexion du port VGA

Connexion du port VGA
Connexion du port VGA

Vous avez besoin des pièces suivantes:

  • un connecteur DSUB15, c'est-à-dire un connecteur VGA femelle ou un câble VGA à couper.
  • trois résistances de 270 Ohm.

Connectez les broches ESP32 GPIO 2, 15 et 21 aux VGA Rouge, Vert et Bleu respectivement, via les résistances de 270 Ohm.

Connectez le VGA Hsync et le Vsync aux broches ESP32 GPIO 17 et 4 respectivement.

Connectez les broches 5, 6, 7, 8 et 10 des connecteurs DSUB15 à ESP32 GND.

Pour la définition des broches du connecteur VGA DSUB15, voir l'image de cette étape. Attention, il s'agit du côté soudure du connecteur femelle.

Étape 4: connexion du port PS2

Connexion du port PS2
Connexion du port PS2

Vous avez besoin d'un connecteur femelle pour clavier PS2.

Vous pouvez en obtenir un à partir d'une ancienne carte mère de PC, il suffit de le revendre avec un pistolet thermique. Dans l'image montrée dans cette étape, vous pouvez trouver la fonction des broches nécessaires du connecteur PS2.

Les connexions sont:

  • Données du clavier vers ESP32 GPIO broche 32
  • Clavier IRQ (horloge) vers ESP32 GPIO broche 33
  • Vous devez également connecter la broche 5V et la broche GND.

Étape 5: Programmation avec Tiny Basic

Programmation avec Tiny Basic
Programmation avec Tiny Basic
Programmation avec Tiny Basic
Programmation avec Tiny Basic

À ce stade, si vous pouvez connecter le moniteur VGA et le clavier PS2 et l'ESP32 à l'alimentation.

L'image montrée ici devrait apparaître sur le moniteur. Maintenant, vous pouvez jouer un peu avec les commandes Tiny Basic.

Essayez, par exemple, l'obligatoire Hello, Word! boucle infinie:

10 imprimés « Bonjour, le monde ! »

20 aller à 10

Cours

Vous pouvez changer en quatre couleurs différentes en appuyant sur le bouton esc et arrêter la boucle avec ctrl+c

Notez que si vous faites une faute de frappe, vous ne pouvez pas l'annuler ! Ou mieux, vous pouvez annuler mais la correction de faute de frappe n'est pas reconnue. Vous devez réécrire toute la ligne de commande.

Vous pouvez maintenant essayer quelque chose de plus complexe, comme piloter le clignotement d'une LED avec un programme de base. Connectez, par exemple, l'anode LED (la longue jambe) à la broche ESP32 GPIO 13 et la cathode à GND.

Puis écrire:

Nouveau

10 i=1000

20 imprimer je

30 retard je

40 écriture 13, haute

50 retard je

60 écriture 13, faible

70 i=i*9/10

80 si i>0 passe à 20

90 fin

Cours

Vous pouvez voir le résultat dans la vidéo intégrée dans ce Instructable.

Étape 6: connexion d'une carte mémoire SD

Connexion d'une carte mémoire SD
Connexion d'une carte mémoire SD
Connexion d'une carte mémoire SD
Connexion d'une carte mémoire SD

Un PC vintage, peu importe qu'il soit petit et faible, ne peut être complet si vous ne pouvez pas stocker vos programmes en permanence.

Dans cette étape je vais vous montrer comment brancher une carte mémoire SD, mais malheureusement, pour le moment (j'espère seulement pour le moment), le stockage des programmes ne fonctionne pas !

BTW, j'ai utilisé un adaptateur microSD vers carte SD et j'ai soudé 8 broches en forme de L comme indiqué sur l'image de cette étape.

J'ai ensuite connecté les broches des adaptateurs SD à l'ESP32 selon la deuxième image, c'est-à-dire que j'ai connecté les broches ESP32 GPIO 5, 18, 19, 23 à SC, horloge, MISO, MOSO respectivement, plus 3.3V et deux GND.

J'ai également suivi les instructions et les exemples trouvés ici, et avec l'exemple de code SD_test.ino, je peux écrire sur ma carte microSD de 2 Go.

Ainsi, si quelqu'un trouve une solution, veuillez m'en informer dès que possible à mon email [email protected] et je compléterai ce Instructable.

Étape 7: Remerciements

Remerciements
Remerciements

Je souhaite exprimer mes remerciements à Fabrizio Di Vittorio pour son impressionnante bibliothèque ESP32 VGA. Pour plus de détails, d'exemples, et… Space Invaders, visitez son site ici.

un grand merci également aux auteurs de Tiny Basic:

  • Mike Champ
  • Laurent Laurent
  • Brian O'Dell

Enfin, si vous aimez ce projet, écrivez un commentaire ou partagez une photo de l'appareil que vous construisez… et, surtout, votez pour lui au concours Arduino !

Conseillé: