Adakah penggemar Arduino di luar sana?
Hei, saya sudah memikirkan hal ini dan semakin saya memikirkannya, semakin saya pikir saya bisa melakukan ini. Ide saya pada dasarnya adalah ini: Membuat komputer fungsional dari mikrokontroler Arduino Uno.
Satu-satunya tujuan saya untuk komputer ini adalah kemampuan untuk mengedit dan menjalankan program BASIC. Itu saja. Saya hanya menginginkannya untuk pemrograman, karena hanya itulah satu-satunya hal yang saya minati sekarang :)
Jadi seperti yang saya lihat, saya akan membutuhkan tiga komponen perangkat keras utama:
- beberapa bentuk tampilan (layar VGA atau sesuatu)
- beberapa cara untuk mendaftarkan input keyboard, dan
- beberapa cara untuk menyimpan data ke memori eksternal.
Adakah yang tahu cara untuk melakukan ini? Saya tahu cara menampilkan ke layar, tetapi saya tidak tahu komponen API / perangkat keras yang baik untuk mendaftarkan input keyboard atau untuk menyimpan memori eksternal.
Saya akan membutuhkan banyak bantuan dalam hal ini. Adakah yang bisa membantu saya dan menawarkan ide dan tips serta saran yang berguna untuk perangkat keras yang baik / perpustakaan open source yang bagus, atau dua, atau tiga, atau sepuluh?
Ditambahkan:
Blog Membuat Arduino Uno Computer untuk siapa saja yang tertarik.
Jawaban:
Keyboard dapat dilakukan hanya dengan menggunakan keyboard PS / 2 - ini hanya serial, dan ada banyak tutorial untuk itu.
Menyimpan data dapat dilakukan hanya dengan kartu SD - ada perisai di luar sana yang sudah melakukannya.
Adapun video - itu jauh lebih sulit. Jika Anda ingin Arduino menghasilkan sinyal video PAL misalnya, maka Anda memiliki pekerjaan yang cocok untuk Anda. Ya, itu mungkin, dan seseorang telah menciptakan gim Arduino "pong", tetapi grafisnya sangat chunky dan hanya hitam putih.
Untuk VGA Anda akan memerlukan beberapa bentuk antarmuka untuk melakukan pekerjaan untuk Anda. Sparkfun digunakan untuk menjual kartu video Picaso yang dapat dibuat untuk bekerja dengan Arduino, tetapi sayangnya itu telah dihentikan dan belum ada rencana untuk penggantian.
TBH taruhan terbaik Anda adalah menggunakan sesuatu seperti terminal Wyse dan berkomunikasi dengan Arduino sepenuhnya menggunakan serial. Jauh lebih sederhana daripada mengotak-atik sinyal video dan semacamnya.
sumber
Saya melihat poin Olin di sini - jika Anda hanya ingin mengedit / menjalankan / mempelajari BASIC hanya menggunakan PC.
Namun jika tujuannya adalah tantangan menciptakan komputer yang dapat menjalankan BASIC dan belajar tentang perangkat keras dan implementasi tingkat yang lebih rendah pada saat yang sama maka ini sedikit berbeda. Saya mendukung hal-hal seperti ini, ini adalah cara yang bagus untuk meningkatkan pengetahuan dan saya yakin Anda akan mendapat banyak manfaat darinya. Seperti Steven menyebutkan semua lapisan membingungkan dan (sebagian besar) tidak relevan yang misalnya Windows telah dapat dilepaskan, meninggalkan konsep dasar (tidak ada kata pun dimaksudkan).
Pokoknya, Anda mungkin ingin melihat sesuatu yang sedikit lebih kuat seperti PIC32 untuk ini, karena harus dapat menangani semua fungsi (misalnya VGA dasar) pada itu sendiri.
Ini adalah papan yang kompatibel dengan Arduino, UNO32
The Maximite adalah komputer dengan penerjemah BASIC yang berbasiskan PIC32, Anda mungkin ingin melihat Desain dan Konstruksi untuk beberapa ide.
sumber
Anda beruntung, semacam, karena saya benar-benar bekerja pada PC Arduino sekarang! Itu tidak banyak, hanya model pertama. Firmware juga sangat sederhana, dan memiliki satu set API kecil. Tapi, masalahnya berhasil! Tidak cukup baik untuk mengedit BASIC (atau bahasa apa pun kecuali bahasa sendiri), tetapi ini hanya model pertama. Mobo cukup sederhana, dan saya menggunakan ini . Berikut adalah firmware yang saya gunakan:
Deskripsi metode sulit dijelaskan, tetapi kode disimpan sebagai byte mentah. Saya harus segera mengembangkan perangkat lunak ... Semoga ini bisa membantu! Jika Anda pernah ingin menggunakan ini untuk proyek apa pun, ANDA HARUS MEMILIKI file BIOS.mk8 pada direktori root SD atau sistem tidak akan berfungsi.
sumber
Dengan segala hormat kepada David Brin (kebetulan saya sangat suka buku-bukunya; Saya tidak memenuhi syarat untuk menilai seberapa baik dia sebagai ahli astrofisika), dia bukan seorang programmer atau pendidik.
Saya ada di sekitar dan coding pada hari-hari awal PC, dan saya menulis cukup banyak kode BASIC. Dan saya sudah menulis kode secara profesional sejak saat itu.
Alasan kami menggunakan BASIC saat itu adalah karena dua pilihan Anda adalah menggunakan BASIC atau menulis dalam pertemuan, dan perakitan lebih sulit untuk dipahami dan jauh lebih rumit untuk digunakan. Jadi, DASAR.
Dalam 30+ tahun sejak itu, ada peningkatan yang signifikan dalam instruksi pemrograman. Istri saya mengajar kelas pemrograman awal yang menggunakan Alice (www.alice.org), dan secara konsep jauh lebih baik daripada pendekatan yang lebih lama.
Saya pikir solusi Brin cukup elegan. Anda dapat membangun sesuatu yang sangat sederhana di Raspberry PI. Di Arduino, saya pikir akan sulit untuk memasukkan semua yang Anda butuhkan ke dalam 2K RAM; yang harus menahan OS / Monitor apa pun yang akhirnya Anda tulis, penerjemah perintah, kode untuk melakukan tampilan, dan penyimpanan untuk program dasar itu sendiri.
Belum lagi fakta bahwa Anda harus melakukan banyak pemrograman yang sulit dan kustom sehingga Anda dapat menulis kode dalam lingkungan yang sederhana.
sumber
Saya tidak mengerti. Jika Anda hanya ingin memiliki sarana untuk memprogram di Basic, jalankan juru bahasa dasar pada PC Anda. Saya tidak mengerti bagaimana Anda berharap Arduino membantu ini. Arduino adalah mikrokontroler dengan banyak perangkat lunak mewah untuk menyembunyikan detail perangkat keras. Bagian dari biaya itu adalah kinerja yang lebih rendah dan penggunaan sumber daya lebih banyak daripada program setara yang dijalankan pada mikrokontroler telanjang secara langsung. Sekarang Anda ingin menulis kode Arduino untuk mengubahnya kembali menjadi komputer tujuan umum, semua sehingga Anda dapat menjalankan interpreter dasar pada komputer tujuan umum itu? Ini tidak masuk akal.
Karena satu-satunya tujuan Anda adalah untuk dapat mengedit dan menjalankan program-program Dasar (menjalankan penerjemah Dasar), mulailah dengan platform komputasi tujuan yang lebih umum, terutama salah satu yang sudah memiliki juru bahasa Dasar yang tersedia. PC Anda adalah platform yang persis seperti itu. Jika Anda ingin ini menjadi perangkat keras eksternal, kedengarannya seperti komputer rak tunggal akan memenuhi kebutuhan Anda jauh lebih baik daripada Arduino.
Ditambahkan:
Anda sekarang mengatakan Anda tidak ingin berjalan di PC dan situs tautan ini tentang seseorang yang ingin belajar baris perintah Dasar untuk anaknya. Memang saya tidak membaca seluruh artikel (saya tidak suka orang-orang menjawab dengan tautan. Anda harus bisa menyatakan pendapat Anda secara independen dalam beberapa kalimat), tetapi saya tidak melihat bagaimana PC menjalankan baris perintah Penerjemah dasar tidak mengatasi masalah Anda. Mengapa penerjemah dasar tidak diizinkan untuk berjalan di PC tetapi tidak apa-apa untuk dijalankan pada Arduino? Ingat, Anda mengatakan di muka bahwa satu-satunya tujuan Anda adalah mengedit dan menjalankan program-program Dasar. Tidak ada dalam pernyataan itu yang mengatakan perangkat keras apa yang harus dijalankan, dan tidak ada penjelasan selanjutnya yang menjelaskan mengapa PC tidak berfungsi dengan baik.
Mungkin ada penerjemah dasar yang berjalan pada baris perintah. QBASIC lama mungkin masih berfungsi di beberapa mode kompatibilitas DOS. Bahkan jika tidak, karena Anda bersedia mendedikasikan perangkat keras untuk ini, bagaimana menjalankan DOS dan QBASIC pada PC tidak memberikan apa yang Anda minta?
sumber
poke
pernyataan. Tidak ada driver COM virtual untuk diinstal, tidak ada USB ke jembatan apa pun, tidak ada IDE pengembang yang kompleks untuk dimuat. SBC sebanding, tetapi umumnya tidak memiliki antarmuka keyboard / video (dan penyimpanan kaset!) Dari komputer rumah.Daftar penerjemah AVR BASIC:
sumber
Saya suka ide menjalankan aplikasi umum, seperti BASIC di Arduino terutama jika Anda membuatnya sendiri. Saya suka kenyamanan memiliki perangkat Arduino yang bertenaga baterai yang menjalankan aplikasi yang saya inginkan. Jika saya, saya akan menggunakan mungkin Arduino MEGA jadi saya akan memiliki cukup pin untuk keypad dan perisai SD untuk penyimpanan.
Saya akan memilih LCD grafis warna atau layar TFT daripada VGA untuk kesederhanaan dalam pemrograman dan koneksi, cara melacak tanggal dan waktu (RTC), dan apa itu aplikasi tanpa internet atau jaringan (ethernet shield)? RAM I2C tambahan (24LC256) mungkin? Dan beberapa I2C MCP223017 kalau-kalau saya perlu beberapa port tambahan. Bagaimana dengan beberapa Arduino yang melakukan tugas paralel? Saya yakin itu akan meningkatkan kinerja.
sumber