Inhoudsopgave:
- Stap 1: ESP32-kaarten, Arduino IDE-installatie en VGA-bibliotheekconfiguratie
- Stap 2: Tiny Basic Code uploaden naar de ESP32
- Stap 3: De VGA-poort aansluiten
- Stap 4: De PS2-poort aansluiten
- Stap 5: Programmeren met Tiny Basic
- Stap 6: Een SD-geheugenkaart aansluiten
- Stap 7: Dankbetuigingen
Video: ESP32 Basic-pc met VGA-uitgang - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
In deze Instructable ga ik laten zien hoe je een eenvoudige retro-stijl pc kunt bouwen met een enkele ESP32 en een paar andere componenten.
Deze pc draait Tiny Basic, een vereenvoudigd dialect van BASIC, en genereert de output voor een VGA-monitor.
De resolutie is 640x350 pixels, waardoor 80x25 asci-tekens in 8 kleuren mogelijk zijn. Een PS2-toetsenbord kan worden aangesloten en gebruikt om de code te schrijven, waardoor maximaal 14059 bytes geheugen mogelijk is.
De ESP32 I/O-pinnen kunnen direct worden aangestuurd door speciale BASIC-commando's.
Dit project wordt mogelijk gemaakt door de geweldige ESP32 VGA-bibliotheek, geschreven door Fabrizio Di Vittorio. Zie hier voor meer details.
Stap 1: ESP32-kaarten, Arduino IDE-installatie en VGA-bibliotheekconfiguratie
Allereerst dien je een ESP32 revisie 1 of hoger aan te schaffen. Er zijn veel versies beschikbaar, maar ik raad aan om er een te kiezen met veel pinnen. Ik gebruik deze versie, maar ik denk dat vele andere ook goed zijn. In de beschrijving van deze video kun je bijvoorbeeld drie andere modellen vinden die minder dan 5 dollar kosten.
Zodra je het bord hebt, moet je doorgaan met de volgende drie substappen:
- Installeer de laatste Arduino IDE
- Configureer de ESP32 in de IDE en
- Installeer de VGA-bibliotheek
Substap 1.
Er zijn verschillende methoden om de ESP32 te programmeren, maar hier moet je de nieuwste Arduino IDE gebruiken (ik gebruik de versie 1.8.9). Om het te installeren, kun je naar de Arduino IDE-pagina gaan en de instructies volgen.
Substap 2
Nadat de vorige bewerking is voltooid, moet u uw ESP32 configureren binnen de Arduino IDE. Dit is niet triviaal, aangezien de ESP32 er (nog?) niet in voorkomt. U kunt deze zelfstudie of de volgende stappen volgen.
1) open de Arduino IDE
2) open het voorkeurenvenster, Bestand/Voorkeur, of druk op "Ctrl+komma"
3) ga naar de "Extra Board Manager-URL's", kopieer en plak de volgende tekst:
https://dl.espressif.com/dl/package_esp32_index.json
en klik op de OK-knop.
4) Bordenmanager openen. Ga naar Tools/Board/Boards Manager…
5) Zoek naar ESP32 en druk op de installatieknop voor de “ESP32 by Espressif Systems“:
6) Op dit punt, wanneer u voor de eerste keer uw ESP32 aansluit, moet u het juiste model kiezen in de lange lijst met beschikbare ESP32-kaarten (zie de afbeelding in deze stap). Kies bij twijfel over het model gewoon de generieke, d.w.z. de eerste. Het werkt voor mij.
7) het systeem moet ook de juiste USB-poort en de uploadsnelheid kiezen (normaal 921600). Op dit punt moet de verbinding tussen uw pc en het ESP32-bord tot stand worden gebracht.
Substap 3
Ten slotte moet u de FabGL VGA-bibliotheek installeren. [update juli 2019] Je hebt een oude versie van deze bibliotheek nodig: je kunt het zip-bestand src.old.zip onderaan deze stap downloaden, uitpakken en de map hernoemen als "src" in je
"…\arduino-1.8.9\bibliotheken " map.
Nadat u deze bewerkingen hebt uitgevoerd, kunt u naar de volgende stap gaan en de gewijzigde TinyBasic uploaden na de volgende stap.
Stap 2: Tiny Basic Code uploaden naar de ESP32
Download ESP32_TinyBasicPlus_PS2_FabLab_beta.ino onderaan deze stap.
Open het met de Arduino IDE en upload het naar je onbewerkte ESP32.
Als je geen foutmeldingen hebt, zou de code al actief moeten zijn.
Facultatieve stap: als je TinyBasic wilt testen voordat je het VGA- en PS2-toetsenbord aansluit, dan kan dat al met een SSH- en telnet-client. Ik gebruik PuTTY.
U kunt zien hoe het eruit ziet in de afbeeldingen in deze stap.
Stap 3: De VGA-poort aansluiten
Je hebt de volgende onderdelen nodig:
- een DSUB15-connector, d.w.z. een vrouwelijke VGA-connector of een VGA-kabel die moet worden doorgeknipt.
- drie weerstanden van 270 Ohm.
Verbind de ESP32 GPIO pin 2, 15 en 21 met respectievelijk VGA Rood, Groen en Blauw via de 270 Ohm weerstanden.
Sluit de VGA Hsync en Vsync aan op respectievelijk ESP32 GPIO-pinnen 17 en 4.
Sluit de DSUB15-connectoren pinnen 5, 6, 7, 8 en 10 aan op ESP32 GND.
Zie de afbeelding in deze stap voor de definitie van de VGA DSUB15-connectorpin. Let op, dit is de soldeerzijde van de vrouwelijke connector.
Stap 4: De PS2-poort aansluiten
Je hebt een vrouwelijke connector voor een PS2-toetsenbord nodig.
Je kunt er een krijgen van een oud pc-moederbord, gewoon onverkocht met een warmtepistool. In de afbeelding die in deze stap wordt getoond, vindt u de functie van de benodigde pinnen van de PS2-connector.
De aansluitingen zijn:
- Toetsenbordgegevens naar ESP32 GPIO pin 32
- Toetsenbord IRQ (klok) naar ESP32 GPIO pin 33
- U moet ook de 5V-pin en de GND-pin aansluiten.
Stap 5: Programmeren met Tiny Basic
Op dit punt, als u de VGA-monitor en het PS2-toetsenbord en de ESP32 op de voeding kunt aansluiten.
De hier getoonde afbeelding zou op de monitor moeten verschijnen. Nu kun je een beetje spelen met Tiny Basic-commando's.
Probeer bijvoorbeeld het verplichte Hello, Word! oneindige lus:
10 afdrukken "Hallo, wereld!"
20 ga naar 10
loop
Je kunt veranderen in vier verschillende kleuren door op de esc-knop te drukken en de lus te stoppen met ctrl+c
Let op: als u een typfout maakt, kunt u deze niet annuleren! Of beter, je kunt annuleren maar dan wordt de typfoutcorrectie niet herkend. U moet de hele opdrachtregel herschrijven.
Nu kun je iets ingewikkelders proberen, zoals het aansturen van het knipperen van een LED met een basisprogramma. Sluit bijvoorbeeld de LED-anode (de lange poot) aan op ESP32 GPIO-pin 13 en de kathode op GND.
Schrijf dan:
nieuwe
10 i=1000
20 afdrukken
30 vertraging i
40 dwrite 13, hoog
50 vertraging i
60 dwrite 13, laag
70 i=i*9/10
80 als ik>0 ga naar 20
90 einde
loop
U kunt het resultaat zien in de video die is ingesloten in deze Instructable.
Stap 6: Een SD-geheugenkaart aansluiten
Een vintage pc, hoe klein en zwak ook, kan niet compleet zijn als je je programma's niet permanent kunt opslaan.
In deze stap zal ik laten zien hoe je een SD-geheugenkaart aansluit, maar helaas werkt het opslaan van programma's voorlopig (ik hoop alleen voor het moment) niet!
Trouwens, ik heb een microSD-naar-SD-kaartadapter gebruikt en ik heb 8 L-vormige pinnen gesoldeerd zoals weergegeven in de afbeelding in deze stap.
Vervolgens heb ik de pinnen van de SD-adapter op de ESP32 aangesloten volgens de tweede foto, d.w.z. ik heb de ESP32 GPIO-pinnen 5, 18, 19, 23 aangesloten op respectievelijk SC, klok, MISO, MOSO plus 3,3 V en twee GND.
Ik heb ook de instructies en voorbeelden gevolgd die hier te vinden zijn, en met de voorbeeldcode SD_test.ino kan ik op mijn 2 GBytes microSD-kaart schrijven.
Dus als iemand een oplossing vindt, laat het me dan zo snel mogelijk weten via mijn e-mail [email protected] en ik zal dit Instructable voltooien.
Stap 7: Dankbetuigingen
Ik wil mijn tanks uiten aan Fabrizio Di Vittorio voor zijn geweldige ESP32 VGA-bibliotheek. Voor meer details, voorbeelden, en… Space Invaders, bezoek zijn site hier.
veel dank ook aan de auteurs van Tiny Basic:
- Mike Field
- Scott Lawrence
- Brian O'Dell
Tot slot, als je dit project leuk vindt, schrijf dan een opmerking of deel een foto van het apparaat dat je bouwt… en stem er vooral op in de Arduino-wedstrijd!
Aanbevolen:
Arduino Bluetooth Basic-zelfstudie: 6 stappen (met afbeeldingen)
Arduino Bluetooth Basic Tutorial: UPDATE: DE BIJGEWERKTE VERSIE VAN DIT ARTIKEL KAN HIER VINDEN Ooit gedacht aan het besturen van elektronische apparaten met je smartphone? Het besturen van je robot of andere apparaten met je smartphone zal echt gaaf zijn. Hier is een eenvoudige en bas
Aan de slag met ESP32 - ESP32-kaarten installeren in Arduino IDE - ESP32-knippercode: 3 stappen
Aan de slag met ESP32 | ESP32-kaarten installeren in Arduino IDE | ESP32-knippercode: in deze instructie zullen we zien hoe we met esp32 kunnen werken en hoe we esp32-kaarten in Arduino IDE kunnen installeren en we zullen esp 32 programmeren om knippercode uit te voeren met behulp van arduino ide
ESP32 VGA-slang: 5 stappen
ESP32 VGA Snake: In deze instructable laat ik zien hoe je een klassiek arcadespel - Snake - kunt reproduceren met een ESP32, met de uitgang voor een VGA-monitor. De resolutie is 640x350 pixels, in 8 kleuren. Ik heb eerder een versie gedaan met een Arduino Uno (zie hier), maar
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
ESP32 VGA Tetris: 3 stappen
ESP32 VGA Tetris: In deze Instructables zal ik laten zien hoe je een kloon van het klassieke spel Tetris kunt bouwen, met behulp van een ESP32 en het genereren van de output voor een VGA-monitor. Deze game wordt mogelijk gemaakt door de verbazingwekkende ESP32Lib Arduino-bibliotheek van bitluni. Je hebt de ESP32 b