Spisu treści:

ESP32 Basic PC z wyjściem VGA: 7 kroków
ESP32 Basic PC z wyjściem VGA: 7 kroków

Wideo: ESP32 Basic PC z wyjściem VGA: 7 kroków

Wideo: ESP32 Basic PC z wyjściem VGA: 7 kroków
Wideo: Jak wejść w świat FPGA? – Rafał Bartoszak 2024, Listopad
Anonim
Image
Image
Płyty ESP32, instalacja Arduino IDE i konfiguracja biblioteki VGA
Płyty ESP32, instalacja Arduino IDE i konfiguracja biblioteki VGA

W tym Instruktażu pokażę, jak zbudować prosty komputer w stylu retro z jednym ESP32 i kilkoma innymi komponentami.

Ten komputer PC obsługuje Tiny Basic, uproszczony dialekt języka BASIC i generuje dane wyjściowe dla monitora VGA.

Rozdzielczość to 640x350 pikseli, co pozwala na 80x25 znaków asci w 8 kolorach. Klawiatury PS2 można podłączyć i używać do pisania kodu, pozwalając na pamięć do 14059 bajtów.

Piny ESP32 I/O mogą być bezpośrednio sterowane za pomocą dedykowanych poleceń BASIC.

Ten projekt jest możliwy dzięki niesamowitej bibliotece VGA ESP32 napisanej przez Fabrizio Di Vittorio. Więcej szczegółów znajdziesz tutaj.

Krok 1: Płyty ESP32, instalacja Arduino IDE i konfiguracja biblioteki VGA

Płyty ESP32, instalacja Arduino IDE i konfiguracja biblioteki VGA
Płyty ESP32, instalacja Arduino IDE i konfiguracja biblioteki VGA
Płyty ESP32, instalacja Arduino IDE i konfiguracja biblioteki VGA
Płyty ESP32, instalacja Arduino IDE i konfiguracja biblioteki VGA

Przede wszystkim musisz kupić ESP32 w wersji 1 lub wyższej. Dostępnych jest wiele wersji, ale polecam wybrać taką z wieloma pinami. Używam tej wersji, ale myślę, że wiele innych też jest w porządku. Na przykład w opisie tego filmu możesz znaleźć trzy inne modele, które są poniżej 5 dolców.

Po zdobyciu tablicy musisz wykonać następujące trzy kroki podrzędne:

  1. Zainstaluj ostatnie Arduino IDE
  2. Skonfiguruj ESP32 w IDE i
  3. Zainstaluj bibliotekę VGA

Podetap 1.

Istnieją różne metody programowania ESP32, ale tutaj musisz użyć najnowszego Arduino IDE (używam wersji 1.8.9). Aby go zainstalować, możesz przejść do strony Arduino IDE i postępować zgodnie z instrukcją.

Podetap 2

Po wykonaniu poprzedniej operacji należy skonfigurować ESP32 w środowisku Arduino IDE. Nie jest to trywialne, ponieważ ESP32 nie jest (jeszcze?) w nim natywny. Możesz śledzić ten samouczek lub następujące kroki.

1) otwórz Arduino IDE

2) otwórz okno preferencji, Plik/Preferencje, alternatywnie naciśnij „Ctrl+przecinek”

3) przejdź do „Additional Board Manager URLs”, skopiuj i wklej następujący tekst:

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

i kliknij przycisk OK.

4) Menedżer otwartych tablic. Przejdź do Narzędzia/Płyty/Menedżer tablic…

5) Wyszukaj ESP32 i naciśnij przycisk instalacji dla „ESP32 by Espressif Systems”:

6) W tym momencie, kiedy podłączasz swój ESP32 po raz pierwszy, powinieneś wybrać odpowiedni model z długiej listy dostępnych płyt ESP32 (patrz zdjęcie w tym kroku). W przypadku wątpliwości co do modelu wystarczy wybrać ten rodzajowy, czyli pierwszy. Mi to pasuje.

7) system powinien również wybrać odpowiedni port USB i prędkość wysyłania (zwykle 921600). W tym momencie powinno zostać nawiązane połączenie między komputerem a płytą ESP32.

Podetap 3

Na koniec musisz zainstalować bibliotekę FabGL VGA. [aktualizacja z lipca 2019 r.] Potrzebujesz starej wersji tej biblioteki: możesz pobrać plik zip src.old.zip na dole tego kroku, rozpakować i zmienić nazwę folderu na „src” w swoim

Folder „…\arduino-1.8.9\biblioteki”.

Po wykonaniu tych operacji możesz przejść do następnego kroku i przesłać zmodyfikowany TinyBasic po następnym kroku.

Krok 2: Wgrywanie kodu Tiny Basic do ESP32

Przesyłanie kodu Tiny Basic do ESP32
Przesyłanie kodu Tiny Basic do ESP32
Przesyłanie kodu Tiny Basic do ESP32
Przesyłanie kodu Tiny Basic do ESP32

Pobierz ESP32_TinyBasicPlus_PS2_FabLab_beta.ino na dole tego kroku.

Otwórz go za pomocą Arduino IDE i prześlij do surowego ESP32.

Jeśli nie masz żadnych komunikatów o błędach, kod powinien już działać.

Fakultatywny krok: jeśli chcesz przetestować TinyBasic przed podłączeniem klawiatury VGA i PS2, możesz już to zrobić za pomocą klienta SSH i telnet. Używam PuTTY.

Możesz zobaczyć, jak to wygląda na zdjęciach w tym kroku.

Krok 3: Podłączanie portu VGA

Podłączanie portu VGA
Podłączanie portu VGA

Potrzebujesz następujących części:

  • złącze DSUB15, tj. złącze żeńskie VGA lub kabel VGA do przecięcia.
  • trzy rezystory 270 Ohm.

Podłącz piny 2, 15 i 21 GPIO ESP32 do odpowiednio czerwonego, zielonego i niebieskiego VGA przez rezystory 270 Ohm.

Podłącz VGA Hsync i Vsync do odpowiednio pinów 17 i 4 ESP32 GPIO.

Podłącz styki 5, 6, 7, 8 i 10 złącza DSUB15 do ESP32 GND.

Aby zapoznać się z definicją styków złącza VGA DSUB15, zobacz rysunek w tym kroku. Uwaga, jest to strona lutownicza złącza żeńskiego.

Krok 4: Podłączanie portu PS2

Podłączanie portu PS2
Podłączanie portu PS2

Potrzebujesz złącza żeńskiego klawiatury PS2.

Możesz go zdobyć ze starej płyty głównej komputera, po prostu odsprzedaj go za pomocą opalarki. Na rysunku pokazanym w tym kroku można znaleźć funkcję potrzebnych pinów złącza PS2.

Połączenie to:

  • Dane klawiatury do ESP32 GPIO pin 32
  • IRQ klawiatury (zegar) do ESP32 GPIO pin 33
  • Musisz również podłączyć pin 5V i GND.

Krok 5: Programowanie za pomocą Tiny Basic

Programowanie za pomocą Tiny Basic
Programowanie za pomocą Tiny Basic
Programowanie za pomocą Tiny Basic
Programowanie za pomocą Tiny Basic

W tym momencie o ile można podłączyć monitor VGA i klawiaturę PS2 oraz ESP32 do zasilania.

Pokazany tutaj obraz powinien pojawić się na monitorze. Teraz możesz trochę pobawić się poleceniami Tiny Basic.

Wypróbuj na przykład obowiązkowe Hello, Word! nieskończona pętla:

10 drukuj "Witaj świecie!"

20 do 10

biegać

Możesz zmienić cztery różne kolory, naciskając przycisk esc, i zatrzymać pętlę za pomocą ctrl+c

Pamiętaj, że jeśli popełnisz literówkę, nie możesz jej anulować! Albo lepiej, możesz anulować, ale wtedy korekta literówki nie jest rozpoznawana. Musisz przepisać całą linię poleceń.

Teraz możesz spróbować czegoś bardziej złożonego, na przykład sterowania miganiem diody LED za pomocą podstawowego programu. Podłącz np. anodę LED (długa noga) do pinu 13 GPIO ESP32, a katodę do GND.

Następnie napisz:

Nowy

10 i=1000

20 drukuj

30 opóźnień i

40 dwrite 13, wysoki

50 opóźnienie i

60 dwrite 13, niski

70 i=i*9/10

80 jeśli i>0 idź do 20

90 koniec

biegać

Możesz zobaczyć wynik w filmie osadzonym w tej instrukcji.

Krok 6: Podłączanie karty pamięci SD

Podłączanie karty pamięci SD
Podłączanie karty pamięci SD
Podłączanie karty pamięci SD
Podłączanie karty pamięci SD

Stary komputer PC, nieważne jak mały i słaby, nie może być kompletny, jeśli nie możesz na stałe przechowywać swoich programów.

W tym kroku pokażę, jak podłączyć kartę pamięci SD, ale niestety na razie (mam nadzieję, że tylko na chwilę), przechowywanie programów nie działa!

BTW, użyłem adaptera microSD na kartę SD i przylutowałem 8 pinów w kształcie litery L, jak pokazano na zdjęciu w tym kroku.

Następnie podłączyłem piny adapterów SD do ESP32 zgodnie z drugim zdjęciem, czyli podłączyłem piny 5,18,19,23 ESP32 GPIO odpowiednio do SC, clock, MISO, MOSO plus 3,3V i dwa GND.

Postępowałem również zgodnie z instrukcjami i przykładami znalezionymi tutaj, a dzięki przykładowemu kodowi SD_test.ino mogę pisać na mojej karcie microSD o pojemności 2 GB.

Tak więc, jeśli ktoś znajdzie rozwiązanie, poinformuj mnie jak najszybciej na mój e-mail [email protected], a wypełnię tę instrukcję.

Krok 7: Podziękowania

Podziękowanie
Podziękowanie

Chciałbym przekazać moje czołgi Fabrizio Di Vittorio za jego niesamowitą bibliotekę VGA ESP32. Aby uzyskać więcej szczegółów, przykładów i… Space Invaders, odwiedź jego stronę tutaj.

wielkie podziękowania również dla autorów Tiny Basic:

  • Mike Field
  • Scott Lawrence
  • Brian O'Dell

Na koniec, jeśli podoba Ci się ten projekt, napisz komentarz lub udostępnij zdjęcie zbudowanego urządzenia… i przede wszystkim zagłosuj na niego w konkursie Arduino!

Zalecana: