Daftar Isi:
- Langkah 1: Daftar Bahan
- Langkah 2: Unggah Perpustakaan dan Sketsa
- Langkah 3: Menghubungkan Bagian: Konektor VGA
- Langkah 4: Menghubungkan Bagian: Potensiometer dan Tombol
- Langkah 5: Kesimpulan dan Ucapan Terima Kasih
Video: ESP8266 VGA Pong: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Dalam Instruksi ini saya akan menunjukkan cara membuat reproduksi game klasik Pong untuk monitor VGA, menggunakan ESP8266 dan beberapa komponen lainnya.
Game ini dimungkinkan oleh perpustakaan EspVGAx yang baru-baru ini diterbitkan di GitHub oleh Sandro Maffiodo (alias Smaffer) dan, sejauh yang saya tahu, ini adalah game pertama yang mengeksploitasinya.
Perpustakaan mengimplementasikan resolusi 512 x 480 piksel, disimpan dalam framebuffer di dalam RAM, yang membutuhkan 30720 byte. Resolusinya sangat besar dibandingkan dengan Arduino TVout atau VGAx (masing-masing 128 x 96 dan 120 x 60 piksel). Saya harap game ini menginspirasi programmer lain untuk mengembangkan atau mereproduksi game yang lebih kompleks.
Langkah 1: Daftar Bahan
Pustaka EspVGAx memerlukan ESP8266 dengan semua GPIO terekspos, seperti ESP-12E, papan NodeMCU-12E atau papan apa pun yang mengekspos GPIO5 (D1), GPIO4 (D2) dan GPIO13 (D7)
Secara khusus, saya menggunakan:
- sebuah ESP8266 NodeMCU-12E (tautan di sini)
- konektor DSUB15 (yaitu konektor perempuan VGA)
- resistor 330 Ohm
- resistor lain (sekitar 1 sampai 3 kOhm)
- dua Potensiometer 10 kOhm
- Tombol Tekan (no)
- dua Dioda (seperti 1N4007s)
- papan tempat memotong roti
- kabel
Saya mendapatkan konektor DSUB15 dari papan PC VGA lama. Atau, Anda juga dapat memotong kabel VGA lama dan menghubungkan kabel langsung ke papan tempat memotong roti.
Langkah 2: Unggah Perpustakaan dan Sketsa
Ada berbagai metode untuk memprogram dan ESP8266; Saya menggunakan Arduino IDE untuk menulis Pong dan mengunggah kodenya.
Harap dicatat bahwa perpustakaan EspVGAx berfungsi untuk Arduino IDE 1.8.1. Jika Anda memiliki versi lain, yang terbaik adalah mengunduh file.zip dan membuka kompresnya di folder khusus. Versi Windows ada di sini. Versi untuk OS lain ada di sini.
Setelah itu, Anda harus mengunduh pustaka EspVGAx dari halaman GithHub di sini (tautan langsung untuk versi zip di sini), dan membuka kompresnya di pustaka folder di perangkat lunak Arduino.
NB Ada sedikit bug di file espvgax_draw.h. Untuk memperbaikinya, cukup ganti baris 17:
while (x0%32) { dengan while (x0%32 && sw > 32) {
Akhirnya Anda dapat mengunduh ESP8266_Pong.rar di akhir langkah ini.
Setelah dibuka ritsletingnya, untuk mengunggahnya ke ESP8266 Anda, Anda perlu mengonfigurasi Arduino IDE.
Jika Anda belum pernah melakukannya, Anda dapat menemukan semua instruksi yang diperlukan pada Instruksi ini, khususnya di Langkah 2.
Setelah semuanya dikonfigurasi, pengaturan ESP8266 akan terlihat seperti yang ditunjukkan pada gambar di atas.
Jika Anda dapat mengunggah kode tanpa kesalahan, Anda dapat mulai merakit bagian-bagiannya.
Langkah 3: Menghubungkan Bagian: Konektor VGA
Saya sarankan untuk menghubungkan terlebih dahulu port VGA, seperti yang ditunjukkan pada gambar di atas. Harap dicatat bahwa dengan menghubungkan tiga pin Merah, Hijau dan Biru bersama-sama (yaitu pin 1, 2 dan 3 pada konektor DSUB15), Anda akan memiliki gambar B&W di layar Anda. Anda juga dapat memiliki kombinasi warna yang berbeda. Lihat detailnya di halaman Library GitHub.
Selanjutnya, Anda harus menghubungkan resistor 330 Ohm antara pin RGB dan D7 (GPIO13) pada ESP8266. Ini memberi saya gambar sedikit keabu-abuan di monitor saya, jadi, setelah beberapa kali mencoba, saya memutuskan untuk menghilangkannya sama sekali.
Pada titik ini, jika semuanya berfungsi dengan baik, Anda sudah dapat menghubungkan monitor dan melihat layar awal permainan, dengan spanduk "ESP8266 VGAx Pong".
Langkah 4: Menghubungkan Bagian: Potensiometer dan Tombol
Tombol harus terhubung antara 3.3V dan pin D0 (GPIO16). Hubungkan juga resistor 1 hingga 3 kOhm dari D0 ke ground. Ini menghindari D0 berada pada status yang tidak ditentukan saat tombol terbuka.
Sambungan dari dua potensiometer kurang sepele, pada kenyataannya ESP8266 hanya memiliki port input analog A0 (ADC0)! Triknya adalah menghubungkan kedua output pot.s ke port yang sama, dan 'multipleks'. Multiplexing berarti Anda akan menyalakan potensiometer, membacanya, lalu mematikannya dan pindah ke yang kedua.
Jika Anda ingin mempelajari lebih lanjut tentang metode ini, Anda dapat membaca Instruksi ini.
Hubungkan satu potensiometer ekstrem ke GND, ekstrem lainnya ke D5 untuk potensiometer pemutar kiri dan D6 untuk potensiometer pemutar kanan.
Setiap pin pusat potensiometer harus terhubung ke dioda individu, dan sisi lain dari dioda harus terhubung ke A0 (ADC0), dengan polaritas yang ditunjukkan pada gambar di atas.
Langkah 5: Kesimpulan dan Ucapan Terima Kasih
Saya berterima kasih kepada Sandro Maffiodo - SMAFFER - untuk perpustakaan ESPVGAX. Game ini tidak akan mungkin tanpanya.
Saya berharap Instructable ini akan menjadi inspirasi bagi programmer lain untuk membuat reproduksi game arcade klasik yang lebih kompleks dengan ESP8266, yang memiliki keterbatasan jauh lebih sedikit daripada Arduino.
Akhirnya, saya menulis Instruksi ini untuk mengirimkannya ke Kontes Mainan: jika Anda suka atau memperbanyaknya, luangkan waktu untuk memilihnya!
Direkomendasikan:
ESP8266 - Irigasi Kebun Dengan Timer dan Remote Control Melalui Internet / ESP8266: 7 Langkah (dengan Gambar)
ESP8266 - Irigasi Kebun Dengan Timer dan Remote Control Melalui Internet / ESP8266: ESP8266 - Irigasi dikendalikan dari jarak jauh dan dengan pengaturan waktu untuk kebun sayur, kebun bunga, dan halaman rumput. Ini menggunakan sirkuit ESP-8266 dan katup hidrolik / listrik untuk umpan irigasi.Keuntungan: Biaya rendah (~US$ 30,00) Akses cepat Perintah o
Tenis Pong Dengan Matriks LED, Arduino dan Joystick: 5 Langkah (dengan Gambar)
Tenis Pong Dengan Matriks LED, Arduino, dan Joystick: Proyek ini ditujukan untuk pemula dan pemain berpengalaman. Pada tingkat dasar itu dapat dilakukan dengan papan tempat memotong roti, kabel jumper dan menempel pada sepotong bahan bekas (saya menggunakan kayu) dengan Blu-Tack dan tanpa solder. Namun lebih lanjut
Arduino Basic PC Dengan Output VGA: 5 Langkah (dengan Gambar)
Arduino Basic PC Dengan Output VGA: Dalam Instruksi saya sebelumnya, saya telah menunjukkan cara membuat komputer 8-bit retro yang menjalankan BASIC, melalui dua Arduino, dan dengan sinyal output dalam B&W untuk layar TV. Sekarang saya akan menunjukkan cara membuat komputer yang sama, tetapi dengan sinyal output di
Skala Cerdas DIY Dengan Jam Alarm (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): 10 Langkah (dengan Gambar)
Skala Cerdas DIY Dengan Jam Alarm (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): Dalam proyek saya sebelumnya, saya mengembangkan skala kamar mandi pintar dengan Wi-Fi. Itu dapat mengukur berat pengguna, menampilkannya secara lokal dan mengirimkannya ke cloud. Anda bisa mendapatkan detail lebih lanjut tentang ini di tautan di bawah ini: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Tampilan Topi LED Dengan Pong: 12 Langkah (dengan Gambar)
Tampilan Topi LED Dengan Pong: Beberapa waktu yang lalu, sebagai proyek mikrokontroler pertama saya, saya membuat game Pong di layar LED 5x7, tetapi tidak ada hasilnya. Baru-baru ini saya diberi topi keras sebagai bagian dari seragam (untuk kompetisi teknik) dan disuruh menyesuaikannya, dan ingat