Innehållsförteckning:

ESP32 Basic PC med VGA -utgång: 7 steg
ESP32 Basic PC med VGA -utgång: 7 steg

Video: ESP32 Basic PC med VGA -utgång: 7 steg

Video: ESP32 Basic PC med VGA -utgång: 7 steg
Video: ESP32 Tiny Basic PC as Standalone Microcontroller 2024, November
Anonim
Image
Image
ESP32 -kort, Arduino IDE -installation och VGA -bibliotekskonfiguration
ESP32 -kort, Arduino IDE -installation och VGA -bibliotekskonfiguration

I denna instruktionsbok ska jag visa hur man bygger en enkel dator i retrostil gjord med en enda ESP32 och några andra komponenter.

Den här datorn kör Tiny Basic, en förenklad dialekt av BASIC, och genererar utdata för en VGA -bildskärm.

Upplösningen är 640x350 pixlar, vilket tillåter 80x25 asci -tecken i 8 färger. Ett PS2 -tangentbord kan anslutas och användas för att skriva koden, vilket tillåter upp till 14059 byte minne.

ESP32 I/O -stiften kan drivas direkt av dedikerade BASIC -kommandon.

Detta projekt möjliggörs av det fantastiska ESP32 VGA -biblioteket skrivet av Fabrizio Di Vittorio. Se här för mer information.

Steg 1: ESP32 -kort, Arduino IDE -installation och VGA -bibliotekskonfiguration

ESP32 -kort, Arduino IDE -installation och VGA -bibliotekskonfiguration
ESP32 -kort, Arduino IDE -installation och VGA -bibliotekskonfiguration
ESP32 -kort, Arduino IDE -installation och VGA -bibliotekskonfiguration
ESP32 -kort, Arduino IDE -installation och VGA -bibliotekskonfiguration

Först och främst måste du köpa en ESP32 version 1 eller högre. Det finns många versioner tillgängliga, men jag rekommenderar att du väljer en med många stift. Jag använder den här versionen, men jag tror att många andra också är bra. Till exempel i beskrivningen av den här videon kan du hitta tre andra modeller som är under 5 dollar.

När du har fått tavlan måste du fortsätta med följande tre delsteg:

  1. Installera den senaste Arduino IDE
  2. Konfigurera ESP32 i IDE och
  3. Installera VGA -biblioteket

Delsteg 1.

Det finns olika metoder för att programmera ESP32, men här måste du använda den senaste Arduino IDE (jag använder version 1.8.9). För att installera det kan du gå till Arduino IDE -sidan och följa instruktionerna.

Delsteg 2

När den tidigare operationen är klar måste du konfigurera din ESP32 i Arduino IDE. Detta är inte trivialt, eftersom ESP32 inte är (ännu?) Infödd i det. Du kan följa den här självstudien eller följande steg.

1) öppna Arduino IDE

2) öppna inställningsfönstret, File/Preference, alternativt tryck på "Ctrl+komma"

3) gå till “Extra Board Manager URLs”, kopiera och klistra in följande text:

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

och klicka på OK.

4) Öppna styrelsechef. Gå till Tools/Board/Boards Manager …

5) Sök efter ESP32 och tryck på installationsknappen för "ESP32 by Espressif Systems":

6) Vid denna tidpunkt, när du ansluter din ESP32 för första gången, bör du välja rätt modell i den långa listan med tillgängliga ESP32 -kort (se bilden i detta steg). Vid tvivel om modellen, välj bara den generiska, dvs den första. Det funkar för mig.

7) systemet bör också välja rätt USB -port och uppladdningshastighet (normalt 921600). Vid denna tidpunkt bör anslutningen mellan din dator och ESP32 -kortet upprättas.

Delsteg 3

Slutligen måste du installera FabGL VGA -biblioteket. [uppdatering juli 2019] Du behöver en gammal version av den här biblioteket: du kan ladda ner zip -filen src.old.zip längst ner i det här steget, packa upp och byt namn på mappen som "src" i din

"… / Arduino-1.8.9 / libraries" -mappen.

När du har gjort dessa operationer kan du gå till nästa steg och ladda upp den modifierade TinyBasic efter nästa steg.

Steg 2: Ladda upp Tiny Basic Code till ESP32

Överför Tiny Basic Code till ESP32
Överför Tiny Basic Code till ESP32
Överför Tiny Basic Code till ESP32
Överför Tiny Basic Code till ESP32

Ladda ner ESP32_TinyBasicPlus_PS2_FabLab_beta.ino längst ner i detta steg.

Öppna den med Arduino IDE och ladda upp den till din råa ESP32.

Om du inte har några felmeddelanden bör koden redan köras.

Fakultativt steg: om du vill testa TinyBasic innan du ansluter VGA- och PS2 -tangentbordet kan du redan göra det med en SSH- och telnet -klient. Jag använder PuTTY.

Du kan se hur det ser ut på bilderna i det här steget.

Steg 3: Ansluta VGA -porten

Ansluta VGA -porten
Ansluta VGA -porten

Du behöver följande delar:

  • en DSUB15 -kontakt, dvs en VGA -honkontakt eller en VGA -kabel som ska klippas.
  • tre 270 Ohm motstånd.

Anslut ESP32 GPIO -stift 2, 15 och 21 till VGA -rött, grönt respektive blått genom 270 Ohm -motstånden.

Anslut VGA Hsync och Vsync till ESP32 GPIO -stift 17 respektive 4.

Anslut DSUB15 -kontaktstiften 5, 6, 7, 8 och 10 till ESP32 GND.

För definition av VGA DSUB15 -kontaktstift, se bilden i det här steget. OBS! Detta är lödsidan av honkontakten.

Steg 4: Anslutning av PS2 -porten

Ansluter PS2 -porten
Ansluter PS2 -porten

Du behöver en PS2 -tangentbordskontakt.

Du kan få ett från ett gammalt PC -moderkort, helt enkelt sälja det med en värmepistol. På bilden som visas i det här steget kan du hitta funktionen hos de nödvändiga stiften på PS2 -kontakten.

Anslutningen är:

  • Tangentborddata till ESP32 GPIO pin 32
  • Tangentbord IRQ (klocka) till ESP32 GPIO pin 33
  • Du måste också ansluta 5V -stiftet och GND -stiftet.

Steg 5: Programmering med Tiny Basic

Programmering med Tiny Basic
Programmering med Tiny Basic
Programmering med Tiny Basic
Programmering med Tiny Basic

Vid denna tidpunkt, om du kan ansluta VGA -bildskärmen och PS2 -tangentbordet och ESP32 till strömförsörjningen.

Bilden som visas här ska visas på monitorn. Nu kan du spela lite med Tiny Basic -kommandon.

Prova till exempel den obligatoriska Hello, Word! oändlig loop:

10 tryck "Hej, värld!"

20 gå 10

springa

Du kan ändra i fyra olika färger genom att trycka på esc -knappen och stoppa slingan med ctrl+c

Observera att om du skriver fel kan du inte avbryta det! Eller bättre, du kan avbryta men då känns stavfelskorrigeringen inte igen. Du måste skriva om hela kommandoraden.

Nu kan du prova något mer komplext, till exempel att driva blinkande en LED med ett grundläggande program. Anslut till exempel LED -anoden (det långa benet) till ESP32 GPIO -stift 13 och katoden till GND.

Skriv sedan:

ny

10 i = 1000

20 tryck i

30 fördröjning i

40 dwrite 13, hög

50 förseningar i

60 dwrite 13, låg

70 i = i*9/10

80 om jag> 0 går till 20

90 slut

springa

Du kan se resultatet i videon inbäddad i denna instruktionsbok.

Steg 6: Ansluta ett SD -minneskort

Ansluta ett SD -minneskort
Ansluta ett SD -minneskort
Ansluta ett SD -minneskort
Ansluta ett SD -minneskort

En vintage -dator, det spelar ingen roll hur liten och svag, kan inte vara komplett om du inte kan lagra dina program permanent.

I det här steget kommer jag att visa hur du ansluter ett SD -minneskort, men tyvärr, för tillfället (jag hoppas bara för tillfället), fungerar inte lagringen av program!

BTW, jag använde en microSD till SD-kortadapter och jag lödde 8 L-formade stift som visas på bilden i detta steg.

Jag kopplade sedan SD -adapterstiften till ESP32 enligt den andra bilden, dvs jag kopplade ESP32 GPIO -stiften 5, 18, 19, 23 till SC, klocka, MISO, MOSO respektive 3,3V och två GND.

Jag följde också instruktionerna och exemplen som finns här, och med exempelkoden SD_test.ino kan jag skriva på mitt 2 GBytes microSD -kort.

Så om någon hittar en lösning, vänligen informera mig snarast till min e -post [email protected] så slutför jag denna instruktionsbok.

Steg 7: Erkännanden

Kvitteringar
Kvitteringar

Jag vill uttrycka mina tankar till Fabrizio Di Vittorio för hans fantastiska ESP32 VGA -bibliotek. För mer information, exempel och … Space Invaders, besök hans webbplats här.

stort tack också till författarna till Tiny Basic:

  • Mike Field
  • Scott Lawrence
  • Brian O'Dell

Slutligen, om du gillar det här projektet, skriv en kommentar eller dela en bild av enheten du bygger … och rösta över det i Arduino -tävlingen!

Rekommenderad: