Isi kandungan:

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

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

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

Dalam Instructables ini saya akan menunjukkan cara membina komputer retro 8-bit yang menjalankan BASIC, dengan menggunakan dua Arduino dan beberapa komponen lain.

Anda boleh memasukkan pemboleh ubah dan program BASIC dengan papan kekunci PS2, dan output ditunjukkan pada monitor dengan teks 47 lajur x 29 baris watak 8x8 piksel (B&W), resolusi yang serupa atau lebih baik daripada Commodore 64, sama dengan 40 x 25 aksara.

Anda dapat melihatnya beraksi di video atas.

Program ini kemudiannya dapat disimpan di Arduino EEPROM, dan anda masih dapat mengawal pin I / O secara langsung melalui perintah khusus Basic.

One Arduino adalah "master", dan menjalankan Tiny Basic Plus, implementasi C dari Tiny Basic, dengan fokus pada sokongan untuk Arduino. Ia juga mengawal papan kekunci PS2. Keluaran kemudian dihantar melalui port bersiri ke Arduino kedua yang menghasilkan output video berkat perpustakaan MRETV yang mengagumkan.

Idea untuk menggunakan satu atau lebih Arduino untuk membuat PC gaya lama yang menjalankan dialek Basic bukanlah perkara baru, tetapi sejauh ini terdapat beberapa batasan kuat dalam resolusi output. Dalam beberapa projek yang tersedia di internet, orang menggunakan paparan LCD, sementara yang lain, untuk membolehkan penggunaan monitor, telah digunakan perpustakaan TVout, yang memiliki resolusi yang jauh lebih rendah. Selanjutnya dalam banyak projek ini, perisai atau perkakasan khas harus dibina.

Di sini anda hanya memerlukan dua Arduino, beberapa dioda, beberapa perintang dan penyambung untuk papan kekunci PS2 dan monitor, seperti yang ditunjukkan dalam gambar di atas.

Langkah 1: Bina Arduino Master Dengan Papan Kekunci TinyBasic dan PS2

TinyBasic Plus dan MRETV berfungsi untuk penatua - dan berbeza - Arduino IDE.

Muat turun pertama IDE 1.6.4 dari laman web rasmi Arduino. Sekiranya anda mempunyai versi yang lebih baru pada PC anda, yang terbaik adalah memuat turunnya dalam format.zip dan memampatkannya pada PC anda. Klik pautan ini untuk memuat turun versi Windows.

Anda memerlukan perpustakaan papan kekunci PS2. Anda boleh mendapatkannya di bahagian bawah halaman ini. Cukup tekan dan salin folder papan kekunci PS2 di: arduino-1.6.4 / library

Akhirnya, di halaman ini, muat turun fail: TinyBasicPlus_PS2.ino, tekan dan muat naik di Arduino anda.

Ini adalah variasi dari TinyBasic Plus standard di mana saya telah menambahkan perpustakaan PS2 dan mengubah kod untuk menerima perubahan daripadanya.

Maklumat lanjut mengenai TiniBasic Plus dan tutorial boleh didapati di pautan ini.

Sekiranya tidak ada masalah, dan masalah keserasian, Tiny Basic sudah berjalan. Anda boleh mengujinya melalui monitor bersiri di PC anda. Untuk tujuan ini saya menggunakan PuTTY, tetapi banyak program lain yang ada.

Anda harus menetapkan port COM yang betul (sama seperti yang anda dapati di Arduino IDE) dan baud rate = 2400

Di sini anda sudah dapat menguji beberapa program dalam Basic hanya dengan menaipnya dengan papan kekunci PC anda (NB nanti saya akan menunjukkan cara menyambungkan papan kekunci PS2 terus ke Arduino).

Cuba contohnya:

10 CETAKAN "Helo, Dunia!"

20 GOTO 10

JALANKAN

Anda kemudian boleh menghentikan gelung tak terhingga hanya dengan menaip ctrl + c. Perhatikan bahawa gabungan ini tidak akan berfungsi untuk papan kekunci PS2.

Pada langkah seterusnya saya akan menunjukkan cara menyambungkan papan kekunci PS2 ke Arduino.

Langkah 2: Sambungkan Papan Kekunci PS2 ke Master Arduino

Sambungkan Papan Kekunci PS2 ke Master Arduino
Sambungkan Papan Kekunci PS2 ke Master Arduino

Saya mendapat semua maklumat dan perpustakaan dari Instructable ini.

Pada dasarnya anda perlu menghubungkan empat pin berikut:

  • Data papan kekunci ke Arduino pin 8,
  • papan kekunci IRQ (jam) ke Arduino pin 3;
  • sudah tentu anda perlu menghubungkan GND dan + 5V juga.

Saya mendapat penyambung wanita PS2 lama dari papan induk PC yang rosak. Anda boleh menjualnya dengan pistol panas.

Dalam gambar yang ditunjukkan dalam langkah ini, anda dapat mengetahui fungsi pin penyambung PS2 yang diperlukan.

Langkah 3: Muat naik Perpustakaan MRETV di Arduino Kedua dan Gabungkan Segalanya

Muat naik Perpustakaan MRETV di Arduino Kedua dan Gabungkan Segalanya
Muat naik Perpustakaan MRETV di Arduino Kedua dan Gabungkan Segalanya

Titik utama projek ini adalah wujudnya perpustakaan MRETV yang hebat. Terdapat Instructable khusus di mana ia dijelaskan secara terperinci.

Ia hanya menggunakan dua perintang dan dua diod untuk menghasilkan video skrin penuh, dengan resolusi teks 47 x 29 dari 8x8 aksara. Seperti yang dinyatakan dalam pendahuluan, "penjanaan video telah dilakukan sebelumnya, tetapi tidak seperti ini. Siri FULL DUPLEX masih tersedia semasa menghasilkan video". Ini memungkinkan untuk mendapatkan data dari "master" Arduino dan menunjukkannya di monitor. Dalam praktiknya Arduino "hamba" kedua ini digunakan sebagai antara muka grafik!

Oleh kerana MRETV berfungsi untuk IDE 1.6.6, muat turun dari laman web rasmi Arduino. Sekali lagi, yang terbaik adalah memuat turunnya dalam format.zip dan memampatkannya pada PC anda. Klik pautan ini untuk memuat turun versi Windows.

Muat turun kemudian pustaka MRETV dari pautan ini.

Nyahkompresnya dan simpan folder "MRETV" di: arduino-1.6.6 / library

Akhirnya muat turun TVtext_slave.rar di bahagian bawah halaman ini, padamkannya dan muat naik dalam hamba Arduino anda.

Sekiranya tidak ada mesej ralat, anda boleh menyambungkan penyambung RCA. Anda memerlukan dua diod dan perintang 1 kOhm dan 300 Ohm, seperti yang ditunjukkan dalam skema di halaman ini.

Pada ketika ini anda boleh menghubungkan semuanya bersama-sama.

Senarai bahan yang lengkap adalah:

  • dua Arduino Uno Rev. 3 atau dua Arduino Nano 3.x (ATmega328)
  • dua perintang 1 kOhm
  • satu perintang 300 Ohm
  • dua diod 1n4148 (x2) atau diod penukaran silikon yang serupa
  • dua wanita RCA plug (satu untuk video, satu - fakultatif - untuk audio)
  • penyambung wanita PS2
  • papan roti dan wayar

Master Arduino mengirim data ke hamba melalui kabel oren, iaitu master pin 1 (Tx) ke slave pin 2 (Rx). Sekiranya anda perlu memuat naik semula beberapa kod, anda harus melepaskan kabel ini terlebih dahulu.

Sambungkan kemudian hamba arduino ke bekalan kuasa 5V, kabel RCA ke TV dan papan kekunci ke PS2, dan anda kini harus melihat kod ke TV anda!

Fungsi dialek Asas ini dijelaskan secara terperinci di halaman utama (lihat pautan pada langkah 2). Dengan perintah "esave" dan "eload" anda dapat menyimpan satu program Basic di EEPROM. Program ini dijalankan secara lalai setiap kali anda menetapkan semula master Arduino. Untuk menghapusnya anda boleh menggunakan perintah "eformat".

Salah satu ciri terpenting dari program ini ialah anda masih dapat mengarahkan master Arduino I / O dengan perintah Asas khusus, seperti

  • DWRITE pin, value - tetapkan pin dengan nilai (HIGH, HI, LOW, LO)
  • AWRITE pin, value - set pin dengan nilai analog (pwm) 0..255
  • IMPIAN (pin) - dapatkan nilai pin
  • AREAD (analogPin) - dapatkan nilai pin analog

Oleh itu, anda boleh menulis program dalam Basic yang mendorong beberapa perkakasan, menyimpannya di EEPROM dan kemudian menjalankannya secara automatik hanya menetapkan semula Arduino.

Langkah 4: Pilihan: Menggunakan PCB

Pilihan: Menggunakan PCB
Pilihan: Menggunakan PCB
Pilihan: Menggunakan PCB
Pilihan: Menggunakan PCB
Pilihan: Menggunakan PCB
Pilihan: Menggunakan PCB

Anda juga boleh membina PC Asas ini menggunakan PCB kecil. Anda boleh mengambil inspirasi dari gambar dalam langkah ini atau anda juga boleh mencetak papan anda.

Anda boleh menggunakan dua jalur header wanita dengan 15 lubang untuk output video Arduino, sementara untuk master saya mencadangkan untuk menggunakan empat jalur. Dengan cara ini anda boleh menggunakan yang luaran untuk memasukkan kenalan komponen projek anda.

Saya juga menambah di tengah-tengah jalur sisa, satu disambungkan ke 5 V dan yang lain untuk GND.

Akhirnya, dalam fail.rar, anda dapat mencari topeng untuk membentuk papan tembaga.

Langkah 5: Komen dan Ucapan Terima Kasih

Projek ini tidak akan dapat dilakukan tanpa perpustakaan MRETV. Oleh itu, pengakuan utama saya diberikan kepada pengarangnya, yang menggunakan singkatan Mr E.

Terima kasih juga kepada pengarang TinyBasic Plus:

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

Terima kasih juga kepada "djsadeepa", pengarang Instructable untuk penyambungan papan kekunci PS2.

Untuk semua orang yang berminat dalam projek ini: lebih mudah untuk membina yang mungkin kelihatan pada pandangan pertama. Masalah utama saya adalah dengan keserasian Arduino IDE. Sekiranya anda menghadapi masalah, jangan ragu untuk meminta cadangan dalam komen.

Sekiranya anda berjaya, tulis juga komen atau kongsi gambar peranti yang anda bina.

Disyorkan: