Daftar Isi:

Arduino Basic PC Dengan Output VGA: 5 Langkah (dengan Gambar)
Arduino Basic PC Dengan Output VGA: 5 Langkah (dengan Gambar)

Video: Arduino Basic PC Dengan Output VGA: 5 Langkah (dengan Gambar)

Video: Arduino Basic PC Dengan Output VGA: 5 Langkah (dengan Gambar)
Video: Basic Arduino VGA Output 2024, November
Anonim
Image
Image
Arduino Basic PC Dengan Output VGA
Arduino Basic PC Dengan Output VGA
Arduino Basic PC Dengan Output VGA
Arduino Basic PC Dengan Output VGA

Dalam Instruksi saya sebelumnya, saya telah menunjukkan cara membuat komputer 8-bit retro yang menjalankan BASIC, melalui dua Arduino, dan dengan sinyal output dalam B&W untuk layar TV.

Sekarang saya akan menunjukkan cara membuat komputer yang sama, tetapi dengan sinyal keluaran berwarna untuk monitor VGA!

Anda dapat memasukkan variabel dan program BASIC dengan keyboard PS2, dan menghasilkan output untuk monitor VGA dengan resolusi teks 24 kolom x 10 baris karakter 5x6 piksel, dalam empat warna. Anda dapat melihatnya beraksi di video atas. Program kemudian dapat disimpan di Arduino EEPROM, dan Anda masih dapat mengontrol pin I/O secara langsung melalui perintah khusus Dasar.

Proyek ini juga dapat digunakan untuk mencetak pesan teks sederhana di monitor, seperti yang ditunjukkan pada gambar ketiga di halaman ini.

Satu Arduino adalah "master", dan menjalankan Tiny Basic Plus, implementasi C dari Tiny Basic, dengan fokus pada dukungan untuk Arduino. Ini juga mengontrol keyboard PS2. Output tersebut kemudian dikirim melalui port serial ke Arduino kedua yang menghasilkan output VGA berkat library VGAx.

Ide untuk menggunakan satu atau lebih Arduino untuk membuat PC gaya lama yang menjalankan dialek Basic bukanlah hal baru, tetapi, sejauh yang saya tahu, tidak ada satupun yang memiliki output warna. Dalam beberapa proyek yang tersedia di internet, orang menggunakan layar LCD, sementara di proyek lain, untuk memungkinkan penggunaan monitor, telah digunakan perpustakaan TVout, yaitu B&W. Lebih jauh lagi, dalam banyak proyek ini, perisai atau perangkat keras khusus harus dibuat. Di sini Anda hanya membutuhkan dua Arduino, beberapa resistor dan konektor untuk keyboard PS2 dan monitor, seperti yang ditunjukkan pada gambar di atas.

Langkah 1: Bangun Master Arduino Dengan TinyBasic dan Keyboard PS2

TinyBasic Plus dan pustaka VGAx berfungsi untuk Arduino IDE 1.6.4.

Pertama unduh dari halaman web resmi Arduino. Jika Anda memiliki versi yang lebih baru di PC Anda, yang terbaik adalah mengunduhnya dalam format.zip dan membuka kompresnya di PC Anda. Klik tautan ini untuk mengunduh versi Windows.

Anda memerlukan perpustakaan PS2keyboard. Anda dapat menemukannya di bagian bawah halaman ini. Buka kompresinya dan salin folder PS2keyboard di: arduino-1.6.4\libraries

Terakhir, di halaman ini, unduh file: TinyBasicPlus_PS2_VGAx.ino, buka kompres dan unggah ke Arduino Anda.

Ini adalah variasi dari TinyBasic Plus standar di mana saya telah menambahkan perpustakaan PS2 dan memodifikasi kode untuk menerima variabel darinya.

Detail lebih lanjut tentang TiniBasic Plus dan tutorial dapat ditemukan di tautan ini.

Jika tidak ada masalah, dan masalah kompatibilitas, Tiny Basic sudah berjalan. Anda dapat mengujinya melalui monitor serial di PC Anda. Untuk tujuan ini saya menggunakan Putty, tetapi banyak program lain yang tersedia.

Anda harus mengatur port COM yang benar (sama dengan yang Anda temukan di Arduino IDE) dan baud rate = 4800

Di sini Anda sudah dapat menguji beberapa program di Basic hanya dengan mengetiknya dengan keyboard PC Anda (NB nanti saya akan menunjukkan cara menghubungkan keyboard PS2 langsung ke Arduino).

Coba misalnya:

10 CETAK "Halo, Dunia!"

20 GOTO 10

LARI

Anda kemudian dapat menghentikan infinite loop hanya dengan mengetik ctrl+c.

Perhatikan bahwa kombinasi ini tidak akan berfungsi untuk keyboard PS2.

Pada langkah selanjutnya saya akan menunjukkan cara menghubungkan keyboard PS2 ke Arduino.

Langkah 2: Hubungkan Keyboard PS2 ke Master Arduino

Hubungkan Keyboard PS2 ke Master Arduino
Hubungkan Keyboard PS2 ke Master Arduino

Saya mendapatkan semua informasi dan perpustakaan dari Instructable ini.

Pada dasarnya Anda perlu menghubungkan empat pin berikut:

  • data keyboard ke pin arduino 8,
  • keyboard IRQ (jam) ke pin Arduino 3;
  • Anda perlu menghubungkan GND dan +5V juga.

Saya mendapat konektor perempuan PS2 lama dari motherboard PC yang rusak. Anda cukup melepasnya dengan senapan panas.

Pada gambar yang ditunjukkan pada langkah ini, Anda dapat menemukan fungsi pin konektor PS2 yang diperlukan.

Langkah 3: Unggah Perpustakaan dan Kode VGAx di Arduino Kedua dan Satukan Semuanya

Unggah Pustaka dan Kode VGAx di Arduino Kedua dan Satukan Semuanya
Unggah Pustaka dan Kode VGAx di Arduino Kedua dan Satukan Semuanya

Pertama unduh kode VGAx-PC.ino di bagian bawah halaman ini dan salin di PC Anda dalam direktori dengan nama yang sama.

Unduh pustaka VGAx dari tautan ini di GitHub. Cara termudah adalah menyalinnya di subfolder perangkat lunak Arduino bernama "perpustakaan", untuk segera dikenali.

PENTING: library ini berfungsi untuk Arduno IDE 1.6.4 tetapi tidak sepenuhnya kompatibel dengan versi yang lebih lama atau yang lebih baru.

Unggah VGAx-PC.ino di papan Arduino kedua Anda (saya mengujinya untuk versi Nano tetapi Uno juga berfungsi).

Peringatan untuk memori yang tersedia rendah adalah normal. Jika Anda tidak memiliki kesalahan lain, semuanya baik-baik saja dan Anda dapat segera mulai membangun PC 8-bit Anda sendiri.

Untuk ini, Anda perlu:

  • dua Arduino Uno Rev. 3 atau dua Arduino Nano 3.x (ATmega328)
  • Konektor DSUB15, yaitu konektor perempuan VGA atau kabel VGA yang akan dipotong.
  • resistor: 2 x 68 Ohm dan 2 x 470 Ohm
  • konektor perempuan PS2
  • kabel
  • fakultatif: papan tempat memotong roti atau papan strip

Skema dilaporkan di bagian atas langkah ini. Contoh "konsol" yang sudah jadi ditunjukkan pada langkah pendahuluan.

Skema yang sama, dengan resolusi yang lebih tinggi, dilaporkan dalam file terkompresi di bagian bawah langkah ini.

Langkah 4: Opsional: Menggunakan PCB

Opsional: Menggunakan PCB
Opsional: Menggunakan PCB
Opsional: Menggunakan PCB
Opsional: Menggunakan PCB
Opsional: Menggunakan PCB
Opsional: Menggunakan PCB
Opsional: Menggunakan PCB
Opsional: Menggunakan PCB

Anda juga dapat membangun PC VGA Basic ini menggunakan PCB kecil. Anda dapat mengambil inspirasi dari gambar pada langkah ini atau Anda bahkan dapat mencetak papan Anda sendiri.

Saya menggunakan dua strip header perempuan dengan 15 lubang untuk output video Arduino, sedangkan untuk master saya menggunakan dua strip dengan lubang ganda. Dengan cara ini saya dapat menggunakan yang eksternal untuk memasukkan kontak dari komponen proyek lain, yang dapat digerakkan langsung dengan kode Dasar. Saya juga menambahkan di tengah ke strip sisa, satu terhubung ke 5 V dan yang lainnya untuk GND.

Langkah 5: Komentar Terakhir dan Ucapan Terima Kasih

Pengetahuan utama saya jatuh ke Sandro Maffiodo alias Smaffer, pencipta perpustakaan VGAx yang mengagumkan.

Banyak terima kasih juga kepada penulis TinyBasic Plus:

  • Tiny Basic 68k - Gordon Brandly
  • Arduino Basic / Tiny Basic C - Michael Field
  • Tiny Basic Plus - Scott Lawrence

Terima kasih juga kepada "djsadeepa", penulis Instructable untuk koneksi keyboard PS2.

Untuk semua orang yang tertarik dengan proyek ini: jika Anda memiliki masalah, jangan ragu untuk meminta saran di komentar.

Jika Anda berhasil, silakan tulis komentar juga atau bagikan gambar perangkat yang Anda buat.

Direkomendasikan: