INHOUDSOPGAWE:

ESP32 basiese rekenaar met VGA -uitvoer: 7 stappe
ESP32 basiese rekenaar met VGA -uitvoer: 7 stappe

Video: ESP32 basiese rekenaar met VGA -uitvoer: 7 stappe

Video: ESP32 basiese rekenaar met VGA -uitvoer: 7 stappe
Video: Hoe gebruik je SSD1306 128x32 OLED Display I2C met Arduino-code 2024, Julie
Anonim
Image
Image
ESP32 -borde, Arduino IDE -installasie en VGA -biblioteekopstelling
ESP32 -borde, Arduino IDE -installasie en VGA -biblioteekopstelling

In hierdie instruksies gaan ek wys hoe u 'n eenvoudige rekenaar in retro -styl kan bou met 'n enkele ESP32 en 'n paar ander komponente.

Hierdie rekenaar gebruik Tiny Basic, 'n vereenvoudigde dialek van BASIC, en lewer die uitset vir 'n VGA -monitor.

Die resolusie is 640x350 pixels, wat 80x25 asci -karakters in 8 kleure moontlik maak. 'N PS2 -sleutelbord kan gekoppel word en gebruik word om die kode te skryf, wat tot 14059 grepe geheue toelaat.

Die ESP32 I/O -penne kan direk aangedryf word deur toegewyde BASIC -opdragte.

Hierdie projek word moontlik gemaak deur die ontsaglike ESP32 VGA -biblioteek, geskryf deur Fabrizio Di Vittorio. Sien hier vir meer besonderhede.

Stap 1: ESP32 -borde, Arduino IDE -installasie en VGA -biblioteekopstelling

ESP32 -borde, Arduino IDE -installasie en VGA -biblioteekopstelling
ESP32 -borde, Arduino IDE -installasie en VGA -biblioteekopstelling
ESP32 -borde, Arduino IDE -installasie en VGA -biblioteekopstelling
ESP32 -borde, Arduino IDE -installasie en VGA -biblioteekopstelling

Eerstens moet u 'n ESP32 -weergawe 1 of hoër koop. Daar is baie weergawes beskikbaar, maar ek beveel aan dat u een kies met baie penne. Ek gebruik hierdie weergawe, maar ek dink baie ander is ook goed. In die beskrywing van hierdie video kan u byvoorbeeld drie ander modelle vind wat minder as 5 dollar is.

Nadat u die bord gekry het, moet u met die volgende drie substappe voortgaan:

  1. Installeer die laaste Arduino IDE
  2. Stel die ESP32 in die IDE en
  3. Installeer die VGA -biblioteek

Sub-stap 1.

Daar is verskillende metodes om die ESP32 te programmeer, maar hier moet u die nuutste Arduino IDE gebruik (ek gebruik die weergawe 1.8.9). Om dit te installeer, kan u na die Arduino IDE -bladsy gaan en die instruksies volg.

Sub-stap 2

Sodra die vorige operasie uitgevoer is, moet u u ESP32 in die Arduino IDE instel. Dit is nie triviaal nie, aangesien die ESP32 (nog nie) inheems is nie. U kan hierdie tutoriaal of die volgende stappe volg.

1) maak die Arduino IDE oop

2) maak die voorkeure -venster, lêer/voorkeur, oop, of druk "Ctrl+komma"

3) gaan na die 'Addisionele raadbestuurder -URL's', kopieer en plak die volgende teks:

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

en klik op die OK knoppie.

4) Open boards bestuurder. Gaan na Tools/Board/Boards Manager …

5) Soek na ESP32 en druk die installeringsknoppie vir die "ESP32 by Espressif Systems":

6) As u op hierdie stadium u ESP32 vir die eerste keer aansluit, moet u die regte model kies in die lang lys beskikbare ESP32 -borde (sien die prentjie in hierdie stap). In geval van twyfel oor die model, kies net die generiese model, dit wil sê die eerste. Dit werk vir my.

7) moet die stelsel ook die regte USB -poort en die oplaaisnelheid kies (gewoonlik 921600). Op hierdie punt moet die verbinding tussen u rekenaar en die ESP32 -kaart tot stand kom.

Sub-stap 3

Uiteindelik moet u die FabGL VGA -biblioteek installeer. [update Julie 2019] U het 'n ou weergawe van hierdie biblioteek nodig: u kan die zip -lêer src.old.zip onderaan hierdie stap aflaai, die map uitpak en die naam as 'src' hernoem in u

Gids "… / arduino-1.8.9 / libraries".

Nadat u hierdie bewerkings uitgevoer het, kan u na die volgende stap gaan en die aangepaste TinyBasic na die volgende stap oplaai.

Stap 2: Laai klein basiese kode op na die ESP32

Laai Tiny Basic Code op na die ESP32
Laai Tiny Basic Code op na die ESP32
Laai Tiny Basic Code op na die ESP32
Laai Tiny Basic Code op na die ESP32

Laai ESP32_TinyBasicPlus_PS2_FabLab_beta.ino onderaan hierdie stap af.

Maak dit oop met die Arduino IDE en laai dit op na u rou ESP32.

As u geen foutboodskappe het nie, moet die kode reeds loop.

