İçindekiler:

VGA Çıkışlı ESP32 Basic PC: 7 Adım
VGA Çıkışlı ESP32 Basic PC: 7 Adım

Video: VGA Çıkışlı ESP32 Basic PC: 7 Adım

Video: VGA Çıkışlı ESP32 Basic PC: 7 Adım
Video: doubling the drop every time the PC survives #shorts 2024, Kasım
Anonim
Image
Image
ESP32 Kartları, Arduino IDE Kurulumu ve VGA Kütüphane Yapılandırması
ESP32 Kartları, Arduino IDE Kurulumu ve VGA Kütüphane Yapılandırması

Bu Eğitilebilir Kitapta, tek bir ESP32 ve diğer birkaç bileşenle yapılmış basit bir retro tarzı PC'nin nasıl oluşturulacağını göstereceğim.

Bu bilgisayar, BASIC'in basitleştirilmiş bir lehçesi olan Tiny Basic'i çalıştırır ve bir VGA monitör için çıktı oluşturur.

Çözünürlük 640x350 piksel olup, 8 renkte 80x25 asci karaktere izin verir. Bir PS2 klavyesi bağlanabilir ve kodu yazmak için kullanılabilir, bu da 14059 bayta kadar belleğe izin verir.

ESP32 I/O pinleri, özel BASIC komutları ile doğrudan çalıştırılabilir.

Bu proje, Fabrizio Di Vittorio tarafından yazılan harika ESP32 VGA kitaplığı sayesinde mümkün oldu. Daha fazla ayrıntı için buraya bakın.

Adım 1: ESP32 Kartları, Arduino IDE Kurulumu ve VGA Kütüphane Yapılandırması

ESP32 Kartları, Arduino IDE Kurulumu ve VGA Kütüphane Yapılandırması
ESP32 Kartları, Arduino IDE Kurulumu ve VGA Kütüphane Yapılandırması
ESP32 Kartları, Arduino IDE Kurulumu ve VGA Kütüphane Yapılandırması
ESP32 Kartları, Arduino IDE Kurulumu ve VGA Kütüphane Yapılandırması

Her şeyden önce bir ESP32 revizyon 1 veya üstü satın almanız gerekir. Mevcut birçok versiyon var, ancak çok pinli bir tane seçmenizi tavsiye ederim. Bu sürümü kullanıyorum, ancak diğerlerinin de iyi olduğunu düşünüyorum. Örneğin, bu videonun açıklamasında 5 doların altında olan üç model daha bulabilirsiniz.

Tahtayı aldıktan sonra, aşağıdaki üç alt adımla ilerlemeniz gerekir:

  1. Son Arduino IDE'yi yükleyin
  2. IDE'de ESP32'yi yapılandırın ve
  3. VGA kitaplığını yükleyin

Alt adım 1.

ESP32'yi programlamak için farklı yöntemler vardır, ancak burada en son Arduino IDE'yi kullanmanız gerekir (1.8.9 sürümünü kullanıyorum). Kurmak için Arduino IDE sayfasına gidebilir ve talimatları takip edebilirsiniz.

Alt adım 2

Önceki işlem yapıldıktan sonra, Arduino IDE içinde ESP32'nizi yapılandırmanız gerekir. ESP32 (henüz?) yerel olmadığı için bu önemsiz değildir. Bu öğreticiyi veya aşağıdaki adımları takip edebilirsiniz.

1) Arduino IDE'yi açın

2) tercihler penceresini açın, Dosya/Tercih, alternatif olarak "Ctrl+virgül" tuşlarına basın

3) "Ek Pano Yöneticisi URL'leri"ne gidin, aşağıdaki metni kopyalayıp yapıştırın:

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

ve Tamam düğmesini tıklayın.

4) Kurul yöneticisini açın. Araçlar/Pano/Pano Yöneticisi'ne gidin…

5) ESP32'yi arayın ve “ESP32 by Espressif Systems“için kurulum düğmesine basın:

6) Bu noktada, ESP32'nizi ilk kez bağladığınızda, mevcut ESP32 kartlarının uzun listesinden doğru modeli seçmelisiniz (bu adımdaki resme bakın). Model hakkında şüpheniz varsa, genel olanı seçin, yani ilkini. Benim için çalışıyor.

7) sistem ayrıca doğru USB bağlantı noktasını ve Yükleme Hızını (normalde 921600) seçmelidir. Bu noktada PC'niz ile ESP32 kartı arasındaki bağlantı kurulmalıdır.

Alt adım 3

Son olarak FabGL VGA kitaplığını kurmanız gerekiyor. [Temmuz 2019 güncellemesi] Bu kitaplığın eski sürümüne ihtiyacınız var: src.old.zip zip dosyasını bu adımın alt kısmında indirebilir, sıkıştırmayı açıp klasörü "src" olarak yeniden adlandırabilirsiniz.

"…\arduino-1.8.9\libraries" klasörü.

Bu işlemleri yaptıktan sonra bir sonraki adıma geçebilir ve bir sonraki adımın ardından değiştirilmiş TinyBasic'i yükleyebilirsiniz.

Adım 2: Tiny Basic Code'u ESP32'ye Yükleme

Tiny Basic Code'u ESP32'ye Yükleme
Tiny Basic Code'u ESP32'ye Yükleme
Tiny Basic Code'u ESP32'ye Yükleme
Tiny Basic Code'u ESP32'ye Yükleme

Bu adımın altındaki ESP32_TinyBasicPlus_PS2_FabLab_beta.ino dosyasını indirin.

Arduino IDE ile açın ve ham ESP32'nize yükleyin.

Hata mesajınız yoksa, kod zaten çalışıyor olmalıdır.

İsteğe bağlı adım: TinyBasic'i VGA ve PS2 klavyesini bağlamadan önce test etmek istiyorsanız, bunu zaten bir SSH ve telnet istemcisi ile yapabilirsiniz. PuTTY kullanıyorum.

Bu adımda resimlerde nasıl göründüğünü görebilirsiniz.

Adım 3: VGA Bağlantı Noktasını Bağlama

VGA Bağlantı Noktasını Bağlama
VGA Bağlantı Noktasını Bağlama

Aşağıdaki parçalara ihtiyacınız var:

  • bir DSUB15 Konektör, yani bir VGA dişi konektör veya kesilecek bir VGA kablosu.
  • üç 270 Ohm direnç.

ESP32 GPIO pin 2, 15 ve 21'i 270 Ohm dirençler aracılığıyla sırasıyla VGA Kırmızı, Yeşil ve Mavi'ye bağlayın.

VGA Hsync ve Vsync'i sırasıyla ESP32 GPIO pinleri 17 ve 4'e bağlayın.

DSUB15 konektörlerinin 5, 6, 7, 8 ve 10 numaralı pinlerini ESP32 GND'ye bağlayın.

VGA DSUB15 konektör pin tanımı için bu adımdaki resme bakın. Not, bu dişi konnektörün lehimleme tarafıdır.

4. Adım: PS2 Bağlantı Noktasını Bağlama

PS2 Bağlantı Noktasını Bağlama
PS2 Bağlantı Noktasını Bağlama

Bir PS2 klavye dişi konektörüne ihtiyacınız var.

Eski bir PC anakartından bir tane alabilirsin, sadece bir ısı tabancasıyla satmazsın. Bu adımda gösterilen resimde, PS2 konektörünün gerekli pinlerinin işlevini bulabilirsiniz.

Bağlantı:

  • ESP32 GPIO pin 32'ye Klavye Verileri
  • Klavye IRQ'su (saat) ESP32 GPIO pin 33'e
  • Ayrıca 5V pini ve GND pinini de bağlamanız gerekir.

Adım 5: Tiny Basic ile Programlama

Tiny Basic ile Programlama
Tiny Basic ile Programlama
Tiny Basic ile Programlama
Tiny Basic ile Programlama

Bu noktada VGA monitörünü ve PS2 klavyesini ve ESP32'yi güç kaynağına bağlayabiliyorsanız.

Burada gösterilen görüntü monitörde görünmelidir. Artık Tiny Basic komutlarıyla biraz oynayabilirsiniz.

Örneğin, zorunlu Hello, Word! sonsuz döngü:

10 yazdır "Merhaba, Dünya!"

20 git 10

Çalıştırmak

esc tuşuna basarak dört farklı renk değiştirebilir, ctrl+c ile döngüyü durdurabilirsiniz.

Bir yazım hatası yaparsanız, iptal edemeyeceğinizi unutmayın! Ya da daha iyisi, iptal edebilirsiniz ancak daha sonra yazım hatası düzeltmesi tanınmaz. Tüm komut satırını yeniden yazmanız gerekir.

Artık bir LED'in yanıp sönmesini basit bir programla sürmek gibi daha karmaşık bir şey deneyebilirsiniz. Örneğin, LED anodunu (uzun bacak) ESP32 GPIO pin 13'e ve katodu GND'ye bağlayın.

Sonra yaz:

yeni

10 ben=1000

20 baskı ben

30 gecikme

40 dwrite 13, yüksek

50 gecikme

60 dwrite 13, düşük

70 ben=i*9/10

80 eğer i>0 ise 20'ye giderse

90 son

Çalıştırmak

Sonucu, bu Eğitilebilir Tabloya yerleştirilmiş videoda görebilirsiniz.

Adım 6: Bir SD Hafıza Kartının Bağlanması

Bir SD Hafıza Kartının Bağlanması
Bir SD Hafıza Kartının Bağlanması
Bir SD Hafıza Kartının Bağlanması
Bir SD Hafıza Kartının Bağlanması

Eski bir PC, ne kadar küçük ve zayıf olursa olsun, programlarınızı kalıcı olarak depolayamazsanız tamamlanmış olamaz.

Bu adımda bir SD hafıza kartının nasıl bağlanacağını göstereceğim, ancak ne yazık ki şu an için (umarım sadece şimdilik), programların saklanması çalışmıyor!

BTW, microSD - SD kart adaptörü kullandım ve bu adımda resimde gösterildiği gibi 8 adet L şeklinde pin lehimledim.

Daha sonra SD adaptör pinlerini ikinci resme göre ESP32'ye bağladım, yani ESP32 GPIO pinlerini 5, 18, 19, 23'e SC, saat, MISO, MOSO artı 3.3V ve iki GND'ye bağladım.

Ayrıca burada bulunan talimatları ve örnekleri takip ettim ve SD_test.ino örnek kodu ile 2 GB'lık microSD kartıma yazabiliyorum.

Bu nedenle, herhangi biri bir çözüm bulursa, lütfen beni en kısa sürede [email protected] e-posta adresime bildirin, ben de bu Talimatı tamamlayacağım.

7. Adım: Teşekkür

Teşekkür
Teşekkür

Tanklarımı harika ESP32 VGA kitaplığı için Fabrizio Di Vittorio'ya ifade etmek istiyorum. Daha fazla ayrıntı, örnekler ve… Space Invaders için sitesini buradan ziyaret edin.

Tiny Basic'in yazarlarına da çok teşekkürler:

  • Mike Alan
  • Scott Lawrence
  • Brian O'Dell

Son olarak, bu projeyi beğendiyseniz, lütfen bir yorum yazın veya inşa ettiğiniz cihazın bir resmini paylaşın… ve hepsinden öte, Arduino yarışmasında oy verin!

Önerilen: