İçindekiler:

VGA Çıkışlı Arduino Basic PC: 5 Adım (Resimli)
VGA Çıkışlı Arduino Basic PC: 5 Adım (Resimli)

Video: VGA Çıkışlı Arduino Basic PC: 5 Adım (Resimli)

Video: VGA Çıkışlı Arduino Basic PC: 5 Adım (Resimli)
Video: Arduino Leanardo Project || USB Keyboard || HID Device || #Shorts || #ShortVideo | #TrendingVideo 2024, Temmuz
Anonim
Image
Image
VGA Çıkışlı Arduino Temel PC
VGA Çıkışlı Arduino Temel PC
VGA Çıkışlı Arduino Temel PC
VGA Çıkışlı Arduino Temel PC

Önceki Eğitim Tablomda, iki Arduino aracılığıyla ve bir TV ekranı için siyah beyaz bir çıkış sinyali ile BASIC çalıştıran bir retro 8-bit bilgisayarın nasıl oluşturulacağını gösterdim.

Şimdi aynı bilgisayarın nasıl oluşturulacağını göstereceğim, ancak çıkış sinyali bir VGA monitör için renkli olacak!

Değişkenleri ve BASIC programını bir PS2 klavye ile girebilirsiniz ve bu, dört renkte 24 sütun x 10 satır 5x6 piksel karakterlik metin çözünürlüğüne sahip bir VGA monitör için çıktı oluşturur. Üst videoda çalışırken görebilirsiniz. Program daha sonra Arduino EEPROM'a kaydedilebilir ve yine de I/O pinlerini doğrudan Temel özel komutlarla kontrol edebilirsiniz.

Bu proje, bu sayfadaki üçüncü resimde gösterildiği gibi, basit metin mesajlarını monitöre yazdırmak için de kullanılabilir.

Bir Arduino "ustadır" ve Tiny Basic'in bir C uygulaması olan Tiny Basic Plus'ı çalıştırır ve Arduino desteğine odaklanır. Ayrıca bir PS2 klavyesini de kontrol eder. Çıkış daha sonra seri port üzerinden VGAx kütüphanesi sayesinde VGA çıkışını üreten ikinci Arduino'ya gönderilir.

Bir veya daha fazla Arduino'yu kullanarak bir Basic lehçesi çalıştıran eski tarz bir PC oluşturma fikri yeni değil ama bildiğim kadarıyla hiçbirinin renkli çıktısı yok. İnternette bulunan bazı projelerde insanlar LCD ekranlar kullanırken, bazılarında monitör kullanımına izin vermek için siyah beyaz olan TVout kütüphanesi kullanılmıştır. Ayrıca bu projelerin çoğunda özel kalkanlar veya donanımlar inşa edilmelidir. Burada, yukarıdaki resimlerde gösterildiği gibi sadece iki Arduino, birkaç direnç ve PS2 klavyesi ve monitör için konektöre ihtiyacınız var.

Adım 1: TinyBasic ve PS2 Klavye ile Arduino Master'ı Oluşturun

TinyBasic Plus ve VGAx kütüphanesi Arduino IDE 1.6.4 için çalışır.

İlk önce Arduino resmi web sayfasından indirin. PC'nizde daha yeni sürümler varsa, en iyisi onu.zip formatında indirmek ve PC'nizde sıkıştırmasını açmaktır. Windows sürümünü indirmek için bu bağlantıya tıklayın.

O zaman PS2keyboard kitaplığına ihtiyacınız var. Bu sayfanın alt kısmında bulabilirsiniz. Sadece sıkıştırın ve PS2keyboard klasörünü şuraya kopyalayın: arduino-1.6.4\libraries

Son olarak, bu sayfada dosyayı indirin: TinyBasicPlus_PS2_VGAx.ino, sıkıştırın ve Arduino'nuza yükleyin.

Bu, standart TinyBasic Plus'ın, PS2 kitaplığını eklediğim ve ondan değişkenleri kabul etmek için kodu değiştirdiğim bir varyasyonudur.

TiniBasic Plus ve öğreticiler hakkında daha fazla ayrıntı bu bağlantıda bulunabilir.

Herhangi bir sorun ve uyumluluk sorunu yoksa Tiny Basic zaten çalışıyordur. PC'nizdeki bir seri monitör aracılığıyla test edebilirsiniz. Bu amaçla PuTTY kullanıyorum, ancak başka birçok program mevcut.

Doğru COM bağlantı noktasını (Arduino IDE'de bulduğunuzla aynıdır) ve baud hızı = 4800'ü ayarlamanız gerekir.

Burada bazı programları zaten PC klavyenizle yazarak Basic'te test edebilirsiniz (Not daha sonra PS2 klavyesini doğrudan Arduino'ya nasıl bağlayacağımı göstereceğim).

Örneğin deneyin:

10 BASKI "Merhaba Dünya!"

20 GOTO 10

ÇALIŞTIRMAK

Daha sonra sadece ctrl+c yazarak sonsuz döngüyü durdurabilirsiniz.

Bu kombinasyonun PS2 klavyesi için çalışmayacağını unutmayın.

Bir sonraki adımda PS2 klavyesini Arduino'ya nasıl bağlayacağımı göstereceğim.

Adım 2: PS2 Klavyesini Master Arduino'ya bağlayın

PS2 Klavyesini Master Arduino'ya bağlayın
PS2 Klavyesini Master Arduino'ya bağlayın

Tüm bilgileri ve kütüphaneyi bu Eğitilebilir Dosyadan aldım.

Esasen aşağıdaki dört pimi bağlamanız gerekir:

  • Arduino pin 8'e klavye Verileri,
  • Arduino pin 3'e klavye IRQ'su (saat);
  • GND ve +5V'u da bağlamanız gerekir.

Kırık bir PC anakartından eski bir PS2 dişi konektör aldım. Bir ısı tabancasıyla kolayca satabilirsiniz.

Bu adımda gösterilen resimde, PS2 konektörünün gerekli pinlerinin işlevini bulabilirsiniz.

Adım 3: VGAx Kitaplığını ve Kodunu İkinci Arduino'ya Yükleyin ve Her Şeyi Bir Araya Getirin

VGAx Kitaplığını ve Kodunu İkinci Arduino'ya Yükleyin ve Her Şeyi Bir Araya Getirin
VGAx Kitaplığını ve Kodunu İkinci Arduino'ya Yükleyin ve Her Şeyi Bir Araya Getirin

İlk önce bu sayfanın en altındaki VGAx-PC.ino kodunu indirin ve PC'nizde aynı ada sahip bir dizine kopyalayın.

GitHub'daki bu bağlantıdan VGAx kitaplığını indirin. En kolay yol, hemen tanınması için "kütüphaneler" adlı Arduino yazılımı alt klasörüne kopyalamaktır.

ÖNEMLİ: Bu kitaplık Arduno IDE 1.6.4 için çalışıyor ancak daha eski veya daha yeni sürümlerle tam uyumlu değil.

VGAx-PC.ino'yu ikinci Arduino kartınıza yükleyin (Nano versiyonu için test ettim ama Uno da çalışmalı).

Düşük kullanılabilir bellek için bir uyarı normaldir. Başka bir hatanız yoksa, her şey yolunda demektir ve hemen kendi 8-bit PC'nizi oluşturmaya başlayabilirsiniz.

Bunun için ihtiyacınız olan:

  • iki Arduino Uno Rev. 3 veya iki Arduino Nano 3.x (ATmega328)
  • bir DSUB15 Konektör, yani bir VGA dişi konektör veya kesilecek bir VGA kablosu.
  • dirençler: 2 x 68 Ohm ve 2 x 470 Ohm
  • bir PS2 dişi konnektör
  • teller
  • isteğe bağlı: bir devre tahtası veya bir şerit tahtası

Şematik, bu adımın en üstünde rapor edilir. Giriş adımında bitmiş bir "konsol" örneği gösterilmektedir.

Aynı şema, daha yüksek çözünürlüğe sahip, bu adımın altında sıkıştırılmış bir dosyada rapor edilir.

Adım 4: İsteğe bağlı: PCB kullanma

İsteğe bağlı: PCB kullanma
İsteğe bağlı: PCB kullanma
İsteğe bağlı: PCB kullanma
İsteğe bağlı: PCB kullanma
İsteğe bağlı: PCB kullanma
İsteğe bağlı: PCB kullanma
İsteğe bağlı: PCB kullanma
İsteğe bağlı: PCB kullanma

Bu Temel VGA PC'yi küçük bir PCB kullanarak da oluşturabilirsiniz. Bu adımdaki resimlerden ilham alabilir veya kendi panonuzu bile yazdırabilirsiniz.

Arduino video çıkışı için 15 delikli iki dişi başlık şeridi kullandım, master için ise çift delikli iki şerit kullandım. Bu şekilde, doğrudan Temel kodla çalıştırılabilen diğer proje bileşenlerinin bağlantılarını eklemek için harici olanları kullanabilirim. Ayrıca, biri 5 V'a ve diğeri GND'ye bağlı kalan şeritlere merkeze ekledim.

Adım 5: Son Yorumlar ve Teşekkür

Ana teşekkürüm, harika VGAx kitaplığının yaratıcısı Sandro Maffiodo aka Smaffer'a gidiyor.

TinyBasic Plus'ın yazarlarına da çok teşekkürler:

  • Minik Temel 68k - Gordon Brandly
  • Arduino Basic / Tiny Basic C - Michael Field
  • Minik Temel Artı - Scott Lawrence

PS2 klavyesinin bağlantısı için Instructable'ın yazarı olan "djsadeepa"ya da teşekkürler.

Bu projeyle ilgilenen tüm insanlara: Bir sorununuz varsa, yorumlarda önerilerde bulunmaktan çekinmeyin.

Başarılı olursanız, lütfen siz de bir yorum yazın veya yaptığınız cihazın bir resmini paylaşın.

Önerilen: