Turinys:

ESP32 pagrindinis kompiuteris su VGA išvestimi: 7 žingsniai
ESP32 pagrindinis kompiuteris su VGA išvestimi: 7 žingsniai

Video: ESP32 pagrindinis kompiuteris su VGA išvestimi: 7 žingsniai

Video: ESP32 pagrindinis kompiuteris su VGA išvestimi: 7 žingsniai
Video: What is a DMZ? (Demilitarized Zone) 2024, Liepa
Anonim
Image
Image
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas

Šioje instrukcijoje aš parodysiu, kaip sukurti paprastą retro stiliaus kompiuterį, pagamintą naudojant vieną ESP32 ir keletą kitų komponentų.

Šis kompiuteris naudoja „Tiny Basic“, supaprastintą BASIC tarmę, ir generuoja VGA monitoriaus išvestį.

Skiriamoji geba yra 640x350 pikselių, leidžianti 80x25 asci simbolius 8 spalvomis. PS2 klaviatūras galima prijungti ir naudoti kodui rašyti, leidžiant iki 14059 baitų atminties.

ESP32 įvesties/išvesties kaiščius galima tiesiogiai valdyti naudojant specialias BASIC komandas.

Šį projektą įgyvendina nuostabi ESP32 VGA biblioteka, kurią parašė Fabrizio Di Vittorio. Daugiau informacijos rasite čia.

1 žingsnis: ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas

ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas

Pirmiausia turite nusipirkti ESP32 1 ar naujesnę versiją. Yra daug versijų, tačiau aš rekomenduoju pasirinkti vieną su daugybe kaiščių. Aš naudoju šią versiją, bet manau, kad daugelis kitų taip pat tinka. Pavyzdžiui, šio vaizdo įrašo aprašyme galite rasti tris kitus modelius, kurių kaina yra mažesnė nei 5 doleriai.

Gavę lentą, turite tęsti šiuos tris papildomus veiksmus:

  1. Įdiekite paskutinį „Arduino IDE“
  2. Konfigūruokite ESP32 IDE ir
  3. Įdiekite VGA biblioteką

1 pakopas.

Yra įvairių ESP32 programavimo būdų, tačiau čia reikia naudoti naujausią „Arduino IDE“(aš naudoju 1.8.9 versiją). Norėdami jį įdiegti, galite eiti į „Arduino IDE“puslapį ir vykdyti instrukcijas.

2 pakopa

Kai atliksite ankstesnę operaciją, turite sukonfigūruoti savo ESP32 „Arduino IDE“. Tai nėra nereikšminga, nes ESP32 nėra (dar?) Joje gimtoji. Galite vadovautis šia pamoka arba atlikti šiuos veiksmus.

1) atidarykite „Arduino IDE“

2) atidarykite nuostatų langą, Failas/Nuostatos, arba paspauskite „Ctrl+kablelis“

3) eikite į „Papildomi valdybos vadovo URL“, nukopijuokite ir įklijuokite šį tekstą:

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

ir spustelėkite mygtuką Gerai.

4) Atvirų lentų vadovas. Eikite į Įrankiai/Valdyba/Lentų tvarkytuvė…

5) Ieškokite ESP32 ir paspauskite „ESP32 by Espressif Systems“diegimo mygtuką:

6) Šiuo metu, kai pirmą kartą prijungiate savo ESP32, turėtumėte pasirinkti tinkamą modelį iš ilgo galimų ESP32 plokščių sąrašo (žr. Šio veiksmo paveikslėlį). Jei kyla abejonių dėl modelio, tiesiog pasirinkite bendrąjį, t. Y. Pirmąjį. Man tai veikia.

7) sistema taip pat turėtų pasirinkti tinkamą USB prievadą ir įkėlimo greitį (paprastai 921600). Šiuo metu turėtų būti užmegztas ryšys tarp kompiuterio ir ESP32 plokštės.

3 žingsnis

Galiausiai turite įdiegti „FabGL VGA“biblioteką. [atnaujinimas 2019 m. liepos mėn.] Jums reikia šios versijos ir senos versijos: šio veiksmo apačioje galite atsisiųsti zip failą src.old.zip, išpakuoti ir pervadinti aplanką kaip „src“

Aplanką „… / arduino-1.8.9 / libraries“.

Atlikę šias operacijas, galite pereiti prie kito veiksmo ir įkelti modifikuotą „TinyBasic“atlikdami kitą veiksmą.

2 veiksmas: įkelkite mažą pagrindinį kodą į ESP32

„Tiny Basic Code“įkėlimas į ESP32
„Tiny Basic Code“įkėlimas į ESP32
„Tiny Basic Code“įkėlimas į ESP32
„Tiny Basic Code“įkėlimas į ESP32

Šio veiksmo apačioje atsisiųskite ESP32_TinyBasicPlus_PS2_FabLab_beta.ino.

Atidarykite jį naudodami „Arduino IDE“ir įkelkite į neapdorotą ESP32.

Jei neturite klaidos pranešimų, kodas jau turėtų būti paleistas.

Fakultatyvus žingsnis: jei norite išbandyti „TinyBasic“prieš prijungdami VGA ir PS2 klaviatūrą, tai jau galite padaryti naudodami SSH ir „telnet“klientą. Aš naudoju PuTTY.

Šio veiksmo nuotraukose galite pamatyti, kaip tai atrodo.

3 veiksmas: prijunkite VGA prievadą

VGA prievado prijungimas
VGA prievado prijungimas

Jums reikia šių dalių:

  • DSUB15 jungtis, t. y. VGA patelė arba VGA kabelis, kurį reikia nupjauti.
  • trys 270 omų rezistoriai.

Prijunkite ESP32 GPIO 2, 15 ir 21 kaiščius prie VGA raudonos, žalios ir mėlynos spalvos per 270 omų rezistorius.

Prijunkite „VGA Hsync“ir „Vsync“prie atitinkamai 17 ir 4 ESP32 GPIO kaiščių.

Prijunkite DSUB15 jungčių kaiščius 5, 6, 7, 8 ir 10 prie ESP32 GND.

VGA DSUB15 jungties kaiščio apibrėžimą rasite šio veiksmo paveikslėlyje. PASTABA, tai yra jungties lizdavimo pusė.

4 žingsnis: PS2 prievado prijungimas

PS2 prievado prijungimas
PS2 prievado prijungimas

Jums reikia PS2 klaviatūros jungties.

Ją galite įsigyti iš senos kompiuterio pagrindinės plokštės, tiesiog neparduodami su šilumos pistoletu. Šiame žingsnyje parodytame paveikslėlyje galite rasti reikiamų PS2 jungties kaiščių funkciją.

Ryšys yra:

  • Klaviatūros duomenys į ESP32 GPIO kaištį 32
  • Klaviatūra IRQ (laikrodis) į ESP32 GPIO kaištį 33
  • Taip pat turite prijungti 5V kaištį ir GND.

5 žingsnis: programavimas naudojant „Tiny Basic“

Programavimas naudojant „Tiny Basic“
Programavimas naudojant „Tiny Basic“
Programavimas naudojant „Tiny Basic“
Programavimas naudojant „Tiny Basic“

Šiuo metu, jei galite prijungti VGA monitorių ir PS2 klaviatūrą bei ESP32 prie maitinimo šaltinio.

Čia rodomas vaizdas turėtų būti rodomas monitoriuje. Dabar galite šiek tiek žaisti naudodami „Tiny Basic“komandas.

Išbandykite, pavyzdžiui, privalomą „Sveiki, Word“! begalinis ciklas:

10 spausdinti "Labas, pasauli!"

20 iki 10

bėgti

Galite pakeisti keturias skirtingas spalvas paspausdami esc mygtuką ir sustabdyti ciklą naudodami „Ctrl“+c

Atminkite, kad jei padarysite klaidą, negalėsite jos atšaukti! Arba geriau, galite atšaukti, bet tada klaidos taisymas neatpažįstamas. Turite perrašyti visą komandų eilutę.

Dabar galite išbandyti ką nors sudėtingesnio, pavyzdžiui, valdyti šviesos diodo mirksėjimą naudodami pagrindinę programą. Prijunkite, pavyzdžiui, LED anodą (ilgąją koją) prie ESP32 GPIO kaiščio 13, o katodą - prie GND.

Tada rašyk:

naujas

10 i = 1000

20 spausdinti i

30 vėlavimas i

40 dwrite 13, aukštas

50 vėlavimas i

60 dwrite 13, žemas

70 i = i*9/10

80, jei i> 0, eikite į 20

90 pabaiga

bėgti

Rezultatą galite pamatyti vaizdo įraše, įterptame į šią instrukciją.

6 veiksmas: SD atminties kortelės prijungimas

SD atminties kortelės prijungimas
SD atminties kortelės prijungimas
SD atminties kortelės prijungimas
SD atminties kortelės prijungimas

Senovinis kompiuteris, nesvarbu, koks jis mažas ir silpnas, negali būti užbaigtas, jei negalite nuolat saugoti savo programų.

Šiame žingsnyje parodysiu, kaip prijungti SD atminties kortelę, tačiau, deja, šiuo metu (tikiuosi, kad tik kol kas) programų saugojimas neveikia!

BTW, aš naudoju „microSD“į SD kortelės adapterį ir litavau 8 L formos kaiščius, kaip parodyta šio veiksmo paveikslėlyje.

Tada aš prijungiau SD adapterių kaiščius prie ESP32 pagal antrąjį paveikslėlį, t. Y. Prijungiau ESP32 GPIO kaiščius 5, 18, 19, 23 prie SC, laikrodžio, MISO, MOSO, plius 3,3 V ir du GND.

Aš taip pat vadovavausi čia pateiktomis instrukcijomis ir pavyzdžiais ir naudodamas pavyzdinį kodą SD_test.ino, galiu rašyti savo 2 GB „microSD“kortelėje.

Taigi, jei kas nors randa sprendimą, praneškite man kuo greičiau į mano el. Pašto adresą [email protected] ir aš įvykdysiu šią instrukciją.

7 žingsnis: Padėkos

Padėkos
Padėkos

Noriu išreikšti savo tankus Fabrizio Di Vittorio už nuostabią ESP32 VGA biblioteką. Norėdami gauti daugiau informacijos, pavyzdžių ir… Space Invaders, apsilankykite jo svetainėje čia.

didelis ačiū ir „Tiny Basic“autoriams:

  • Mike'as Fieldas
  • Scottas Lawrence'as
  • Brianas O'Dellas

Galiausiai, jei jums patinka šis projektas, parašykite komentarą arba pasidalykite savo sukurto įrenginio nuotrauka … ir, visų pirma, balsuokite už jį „Arduino“konkurse!

Rekomenduojamas: