Daftar Isi:
- Langkah 1: Papan ESP32, Instalasi Arduino IDE dan Konfigurasi Perpustakaan VGA
- Langkah 2: Mengunggah Tiny Basic Code ke ESP32
- Langkah 3: Menghubungkan Port VGA
- Langkah 4: Menghubungkan Port PS2
- Langkah 5: Pemrograman Dengan Tiny Basic
- Langkah 6: Menghubungkan Kartu Memori SD
- Langkah 7: Ucapan Terima Kasih
Video: PC Dasar ESP32 Dengan Output VGA: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Dalam Instructable ini saya akan menunjukkan cara membuat PC bergaya retro sederhana yang dilakukan dengan satu ESP32 dan beberapa komponen lainnya.
PC ini menjalankan Tiny Basic, dialek BASIC yang disederhanakan, dan menghasilkan output untuk monitor VGA.
Resolusinya adalah 640x350 piksel, memungkinkan karakter asci 80x25 dalam 8 warna. Keyboard PS2 dapat dihubungkan dan digunakan untuk menulis kode, memungkinkan memori hingga 14059 byte.
Pin I/O ESP32 dapat langsung digerakkan oleh perintah BASIC khusus.
Proyek ini dimungkinkan oleh perpustakaan VGA ESP32 yang luar biasa yang ditulis oleh Fabrizio Di Vittorio. Lihat di sini untuk lebih jelasnya.
Langkah 1: Papan ESP32, Instalasi Arduino IDE dan Konfigurasi Perpustakaan VGA
Pertama-tama Anda perlu membeli ESP32 revisi 1 atau lebih tinggi. Ada banyak versi yang tersedia, tetapi saya sarankan untuk memilih satu dengan banyak pin. Saya menggunakan versi ini, tetapi saya pikir banyak yang lain juga baik-baik saja. Misalnya, dalam deskripsi video ini, Anda dapat menemukan tiga model lain yang harganya di bawah 5 dolar.
Setelah Anda mendapatkan papan, Anda harus melanjutkan dengan tiga sub-langkah berikut:
- Instal Arduino IDE terakhir
- Konfigurasikan ESP32 di IDE dan
- Instal perpustakaan VGA
Sub-langkah 1.
Ada berbagai metode untuk memprogram ESP32, tetapi di sini Anda harus menggunakan Arduino IDE terbaru (saya menggunakan versi 1.8.9). Untuk menginstalnya, Anda dapat pergi ke halaman Arduino IDE dan ikuti instruksinya.
Sub-langkah 2
Setelah operasi sebelumnya selesai, Anda perlu mengkonfigurasi ESP32 Anda di dalam Arduino IDE. Ini tidak sepele, karena ESP32 tidak (belum?) asli di dalamnya. Anda dapat mengikuti tutorial ini, atau langkah-langkah berikut.
1) buka Arduino IDE
2) buka jendela preferensi, File/Preferensi, atau tekan "Ctrl+comma"
3) pergi ke “Additional Board Manager URLs”, salin dan tempel teks berikut:
https://dl.espressif.com/dl/package_esp32_index.json
dan klik tombol OK.
4) Manajer papan terbuka. Pergi ke Tools/Board/Boards Manager…
5) Cari ESP32 dan tekan tombol install untuk "ESP32 by Espressif Systems":
6) Pada titik ini, ketika Anda menghubungkan ESP32 untuk pertama kalinya, Anda harus memilih model yang tepat dalam daftar panjang papan ESP32 yang tersedia (lihat gambar di langkah ini). Jika ragu tentang modelnya, pilih saja yang generik, yaitu yang pertama. Ini bekerja untuk saya.
7) sistem juga harus memilih port USB yang tepat dan Kecepatan Unggah (biasanya 921600). Pada titik ini koneksi antara PC Anda dan papan ESP32 harus dibuat.
Sub-langkah 3
Terakhir Anda harus menginstal library FabGL VGA. [perbarui Juli 2019] Anda memerlukan dan versi lama perpustakaan ini: Anda dapat mengunduh file zip src.old.zip di bagian bawah langkah ini, buka kompres dan ganti nama folder sebagai "src" di Anda
folder " …\arduino-1.8.9\libraries ".
Setelah Anda melakukan operasi ini, Anda dapat melanjutkan ke langkah berikutnya dan mengunggah TinyBasic yang dimodifikasi mengikuti langkah berikutnya.
Langkah 2: Mengunggah Tiny Basic Code ke ESP32
Unduh ESP32_TinyBasicPlus_PS2_FabLab_beta.ino di bagian bawah langkah ini.
Buka dengan Arduino IDE dan unggah ke ESP32 mentah Anda.
Jika Anda tidak memiliki pesan kesalahan, kode tersebut seharusnya sudah berjalan.
Langkah fakultatif: jika Anda ingin menguji TinyBasic sebelum menghubungkan keyboard VGA dan PS2, Anda sudah dapat melakukannya dengan klien SSH dan telnet. Saya menggunakan Putty.
Anda dapat melihat tampilannya pada gambar di langkah ini.
Langkah 3: Menghubungkan Port VGA
Anda membutuhkan bagian-bagian berikut:
- Konektor DSUB15, yaitu konektor perempuan VGA atau kabel VGA yang akan dipotong.
- tiga resistor 270 Ohm.
Hubungkan pin 2, 15 dan 21 ESP32 GPIO masing-masing ke VGA Merah, Hijau dan Biru, melalui resistor 270 Ohm.
Hubungkan VGA Hsync dan Vsync ke ESP32 GPIO pin 17 dan 4 masing-masing.
Hubungkan pin konektor DSUB15 5, 6, 7, 8 dan 10 ke ESP32 GND.
Untuk definisi pin konektor VGA DSUB15, lihat gambar pada langkah ini. NB, ini adalah sisi solder konektor perempuan.
Langkah 4: Menghubungkan Port PS2
Anda memerlukan konektor perempuan keyboard PS2.
Anda bisa mendapatkannya dari motherboard PC lama, cukup batalkan penjualannya dengan heat gun. Pada gambar yang ditunjukkan pada langkah ini, Anda dapat menemukan fungsi pin konektor PS2 yang diperlukan.
Sambungannya adalah:
- Data Keyboard ke ESP32 GPIO pin 32
- Keyboard IRQ (jam) ke ESP32 GPIO pin 33
- Anda juga perlu menghubungkan pin 5V dan pin GND.
Langkah 5: Pemrograman Dengan Tiny Basic
Pada titik ini, jika Anda dapat menghubungkan monitor VGA dan keyboard PS2 dan ESP32 ke catu daya.
Gambar yang ditampilkan di sini akan muncul di monitor. Sekarang Anda dapat bermain sedikit dengan perintah Tiny Basic.
Coba, misalnya, Hello, Word yang wajib! lingkaran tak terbatas:
10 cetak "Halo, Dunia!"
20 ke 10
Lari
Anda dapat mengubah empat warna berbeda dengan menekan tombol esc, dan menghentikan loop dengan ctrl+c
Perhatikan bahwa jika Anda salah ketik, Anda tidak dapat membatalkannya! Atau lebih baik, Anda dapat membatalkan tetapi kemudian koreksi kesalahan ketik tidak dikenali. Anda perlu menulis ulang seluruh baris perintah.
Sekarang Anda dapat mencoba sesuatu yang lebih kompleks, seperti menggerakkan kedipan LED dengan program dasar. Hubungkan, misalnya, anoda LED (kaki panjang) ke ESP32 GPIO pin 13, dan katoda ke GND.
Lalu menulis:
baru
10 i = 1000
20 cetak saya
30 penundaan
40 dwrite 13, tinggi
50 keterlambatan
60 dwrite 13, rendah
70 i=i*9/10
80 jika saya>0 ke 20
90 akhir
Lari
Anda dapat melihat hasilnya dalam video yang disematkan di Instructable ini.
Langkah 6: Menghubungkan Kartu Memori SD
Sebuah PC vintage, tidak peduli seberapa kecil dan lemahnya, tidak akan lengkap jika Anda tidak dapat menyimpan program Anda secara permanen.
Pada langkah ini saya akan menunjukkan cara menghubungkan kartu memori SD, tetapi sayangnya, untuk saat ini (saya harap hanya untuk saat ini), penyimpanan program tidak berfungsi!
BTW, saya menggunakan adaptor kartu microSD ke SD dan saya menyolder 8 pin berbentuk L seperti yang ditunjukkan pada gambar di langkah ini.
Saya kemudian menghubungkan pin adaptor SD ke ESP32 sesuai dengan gambar kedua, yaitu saya menghubungkan pin GPIO ESP32 5, 18, 19, 23 ke SC, clock, MISO, MOSO masing-masing, ditambah 3.3V dan dua GND.
Saya juga mengikuti instruksi dan contoh yang ditemukan di sini, dan dengan kode contoh SD_test.ino, saya dapat menulis di kartu microSD 2 GBytes saya.
Jadi jika ada yang menemukan solusi, tolong beri tahu saya secepatnya ke email saya [email protected] dan saya akan menyelesaikan Instruksi ini.
Langkah 7: Ucapan Terima Kasih
Saya ingin menyampaikan tank saya kepada Fabrizio Di Vittorio untuk perpustakaan VGA ESP32-nya yang mengagumkan. Untuk detail lebih lanjut, contoh, dan… Space Invaders, kunjungi situsnya di sini.
banyak terima kasih juga kepada penulis Tiny Basic:
- lapangan mike
- Scott Lawrence
- Brian O'Dell
Terakhir, jika Anda menyukai proyek ini, silakan tulis komentar atau bagikan gambar perangkat yang Anda buat… dan, secara keseluruhan, pilih dalam kontes Arduino!
Direkomendasikan:
Komponen Pemasangan Permukaan Solder - Dasar-dasar Solder: 9 Langkah (dengan Gambar)
Komponen Pemasangan Permukaan Solder | Dasar-dasar Solder: Sejauh ini dalam Seri Dasar Solder saya, saya telah membahas dasar-dasar yang cukup tentang penyolderan untuk Anda mulai berlatih. Dalam Instructable ini, apa yang akan saya diskusikan sedikit lebih maju, tetapi ini adalah beberapa dasar untuk menyolder Surface Mount Compo
Driver H-Bridge Kecil - Dasar-dasar: 6 Langkah (dengan Gambar)
Driver H-Bridge Kecil | Dasar-dasar: Halo dan selamat datang kembali di Instructable lainnya! Pada bagian sebelumnya, saya telah menunjukkan cara membuat kumparan di KiCad menggunakan skrip python. Kemudian saya membuat dan menguji beberapa variasi kumparan untuk melihat mana yang bekerja paling baik. Tujuan saya adalah untuk menggantikan yang besar
Dasar-dasar Motor - Konsep Sangat Mudah Dipahami Dengan Eksperimen: 7 Langkah (dengan Gambar)
Dasar-dasar Motor | Konsep Super Mudah Dipahami Dengan Eksperimen: Dalam instruksi ini saya akan mengajari Anda tentang prinsip dasar motor. Semua motor di sekitar kita bekerja berdasarkan prinsip ini. Bahkan generator bekerja pada pernyataan timbal balik dari aturan ini. Saya berbicara tentang Ru
Dasar-Dasar Elektronik: Dioda: 6 Langkah (dengan Gambar)
Dasar-Dasar Elektronik: Dioda: Jika Anda tidak suka membaca, tonton video saya di Youtube! Saya telah membuatnya lebih sederhana di sana. Juga Besar Terima kasih kepada www.JLCPCB.com yang telah mensponsori proyek ini, Anda dapat memesan PCB 2 lapis (10cm*10cm) hanya seharga $2 dari situs web mereka. Waktu pembuatan untuk 2 lapis PCB i
Dasar-dasar Antarmuka Arduino TFT: 10 Langkah (dengan Gambar)
Dasar-dasar Antarmuka TFT Arduino: Layar sentuh TFT adalah antarmuka grafis luar biasa yang dapat digunakan dengan mikrokontroler seperti Atmel, PIC, STM, karena memiliki rentang warna yang luas, dan kemampuan grafis yang baik serta pemetaan piksel yang baik. Hari ini, kita akan pergi ke Antarmuka TFT 2,4 inci