Daftar Isi:

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

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

Video: Arduino Basic PC Dengan TV Output: 5 Langkah (dengan Gambar)
Video: Tonton Sampai Habis !!! Belajar Arduino Di Jamin Bisa 2024, Juni
Anonim
Image
Image
Arduino Basic PC Dengan Output TV
Arduino Basic PC Dengan Output TV
Arduino Basic PC Dengan Output TV
Arduino Basic PC Dengan Output TV
Arduino Basic PC Dengan Output TV
Arduino Basic PC Dengan Output TV

Dalam Instruksi ini saya akan menunjukkan bagaimana membangun komputer retro 8-bit yang menjalankan BASIC, dengan menggunakan dua Arduino dan beberapa komponen lainnya.

Anda dapat memasukkan variabel dan program BASIC dengan keyboard PS2, dan output ditampilkan pada monitor dengan teks 47 kolom x 29 baris karakter 8x8 piksel (B&W), resolusi yang sama atau lebih baik dari Commodore 64, sama dengan 40x25 karakter.

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.

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. Outputnya kemudian dikirim melalui port serial ke Arduino kedua yang menghasilkan output video berkat perpustakaan MRETV yang luar biasa.

Ide untuk menggunakan satu atau lebih Arduino untuk membuat PC gaya lama yang menjalankan dialek Basic bukanlah hal baru, tetapi sejauh ini ada beberapa batasan kuat dalam resolusi output. Dalam beberapa proyek yang tersedia di internet, orang menggunakan layar LCD, sementara di proyek lain, untuk memungkinkan penggunaan monitor, telah digunakan perpustakaan TVout, yang memiliki resolusi jauh lebih rendah. Lebih jauh lagi, dalam banyak proyek ini, perisai atau perangkat keras khusus harus dibuat.

Di sini Anda hanya membutuhkan dua Arduino, sepasang dioda, 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 MRETV bekerja untuk yang lebih tua - dan berbeda - Arduino IDE.

Pertama unduh IDE 1.6.4 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.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 viariable 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 = 2400

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;
  • tentu saja Anda perlu menghubungkan GND dan +5V juga.

Saya mendapatkan konektor PS2 female lama dari motherboard PC yang rusak. Anda dapat melepasnya dengan heat gun.

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

Langkah 3: Unggah Perpustakaan MRETV di Arduino Kedua dan Kumpulkan Semuanya

Unggah Perpustakaan MRETV di Arduino Kedua dan Satukan Semuanya
Unggah Perpustakaan MRETV di Arduino Kedua dan Satukan Semuanya

Poin kunci dari proyek ini adalah keberadaan perpustakaan MRETV yang mengagumkan. Ada Instruksi khusus yang dijelaskan secara rinci.

Ini hanya menggunakan dua resistor dan dua dioda untuk menghasilkan video layar penuh, dengan resolusi teks 47 x 29 karakter 8x8. Seperti yang dikatakan dalam pendahuluan, "pembuatan video telah dilakukan sebelumnya, tetapi tidak seperti ini. Serial FULL DUPLEX masih tersedia saat menghasilkan video". Ini memungkinkan untuk mendapatkan data dari "master" Arduino dan menampilkannya di monitor. Dalam praktiknya Arduino "budak" kedua ini digunakan sebagai antarmuka grafis!

Karena MRETV berfungsi untuk IDE 1.6.6, unduh dari halaman web resmi Arduino. Sekali lagi, yang terbaik adalah mengunduhnya dalam format.zip dan membuka kompresnya di PC Anda. Klik tautan ini untuk mengunduh versi Windows.

Unduh perpustakaan MRETV dari tautan ini.

Buka kompresinya dan simpan folder "MRETV" di: arduino-1.6.6\libraries

Terakhir unduh TVtext_slave.rar di bagian bawah halaman ini, buka kompresnya dan unggah di slave Arduino Anda.

Jika tidak ada pesan kesalahan, Anda dapat menghubungkan konektor RCA. Anda memerlukan dua dioda dan resistor 1 kOhm dan 300 Ohm, seperti yang ditunjukkan pada skema di halaman ini.

Pada titik ini Anda dapat menghubungkan semuanya bersama-sama.

Daftar bahan lengkapnya adalah:

  • dua Arduino Uno Rev. 3 atau dua Arduino Nano 3.x (ATmega328)
  • dua resistor 1 kOhm
  • satu resistor 300 Ohm
  • dua dioda 1n4148 (x2) atau dioda switching silikon serupa
  • dua konektor RCA female (satu untuk video, satu - fakultatif - untuk audio)
  • konektor perempuan PS2
  • papan tempat memotong roti dan kabel

Arduino master mengirimkan data ke slave melalui kabel orange, yaitu master pin 1 (Tx) ke slave pin 2 (Rx). Jika Anda perlu mengunggah ulang beberapa kode, Anda harus melepaskan kabel ini terlebih dahulu.

Hubungkan kemudian slave arduino ke catu daya 5V, kabel RCA ke TV dan keyboard ke PS2, dan Anda sekarang akan melihat kode ke TV Anda!

Fungsi dialek Dasar ini dijelaskan secara rinci di berandanya (lihat tautan di langkah 2). Dengan perintah "esave" dan "eload" Anda dapat menyimpan satu program Basic di EEPROM. Program ini dijalankan secara default setiap kali Anda mereset master Arduino. Untuk menghapusnya Anda dapat menggunakan perintah "eformat".

Salah satu fitur terpenting dari program ini adalah Anda masih dapat menjalankan master Arduino I/O dengan perintah Dasar khusus, seperti

  • Pin DWRITE, nilai - setel pin dengan nilai (TINGGI, HI, RENDAH, LO)
  • Pin AWRITE, nilai - setel pin dengan nilai analog (pwm) 0..255
  • DREAD(pin) - dapatkan nilai pin
  • AREAD(analogPin) - dapatkan nilai pin analog

Dengan demikian Anda dapat menulis program di Basic yang menggerakkan beberapa perangkat keras, menyimpannya di EEPROM dan kemudian menjalankannya secara otomatis hanya mengatur ulang Arduino.

Langkah 4: 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 Dasar ini menggunakan PCB kecil. Anda dapat mengambil inspirasi dari gambar pada langkah ini atau Anda bahkan dapat mencetak papan Anda.

Anda dapat menggunakan dua strip header perempuan dengan 15 lubang untuk output video Arduino, sedangkan untuk master saya sarankan menggunakan empat strip. Dengan cara ini Anda dapat menggunakan yang eksternal untuk memasukkan kontak komponen proyek Anda.

Saya juga menambahkan di tengah ke strip sisa, satu terhubung ke 5 V dan yang lainnya untuk GND.

Terakhir, dalam file.rar, Anda dapat menemukan topeng untuk mengetsa papan tembaga.

Langkah 5: Komentar Terakhir dan Ucapan Terima Kasih

Proyek ini tidak dapat dilakukan tanpa perpustakaan MRETV. Demikian pengakuan utama saya kepada penulisnya, yang menggunakan akronim Mr E.

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: lebih mudah untuk membangun yang mungkin tampak pada pandangan pertama. Masalah utama saya adalah dengan kompatibilitas Arduino IDE. 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: