Sisällysluettelo:
- Vaihe 1: Materiaaliluettelo
- Vaihe 2: Kirjasto ja luonnoslataus
- Vaihe 3: Osien liittäminen: VGA -liitin
- Vaihe 4: Osien liittäminen: potentiometrit ja painike
- Vaihe 5: Johtopäätös ja kiitokset
Video: ESP8266 VGA Pong: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tässä ohjekirjassa näytän kuinka rakentaa kopio klassisesta Pong -pelistä VGA -näytölle käyttämällä ESP8266: ta ja muutamia muita komponentteja.
Tämän pelin tekee mahdolliseksi Sandro Maffiodon (alias Smaffer) äskettäin GitHubissa julkaisema EspVGAx -kirjasto, ja tietääkseni tämä on ensimmäinen peli, joka hyödyntää sitä.
Kirjasto toteuttaa resoluution 512 x 480 pikseliä, joka on tallennettu RAM -muistin sisäiseen kehyspuskuriin, mikä vaatii 30720 tavua. Resoluutio on valtava verrattuna Arduino TVout- tai VGAx -televisioihin (128 x 96 ja 120 x 60 pikseliä). Toivon, että tämä peli inspiroi muita ohjelmoijia kehittämään tai toistamaan monimutkaisempia pelejä.
Vaihe 1: Materiaaliluettelo
EspVGAx-kirjasto vaatii ESP8266: n, jossa kaikki GPIO on näkyvissä, kuten ESP-12E, NodeMCU-12E-kortti tai mikä tahansa levy, joka paljastaa GPIO5 (D1), GPIO4 (D2) ja GPIO13 (D7)
Käytin erityisesti:
- ESP8266-solmuMCU-12E (linkki tähän)
- DSUB15 -liitin (eli VGA -naarasliitin)
- 330 ohmin vastus
- toinen vastus (noin 1-3 kOhm)
- kaksi 10 kOhm: n potentiometriä
- a Painike (n.o.)
- kaksi diodia (kuten 1N4007s)
- leipälauta
- johdot
Sain DSUB15 -liittimen vanhasta VGA -PC -kortista. Vaihtoehtoisesti voit myös katkaista vanhan VGA -kaapelin ja liittää johdot suoraan leipälevyyn.
Vaihe 2: Kirjasto ja luonnoslataus
Ohjelmointiin on erilaisia menetelmiä ja ESP8266; Käytin Arduino IDE: tä Pongin kirjoittamiseen ja koodin lataamiseen.
Huomaa, että EspVGAx -kirjasto toimii Arduino IDE 1.8.1 -käyttöjärjestelmässä. Jos sinulla on muita versioita, paras on ladata.zip -tiedostot ja purkaa se erilliseen kansioon. Windows -versio on täällä. Muiden käyttöjärjestelmien versiot ovat täällä.
Tämän jälkeen sinun pitäisi ladata EspVGAx -kirjasto GithHub -sivulta täältä (suora linkki zip -versioon täällä) ja purkaa se Arduino -ohjelmiston kansiokirjastoista.
Huom. Tiedostossa espvgax_draw.h on pieni virhe. Korjaa se vaihtamalla rivi 17:
while (x0%32) {kanssa while (x0%32 && sw> 32) {
Lopuksi voit ladata ESP8266_Pong.rar -tiedoston tämän vaiheen lopussa.
Kun se on purettu, sinun on määritettävä Arduino IDE, jotta voit ladata sen ESP8266 -laitteellesi.
Jos et ole koskaan tehnyt sitä, löydät kaikki tarvittavat ohjeet tästä ohjeesta, erityisesti vaiheessa 2.
Kun kaikki on määritetty, ESP8266 -asetusten pitäisi näyttää yllä olevan kuvan mukaisilta.
Jos voit ladata koodin ilman virheitä, voit aloittaa osien kokoamisen.
Vaihe 3: Osien liittäminen: VGA -liitin
Kehotan liittämään ensin VGA -portin, kuten yllä olevissa kuvissa näkyy. Huomaa, että yhdistämällä kolme nastaista punaista, vihreää ja sinistä yhteen (eli nastat 1, 2 ja 3 DSUB15 -liittimessä) saat näytölle mustavalkoisen kuvan. Voit myös yhdistää eri värejä. Katso lisätietoja kirjaston GitHub -sivulta.
Lisäksi sinun on liitettävä 330 ohmin vastus ESP8266: n RGB -nastojen ja D7: n (GPIO13) väliin. Tämä antoi minulle hieman harmahtavan kuvan näytölläni, joten muutaman yrityksen jälkeen päätin poistaa sen kokonaan.
Tässä vaiheessa, jos kaikki toimii oikein, voit jo liittää näytön ja nähdä pelin aloitusnäytön bannerilla "ESP8266 VGAx Pong".
Vaihe 4: Osien liittäminen: potentiometrit ja painike
Painike on kytkettävä 3,3 V: n ja nastan D0 (GPIO16) väliin. Liitä myös 1-3 kOhm: n vastus D0: sta maahan. Tämä estää D0: n olevan määrittämättömänä tilassa, kun painike on auki.
Kahden potentiometrin liitäntä on vähemmän triviaalia, koska itse asiassa ESP8266: ssa on vain analoginen tuloportti A0 (ADC0)! Temppu on yhdistää molemmat pot.s -lähdöt samaan porttiin ja "multipleksoida" ne. Multipleksointi tarkoittaa yksinkertaisesti sitä, että kytket potentiometrin päälle, luet sen, sammutat sen ja siirryt toiseen.
Jos haluat oppia lisää tästä menetelmästä, voit lukea tämän ohjeen.
Yhdistä yksi potentiometrin ääripää GND: hen, toinen ääripää D5: ään vasemman pelaajan potentiometriin ja D6 oikeanpuoleiseen.
Jokaisen potentiometrin keskitapin on liitettävä yksittäiseen diodiin, ja diodien muiden sivujen on oltava liitettynä liittimeen A0 (ADC0) yllä olevan kuvan mukaisella napaisuudella.
Vaihe 5: Johtopäätös ja kiitokset
Olen kiitollinen Sandro Maffiodolle - SMAFFER - ESPVGAX -kirjastosta. Tämä peli ei olisi mahdollista ilman sitä.
Toivon, että tämä Instructable inspiroi muita ohjelmoijia tekemään kopioita monimutkaisemmista klassisista arcade -peleistä ESP8266: lla, jolla on paljon vähemmän rajoituksia kuin Arduinolla.
Lopuksi kirjoitin tämän ohjeen lähettääkseni sen lelukilpailuun: jos pidät siitä tai toistat sen, äänestä sitä hetki!
Suositeltava:
Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: 6 vaihetta (kuvilla)
Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: Johdanto PongMate CyberCannon Mark III on uusin ja kehittynein olutpongitekniikka, joka on koskaan myyty yleisölle. Uuden CyberCannonin avulla kuka tahansa voi tulla pelätyimmäksi pelaajaksi olutpongin pöydässä. Miten tämä p
ESP32 VGA Arcade Games ja ohjaussauva: 6 vaihetta (kuvilla)
ESP32 VGA Arcade Games ja ohjaussauva: Tässä ohjeessa näytän kuinka toistaa neljä arcade -tyyppistä peliä - Tetris - Snake - Breakout - Bomber - käyttämällä ESP32 -laitetta, VGA -näytön ulostulolla. Resoluutio on 320 x 200 pikseliä, 8 väriä. Olen aikaisemmin tehnyt version
Arduino Basic PC VGA -ulostulolla: 5 vaihetta (kuvilla)
Arduino Basic PC VGA-ulostulolla: Aiemmassa Instructable-ohjelmassani olen näyttänyt kuinka rakentaa retro-8-bittinen tietokone, joka käyttää BASIC-ohjelmaa kahden Arduinon avulla ja jossa on TV-ruudun lähtösignaali mustavalkoisena. Nyt näytän kuinka rakentaa sama tietokone, mutta lähtösignaalin ollessa
Pong on Arduino, Pierson ja Jace: 5 vaihetta (kuvilla)
Pong on Arduino, Pierson ja Jace: Tämä on opettavainen, kuinka pelata Pongia arduinolla. Se kerrotaan viidessä yksinkertaisessa vaiheessa. Toivomme, että pidät pelistämme
Kädessä pidettävä Arduino Pong -konsoli: 6 vaihetta (kuvilla)
Kädessä pidettävä Arduino Pong -konsoli: DFRobot otti yhteyttä minuun äskettäin ja halusi minun käyttävän heidän erityistä Arduino Nano -levyään ja OLEDia. Aluksi halusin luoda älykkään pyörän ja rakensin sen kokonaisuudessaan. Mutta valitettavasti Nano oli liian heikko ajamaan ja tallentamaan massiivista luonnosta