Taula de continguts:
- Pas 1: Llista de materials
- Pas 2: Biblioteca i càrrega de croquis
- Pas 3: Connexió de les parts: el connector VGA
- Pas 4: Connexió de les parts: el botó i els potenciòmetres
- Pas 5: Conclusió i agraïments
Vídeo: ESP8266 VGA Pong: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
En aquest Instructables mostraré com construir una reproducció del clàssic joc Pong per a un monitor VGA, utilitzant un ESP8266 i alguns altres components.
Aquest joc és possible gràcies a la biblioteca EspVGAx publicada recentment a GitHub per Sandro Maffiodo (també conegut com Smaffer) i, pel que sé, aquest és el primer joc que ho explota.
La biblioteca implementa una resolució de 512 x 480 píxels, emmagatzemada en un framebuffer dins de la memòria RAM, que requereix 30720 bytes. La resolució és enorme en comparació amb les Arduino TVout o les VGAx (128 x 96 i 120 x 60 píxels respectivament). Espero que aquest joc inspiri altres programadors a desenvolupar o reproduir jocs més complexos.
Pas 1: Llista de materials
La biblioteca EspVGAx requereix un ESP8266 amb tots els GPIO exposats, com ara ESP-12E, placa NodeMCU-12E o qualsevol placa que exposi GPIO5 (D1), GPIO4 (D2) i GPIO13 (D7)
En particular, he utilitzat:
- un ESP8266 NodeMCU-12E (enllaç aquí)
- un connector DSUB15 (és a dir, un connector femella VGA)
- una resistència de 330 Ohm
- una altra resistència (d'1 a 3 kOhm)
- dos potenciòmetres de 10 kOhm
- un polsador (n.o.)
- dos díodes (com ara 1N4007s)
- una pissarra
- cables
Vaig obtenir el connector DSUB15 d’una antiga placa de PC VGA. Com a alternativa, també podeu tallar un cable VGA antic i connectar els cables directament a la placa de control.
Pas 2: Biblioteca i càrrega de croquis
Hi ha diferents mètodes per programar i ESP8266; He utilitzat l'IDE Arduino per escriure Pong i penjar el codi.
Tingueu en compte que la biblioteca EspVGAx funciona per a Arduino IDE 1.8.1. Si teniu altres versions, el millor és descarregar els fitxers.zip i descomprimir-los en una carpeta dedicada. La versió per a Windows ja és aquí. Les versions per a altres sistemes operatius són aquí.
Després, hauríeu de descarregar la biblioteca EspVGAx de la pàgina GithHub aquí (enllaç directe per a la versió zip aquí) i descomprimir-la a les biblioteques de carpetes del programari Arduino.
NB Hi ha un petit error al fitxer espvgax_draw.h. Per corregir-lo, només cal substituir la línia 17:
while (x0% 32) {amb while (x0% 32 && sw> 32) {
Finalment, podeu descarregar ESP8266_Pong.rar al final d’aquest pas.
Un cop descomprimit, per carregar-lo al vostre ESP8266, heu de configurar l'IDE Arduino.
Si no ho heu fet mai, podeu trobar totes les instruccions necessàries en aquest manual, en particular al pas 2.
Un cop configurat tot, la configuració de l'ESP8266 hauria de ser semblant a la que es mostra a la imatge superior.
Si podeu penjar el codi sense errors, podeu començar a muntar les peces.
Pas 3: Connexió de les parts: el connector VGA
Us recomano connectar primer el port VGA, tal com es mostra a les imatges anteriors. Tingueu en compte que si connecteu els tres pins Vermell, Verd i Blau junts (és a dir, els pins 1, 2 i 3 del connector DSUB15), tindreu una imatge en blanc i negre a la pantalla. També podeu tenir diferents combinacions de colors. Vegeu els detalls a la pàgina Library GitHub.
A més, hauríeu de connectar una resistència de 330 Ohm entre els pins RGB i el D7 (GPIO13) de l’ESP8266. Això em va donar una imatge una mica grisenca al monitor, per la qual cosa, després de fer-ho, vaig decidir eliminar-la.
En aquest moment, si tot funciona correctament, ja podeu connectar el monitor i veure la pantalla inicial del joc, amb el bàner "ESP8266 VGAx Pong".
Pas 4: Connexió de les parts: el botó i els potenciòmetres
El botó ha d’estar connectat entre 3,3 V i el pin D0 (GPIO16). Connecteu també la resistència d'1 a 3 kOhm de D0 a terra. Això evita que D0 es trobi en un estat indeterminat quan el botó està obert.
La connexió dels dos potenciòmetres és menys trivial, de fet, l’ESP8266 només té un port d’entrada analògic A0 (ADC0). El truc és connectar les dues sortides de pot.s al mateix port i "multiplexar-les". Multiplexar significa simplement que engegueu un potenciòmetre, el llegiu, el desactiveu i passareu al segon.
Si voleu obtenir més informació sobre aquest mètode, podeu llegir aquest manual.
Connecteu un extrem de potenciòmetre a GND, l'altre extrem a D5 per al potenciòmetre del jugador esquerre i D6 per al jugador del dret.
Cada pin central del potenciòmetre ha de connectar-se a un díode individual i els altres costats dels díodes han d’estar connectats a A0 (ADC0), amb la polaritat que es mostra a la imatge anterior.
Pas 5: Conclusió i agraïments
Estic agraït a Sandro Maffiodo - SMAFFER - per la biblioteca ESPVGAX. Aquest joc no seria possible sense ell.
Espero que aquest Instructable sigui una inspiració per a altres programadors per fer reproduccions de jocs arcade clàssics més complexos amb l’ESP8266, que té moltes menys limitacions que l’Arduino.
Finalment, vaig escriure aquest instructiu per presentar-lo al concurs de joguines: si us agrada o el reproduïu, preneu-vos un moment per votar-lo.
Recomanat:
ESP8266 - Reg de jardí amb temporitzador i control remot via Internet / ESP8266: 7 passos (amb imatges)
ESP8266 - Reg per a jardins amb temporitzador i control remot via Internet / ESP8266: ESP8266 - Reg per control remot i amb temporització per a horts, jardins florals i gespes. Utilitza el circuit ESP-8266 i una vàlvula hidràulica / elèctrica per a l’alimentació del regador. Avantatges: comandaments d’accés ràpid de baix cost (~ 30,00 dòlars EUA)
PC bàsic Arduino amb sortida VGA: 5 passos (amb imatges)
PC bàsic Arduino amb sortida VGA: en el meu anterior instructable he mostrat com construir un ordinador retro de 8 bits amb BASIC, mitjançant dos Arduino, i amb un senyal de sortida en blanc i negre per a una pantalla de televisió. Ara mostraré com construir el mateix ordinador, però amb el senyal de sortida a
Escala intel·ligent de bricolatge amb despertador (amb Wi-Fi, ESP8266, Arduino IDE i Adafruit.io): 10 passos (amb imatges)
Bàscula intel·ligent de bricolatge amb despertador (amb Wi-Fi, ESP8266, Arduino IDE i Adafruit.io): en el meu projecte anterior, vaig desenvolupar una bàscula de bany intel·ligent amb Wi-Fi. Pot mesurar el pes de l'usuari, mostrar-lo localment i enviar-lo al núvol. Podeu obtenir més informació al respecte a l’enllaç següent: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge
Pantalla LED de barret amb Pong: 12 passos (amb imatges)
Pantalla LED de barret amb Pong: Fa un temps, com a primer projecte de microcontrolador, vaig fer un joc de Pong en una pantalla LED de 5x7, però després no en va passar res. Recentment se'm va donar un barret dur com a part d'un uniforme (per a una competició d'enginyeria) i em van dir que el personalitzés i vaig recordar