Fakultatiewe stap: as u TinyBasic wil toets voordat u die VGA- en PS2 -sleutelbord aansluit, kan u dit reeds doen met 'n SSH- en telnet -kliënt. Ek gebruik PuTTY.

U kan sien hoe dit op die foto's in hierdie stap lyk.

Stap 3: Verbind die VGA -poort

Verbind die VGA -poort
Verbind die VGA -poort

U benodig die volgende dele:

  • 'n DSUB15 -aansluiting, dws 'n VGA -vroulike aansluiting of 'n VGA -kabel wat gesny moet word.
  • drie 270 Ohm weerstande.

Koppel die ESP32 GPIO pen 2, 15 en 21 aan VGA Rooi, Groen en Blou onderskeidelik deur die 270 Ohm weerstande.

Koppel die VGA Hsync en Vsync aan ESP32 GPIO penne 17 en 4 onderskeidelik.

Koppel die DSUB15 -aansluitpenne 5, 6, 7, 8 en 10 aan ESP32 GND.

Sien die prentjie in hierdie stap vir die definisie van die VGA DSUB15 -aansluitpen. NB, dit is die soldeerkant van die vroulike aansluiting.

Stap 4: Koppel die PS2 -poort

Verbind die PS2 -poort
Verbind die PS2 -poort

U benodig 'n PS2 -sleutelbord -vroulike aansluiting.

U kan een van 'n ou PC -moederbord kry, sonder om dit met 'n hittepistool te verkoop. In die prentjie wat in hierdie stap getoon word, vind u die funksie van die benodigde penne van die PS2 -aansluiting.

Die verbinding is:

  • Sleutelborddata na ESP32 GPIO -pen 32
  • Sleutelbord IRQ (klok) na ESP32 GPIO pen 33
  • U moet ook die 5V -pen en die GND -een aansluit.

Stap 5: Programmering met Tiny Basic

Programmering met Tiny Basic
Programmering met Tiny Basic
Programmering met Tiny Basic
Programmering met Tiny Basic

As u op hierdie stadium die VGA -monitor en die PS2 -sleutelbord en die ESP32 aan die kragtoevoer kan koppel.

Die prentjie wat hier verskyn, moet op die monitor verskyn. Nou kan u 'n bietjie speel met Tiny Basic -opdragte.

Probeer byvoorbeeld die verpligte Hello, Word! oneindige lus:

10 druk "Hallo, wêreld!"

20 gaan na 10

hardloop

U kan in vier verskillende kleure verander deur op die esc -knoppie te druk en die lus te stop met ctrl+c

Let daarop dat as u 'n tikfout maak, u dit nie kan kanselleer nie! Of beter, u kan kanselleer, maar dan word die foutfout nie herken nie. U moet die hele opdragreël herskryf.

Nou kan u iets meer ingewikkelds probeer, soos die knipper van 'n LED met 'n basiese program. Koppel byvoorbeeld die LED -anode (die lang been) aan ESP32 GPIO pen 13 en die katode aan GND.

Skryf dan:

nuut

10 i = 1000

20 druk i

30 vertraging i

40 dwrite 13, hoog

50 vertraging i

60 dwrite 13, laag

70 i = i*9/10

80 as ek> 0 gaan na 20

90 einde

hardloop

U kan die resultaat sien in die video wat in hierdie instruksie ingesluit is.

Stap 6: Koppel 'n SD -geheue kaart

Koppel 'n SD -geheue kaart
Koppel 'n SD -geheue kaart
Koppel 'n SD -geheue kaart
Koppel 'n SD -geheue kaart

'N Oesjaar -rekenaar, ongeag hoe min en swak dit is, kan nie volledig wees as u nie u programme permanent kan stoor nie.

In hierdie stap sal ek wys hoe om 'n SD -geheue kaart aan te sluit, maar ongelukkig werk die stoor van programme op die oomblik nie (ek hoop net vir die oomblik)!

BTW, ek het 'n microSD-na-SD-kaartadapter gebruik en ek het 8 L-vormige penne gesoldeer soos op die foto in hierdie stap getoon.

Daarna het ek die SD -adapterpennetjies aan die ESP32 gekoppel volgens die tweede prentjie, dit wil sê ek het die ESP32 GPIO -penne 5, 18, 19, 23 gekoppel aan onderskeidelik SC, klok, MISO, MOSO, plus 3.3V en twee GND.

Ek het ook die instruksies en voorbeelde hier gevolg, en met die voorbeeldkode SD_test.ino kan ek op my 2 GBytes microSD -kaart skryf.

As iemand dus 'n oplossing vind, laat weet my so gou moontlik by my e -pos [email protected], en ek sal hierdie instruksie voltooi.

Stap 7: Erkennings

Erkennings
Erkennings

Ek wil my tenks aan Fabrizio Di Vittorio uitspreek vir sy wonderlike ESP32 VGA -biblioteek. Vir meer besonderhede, voorbeelde en … Space Invaders, besoek sy webwerf hier.

baie dankie ook aan die skrywers van Tiny Basic:

  • Mike Field
  • Scott Lawrence
  • Brian O'Dell

Laastens, as u van hierdie projek hou, skryf 'n opmerking of deel 'n foto van die toestel wat u bou … en stem in die algemeen daarvoor in die Arduino -wedstryd!

Aanbeveel: