Sadržaj:
- Korak 1: Lista materijala
- Korak 2: Prenošenje biblioteke i skice
- Korak 3: Povezivanje dijelova: VGA konektor
- Korak 4: Povezivanje dijelova: potenciometra i dugmeta
- Korak 5: Zaključak i priznanja
Video: ESP8266 VGA Pong: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
U ovom Instructables ću pokazati kako izgraditi reprodukciju klasične igre Pong za VGA monitor, koristeći ESP8266 i nekoliko drugih komponenti.
Ovu igru je omogućila biblioteka EspVGAx koju je nedavno na GitHub -u objavio Sandro Maffiodo (zvani Smaffer) i, koliko ja znam, ovo je prva igra koja je koristi.
Biblioteka implementira rezoluciju od 512 x 480 piksela, pohranjenu u framebufferu unutar RAM -a, što zahtijeva 30720 bajtova. Rezolucija je velika u odnosu na Arduino TVout ili VGAx (128 x 96 odnosno 120 x 60 piksela). Nadam se da će ova igra inspirirati druge programere na razvoj ili reprodukciju složenijih igara.
Korak 1: Lista materijala
Za biblioteku EspVGAx potreban je ESP8266 sa svim izloženim GPIO, poput ESP-12E, ploče NodeMCU-12E ili bilo koje ploče koja izlaže GPIO5 (D1), GPIO4 (D2) i GPIO13 (D7)
Konkretno, koristio sam:
- ESP8266 NodeMCU-12E (veza ovdje)
- konektor DSUB15 (tj. ženski VGA konektor)
- otpornik od 330 ohma
- drugi otpornik (oko 1 do 3 kOhm)
- dva potenciometra od 10 kOhm
- pritisno dugme (n.o.)
- dvije diode (poput 1N4007s)
- matična ploča
- žice
Konektor DSUB15 dobio sam sa stare VGA PC ploče. Alternativno, možete izrezati i stari VGA kabel i spojiti žice izravno na matičnu ploču.
Korak 2: Prenošenje biblioteke i skice
Postoje različite metode programiranja i ESP8266; Koristio sam Arduino IDE za pisanje ponga i postavljanje koda.
Imajte na umu da EspVGAx biblioteka radi za Arduino IDE 1.8.1. Ako imate druge verzije, najbolje je preuzeti datoteke.zip i dekomprimirati ih u namjensku mapu. Ovdje je verzija za Windows. Verzije za druge OS su ovdje.
Nakon toga trebate preuzeti EspVGAx biblioteku sa stranice GithHub ovdje (direktna veza za zip verziju ovdje) i dekomprimirati je u bibliotekama mapa u softveru Arduino.
Napomena: U datoteci espvgax_draw.h postoji mala greška. Da biste to ispravili, samo zamijenite redak 17:
while (x0%32) {sa while (x0%32 && sw> 32) {
Na kraju možete preuzeti ESP8266_Pong.rar na kraju ovog koraka.
Nakon raspakiranja, da biste ga prenijeli na svoj ESP8266, morate konfigurirati Arduino IDE.
Ako to nikada niste učinili, sve potrebne upute možete pronaći u ovim uputama, posebno u 2. koraku.
Nakon što se sve konfigurira, postavke ESP8266 bi trebale izgledati poput onih prikazanih na gornjoj slici.
Ako možete učitati kôd bez grešaka, možete početi sastavljati dijelove.
Korak 3: Povezivanje dijelova: VGA konektor
Preporučujem da prvo povežete VGA port, kao što je prikazano na gornjim slikama. Imajte na umu da ćete povezivanjem tri pina Crvene, Zelene i Plave zajedno (tj. Pinova 1, 2 i 3 na konektoru DSUB15) imati bijelo -bijelu sliku na ekranu. Takođe možete imati različite kombinacije boja. Detalje potražite na stranici Library GitHub.
Nadalje, trebali biste spojiti otpornik od 330 Ohma između RGB pinova i D7 (GPIO13) na ESP8266. Ovo mi je dalo pomalo sivkastu sliku na monitoru pa sam, nakon nekoliko pokušaja, odlučio da je uopće eliminiram.
U ovom trenutku, ako sve radi ispravno, već možete spojiti monitor i vidjeti početni ekran igre, sa natpisom "ESP8266 VGAx Pong".
Korak 4: Povezivanje dijelova: potenciometra i dugmeta
Gumb mora biti spojen između 3.3V i pina D0 (GPIO16). Spojite i otpornik 1 do 3 kOhm od D0 na masu. Time se izbjegava da D0 bude u neodređenom statusu kada je dugme otvoreno.
Povezivanje dva potenciometra manje je trivijalno, zapravo ESP8266 ima samo analogni ulazni port A0 (ADC0)! Trik je u povezivanju oba pot.s izlaza na isti port i njihovom "multipleksiranju". Multipleksiranje jednostavno znači da ćete uključiti potenciometar, pročitati ga, zatim isključiti i preći na drugi.
Ako želite saznati više o ovoj metodi, možete pročitati ovaj Instructable.
Spojite jedan ekstremni potenciometar na GND, drugi ekstremni na D5 za potenciometar lijevog igrača i D6 za desnog.
Svaki središnji pin potenciometra mora biti povezan s pojedinačnom diodom, a druge strane dioda moraju biti spojene na A0 (ADC0), s polaritetom prikazanim na gornjoj slici.
Korak 5: Zaključak i priznanja
Zahvalan sam Sandru Maffiodu - SMAFFERU - za biblioteku ESPVGAX. Ova igra ne bi bila moguća bez nje.
Nadam se da će ovaj Instructable biti inspiracija drugim programerima da naprave reprodukcije složenijih klasičnih arkadnih igara sa ESP8266, koji ima mnogo manje ograničenja od Arduina.
Konačno, napisao sam ovaj Instructable kako bih ga prijavio na takmičenje u igračkama: ako vam se sviđa ili ga reproducirajte, odvojite trenutak za glasovanje!
Preporučuje se:
Vanjski VGA / GPU za prijenosna računala koja koriste EXP GDC Beast: 15 koraka (sa slikama)
Vanjski VGA / GPU za prijenosna računala koristeći EXP GDC Beast: Zdravo momci .. Ovo je moj prvi vodič o instrukcijama. Engleski mi nije prvi jezik pa mi oprostite zbog gramatičkih grešaka. Ovo sam napravio na osnovu svog iskustva u nadogradnji laptopa. I neću vam dosaditi sa dugim predstavljanjem jer ne znam
Vrhunski stroj za pivo -pong - PongMate CyberCannon Mark III: 6 koraka (sa slikama)
Vrhunska mašina za pivski pong - PongMate CyberCannon Mark III: Uvod PongMate CyberCannon Mark III je najnoviji i najnapredniji komad tehnologije pivskog ponga koji je ikada prodan u javnost. S novim CyberCannonom, svaka osoba može postati igrač koji se najviše boji za stolom za pivski pong. Kako je ovo p
Napravite vlastitu 1D pong igru: 5 koraka (sa slikama)
Napravite vlastitu 1D pong igru: Za ovaj projekt pokazat ću vam kako sam kombinirao MDF ploču s gumbima zujalice, LED diodama i Arduino Nano kako bih stvorio 1D pong igru koju je zaista zabavno igrati. Usput ću vam pokazati kako stvoriti elektroničko kolo i kako se razlikuju
ESP32 VGA Arkadne igre i joystick: 6 koraka (sa slikama)
ESP32 VGA arkadne igre i joystick: U ovom uputstvu pokazat ću kako reproducirati četiri arkadne igre - Tetris - Zmija - Proboj - Bombaš - koristeći ESP32, s izlazom za VGA monitor. Rezolucija je 320 x 200 piksela, u 8 boja. Ranije sam radio verziju sa
Arduino osnovni računar sa VGA izlazom: 5 koraka (sa slikama)
Arduino osnovni računar sa VGA izlazom: U svom prethodnom Instructable-u sam pokazao kako da izgradim retro 8-bitni računar sa BASIC-om, pomoću dva Arduino-a, i sa izlaznim signalom u B & W za TV ekran. Sada ću pokazati kako izgraditi isti računar, ali s izlaznim signalom u