Daftar Isi:
- Langkah 1: Papan ESP32, Instalasi Arduino IDE dan Konfigurasi Perpustakaan VGA
- Langkah 2: Mengunggah "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"
- Langkah 3: Menghubungkan Port VGA
- Langkah 4: Hubungkan Empat Tombol
- Langkah 5: Hubungkan Joystick
- Langkah 6: Kesimpulan dan Pengakuan
Video: Game Arkade dan Joystick VGA ESP32: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Dalam instruksi ini saya akan menunjukkan cara mereproduksi empat game seperti arcade - Tetris - Snake - Breakout - Bomber - menggunakan ESP32, dengan output untuk monitor VGA.
Resolusi 320 x 200 piksel, dalam 8 warna. Saya sebelumnya pernah membuat versi dengan Arduino Uno (lihat di sini), tetapi resolusinya hanya 120 x 60 piksel, 4 warna, dan memori Arduino hampir penuh. Berkat performa ESP32 yang lebih baik, resolusi dan pemutaran menjadi lebih tinggi. Selain itu, masih ada banyak memori yang tersedia, sehingga menambahkan game baru di masa mendatang akan lebih mudah.
Saya juga akan menunjukkan cara menghubungkan joystick sederhana melalui kabel RS232. Saya menggunakan pinout yang sama dari Commodore 64.
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, sebaiknya model seperti yang ada di gambar ini, dengan 38 pin. Saya menggunakan versi ini, tetapi saya pikir banyak yang lain juga baik-baik saja. Di ebay Anda dapat menemukan model ini dengan harga kurang dari 7 Euro, termasuk pengiriman.
Setelah Anda mendapatkan papan, Anda harus melanjutkan dengan tiga sub-langkah berikut:
- Instal Arduino IDE terakhir
- Konfigurasikan ESP32 di IDE dan
- Unduh dan instal perpustakaan VGA
Sub-langkah 1. Ada berbagai metode untuk memprogram ESP32, tetapi di sini Anda perlu menggunakan Arduino IDE (omong-omong, saya menggunakan versi 1.8.9). Untuk menginstalnya, Anda dapat pergi ke halaman Arduino IDE dan ikuti petunjuknya.
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.js…
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 (COM) 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 perpustakaan VGA FabGL. Klik di sini untuk mengunduh file terkompresi lengkap. Buka kompres dan salin folder yang dihasilkan (FabGL-master) di folder perpustakaan Arduino IDE, yang terlihat seperti:
"…\arduino-1.8.12\libraries".
Langkah 2: Mengunggah "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"
Unduh ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip di bagian bawah langkah ini. Buka zip dan buka dengan Arduino IDE, lalu unggah ke ESP32 Anda. Jika Anda tidak memiliki pesan kesalahan, kode tersebut seharusnya sudah berjalan dan Anda hanya perlu menghubungkan port dan tombol VGA (atau joystick).
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: Hubungkan Empat Tombol
Jika Anda tidak memiliki joystick C64, Anda dapat menghubungkan empat tombol dengan mengikuti langkah ini. Jika Anda memiliki joystick, Anda dapat melewati langkah ini dan melompat ke langkah berikutnya, tetapi Anda tetap dapat menghubungkan tombol dan joystick (toh keduanya "secara paralel").
Skema pada langkah ini menunjukkan cara menghubungkan satu tombol (Biasanya Terbuka) dari +5V ke pin yang diberikan ESP32.
Perhatikan bahwa Anda juga perlu menghubungkan pin yang diberikan ESP ke GND melalui resistor 1 hingga 5 kOhm. Dengan cara ini ketika tombol dilepaskan (terbuka) pin ESP berada tepat di nol Volt. Lebih khusus lagi, Anda perlu menghubungkan empat tombol dengan urutan berikut:
- Pin 12 ke tombol Kanan
- Sematkan 25 ke tombol Atas
- Pin 14 ke tombol Kiri
- Pin 35 ke tombol Bawah
Langkah 5: Hubungkan Joystick
Joystick C64 memiliki pinout yang ditunjukkan pada gambar pertama langkah ini. Untuk menghubungkannya ke ESP32, Anda memerlukan konektor laki-laki DSUB 9 pin (yaitu, soket), seperti yang ditunjukkan pada gambar kedua. Saya melepas satu dengan pin terbuka dari papan elektronik lama. Anda dapat menggunakan senapan panas untuk melepaskannya (tetapi lakukan di luar ruangan!).
Anda perlu menghubungkan pin mengikuti urutan numerik dalam gambar-gambar ini. Perhatikan bahwa skema mengacu pada sisi joystick, sehingga mewakili sambungan steker perempuannya. Soket (laki-laki) untuk terhubung ke ESP32 memiliki pin dengan disposisi "cermin". Jika ragu, ingatlah bahwa nomor pin selalu dilaporkan pada konektor male dan female, seperti yang ditunjukkan pada gambar ketiga.
Jika Anda ingin mengontrol game hanya dengan joystick, sambungkan pin umum (9) ke ESP32 +5V, dan pin joystick 1, 2, 3, 4 dan 6 ke pin yang diberikan ESP berikut daftar berikut.
- ESP pin 12 ke tombol Kanan (RS232 pin 4)
- ESP pin 14 ke tombol Kiri (RS232 pin 3)
- ESP pin 35 ke tombol Bawah (RS232 pin 2)
- ESP pin 25 tombol Up (RS232 pin 1 dan 6, yaitu joystick api)
NB pin ESP 12, 14, 25 dan 35 juga harus terhubung ke GND melalui resistor 1 sampai 5 kOhm. Dengan cara ini ketika tombol dilepaskan (terbuka) pin ESP berada tepat di nol Volt.
Posisi joystick NB2 UP dan tombol api terhubung bersama ke pin ESP 25-
Saya telah menghubungkan empat tombol pada papan PC, dengan cara ini saya tidak memerlukan joystick untuk bermain (walaupun dengan joystick jauh lebih lucu). Sekali lagi, pin 9 RS232 harus terhubung ke +5 V dan pin joystick sejajar dengan tombol.
Langkah 6: Kesimpulan dan Pengakuan
Jika semuanya berfungsi dengan baik, cukup sambungkan monitor VGA dan Anda akan dapat menikmati beberapa permainan gaya lama!
Anda juga dapat menggambar set Mandelbrot dengan resolusi 640 x 350 piksel, hanya untuk menguji kemampuan pustaka VGA.
Perhatikan bahwa kode ini ditulis dengan cara agar game lain dapat dengan mudah ditambahkan di masa mendatang (ESP32 memiliki banyak ruang!). Saya proyek ini mendapat minat yang cukup, saya dapat melakukan itu …
Akhirnya, 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.
Direkomendasikan:
Jam Tangan Pintar Pelacak Kebugaran DIY Dengan Oksimeter dan Detak Jantung - Modul Elektronik Modular Dari TinyCircuits - Arkade Terkecil: 6 Langkah
Jam Tangan Pintar Pelacak Kebugaran DIY Dengan Oksimeter dan Detak Jantung | Modul Elektronik Modular Dari TinyCircuits | Arcade Terkecil: Hei, apa kabar, Guys! Akarsh di sini dari CETech. Hari ini kami memiliki beberapa modul sensor yang sangat berguna dalam kehidupan kita sehari-hari tetapi dalam versi kecilnya sendiri. Sensor yang kita miliki saat ini berukuran sangat kecil dibandingkan dengan
Arkade Mini 2 Pemain Dari Laptop Lama dan Papan Potong Ikea.: 32 Langkah (dengan Gambar)
Arkade Mini 2 Pemain Dari Laptop Lama dan Papan Potong Ikea.: Saya suka game retro. Semua mesin arcade dan konsol lama itu sangat menyenangkan. Saya ingin mesin arcade saya sendiri tapi saya tidak punya tempat. Bermain dengan gamepad melalui konsol di TV rasanya tidak enak jadi saya perlu membuat
Bingkai Seni Piksel LED Dengan Seni Arkade Retro, Aplikasi Terkendali: 7 Langkah (dengan Gambar)
Bingkai Seni Piksel LED Dengan Seni Arkade Retro, Aplikasi Terkendali: BUAT BINGKAI SENI LED TERKENDALI APLIKASI DENGAN 1024 LED YANG MENAMPILKAN Suku Cadang GAME GAME ARCADE RETRO 80s Kit Pembuat PIXEL - $59Adafruit 32x32 P4 LED Matrix - $49.9512x20 Inch Acrylic Sheet, 1/8" inci tebal - Asap Cahaya Transparan dari Plastik Keran
Game Platformer yang Dikendalikan Arduino Dengan Joystick dan Penerima IR: 3 Langkah (dengan Gambar)
Game Platformer yang Dikendalikan Arduino Dengan Joystick dan Penerima IR: Hari ini, kita akan menggunakan mikrokontroler Arduino untuk mengontrol game platformer sederhana berbasis C#. Saya menggunakan Arduino untuk mengambil input dari modul joystick, dan mengirimkan input itu ke aplikasi C# yang mendengarkan dan mendekode input melalui Serial c
Kabinet Arkade Dengan Efek Cahaya Sekitar: 9 Langkah (dengan Gambar)
Kabinet Arkade Dengan Efek Cahaya Sekitar: Kabinet kayu arcade buatan rumah, dengan kontrol arcade kualitas komersial, dan sistem Ambient Reality Effects terintegrasi. Kabinet kayu dipotong dari panel sandwich 4x8 'dari Home Depot. Pengontrol Arcade adalah HotRod SE dari http://www.hanaho