Daftar Isi:

PC Dasar ESP32 Dengan Output VGA: 7 Langkah
PC Dasar ESP32 Dengan Output VGA: 7 Langkah

Video: PC Dasar ESP32 Dengan Output VGA: 7 Langkah

Video: PC Dasar ESP32 Dengan Output VGA: 7 Langkah
Video: MEMULAI ESP32 TUTORIAL MENAMBAHKAN BOARD ESP32 KE IDE ARDUINO, INTAL DRIVER, DAN MEMPROGRAM ESP32 2024, Juli
Anonim
Image
Image
Papan ESP32, Instalasi Arduino IDE dan Konfigurasi Perpustakaan VGA
Papan ESP32, Instalasi Arduino IDE dan Konfigurasi Perpustakaan VGA

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

Papan ESP32, Instalasi Arduino IDE dan Konfigurasi Perpustakaan VGA
Papan ESP32, Instalasi Arduino IDE dan Konfigurasi Perpustakaan VGA
Papan ESP32, Instalasi Arduino IDE dan Konfigurasi Perpustakaan VGA
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:

  1. Instal Arduino IDE terakhir
  2. Konfigurasikan ESP32 di IDE dan
  3. 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

Mengunggah Kode Dasar Kecil ke ESP32
Mengunggah Kode Dasar Kecil ke ESP32
Mengunggah Kode Dasar Kecil ke ESP32
Mengunggah Kode Dasar Kecil 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

Menghubungkan Port VGA
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

Menghubungkan Port PS2
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

Pemrograman Dengan Tiny Basic
Pemrograman Dengan Tiny Basic
Pemrograman Dengan Tiny Basic
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

Menghubungkan Kartu Memori SD
Menghubungkan Kartu Memori SD
Menghubungkan Kartu Memori SD
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

Ucapan Terima Kasih
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: