Isi kandungan:
- Langkah 1: Senarai Bahan
- Langkah 2: Perpustakaan dan Muat Naik Sketsa
- Langkah 3: Menyambungkan Bahagian: Penyambung VGA
- Langkah 4: Menyambungkan Bahagian: Potentiometers dan Butang
- Langkah 5: Kesimpulan dan Ucapan Terima Kasih
Video: ESP8266 VGA Pong: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Dalam Instructables ini saya akan menunjukkan bagaimana membina reproduksi permainan klasik Pong untuk monitor VGA, menggunakan ESP8266 dan beberapa komponen lain.
Permainan ini dimungkinkan oleh perpustakaan EspVGAx yang baru diterbitkan di GitHub oleh Sandro Maffiodo (aka Smaffer) dan, setahu saya, ini adalah permainan pertama yang memanfaatkannya.
Perpustakaan menerapkan resolusi 512 x 480 piksel, disimpan dalam framebuffer di dalam RAM, yang memerlukan 30720 bait. Resolusi sangat besar jika dibandingkan dengan Arduino TVout atau VGAx (masing-masing 128 x 96 dan 120 x 60 piksel). Saya harap permainan ini memberi inspirasi kepada pengaturcara lain untuk mengembangkan atau menghasilkan semula permainan yang lebih kompleks.
Langkah 1: Senarai Bahan
Perpustakaan EspVGAx memerlukan ESP8266 dengan semua GPIO terdedah, seperti papan ESP-12E, NodeMCU-12E atau papan apa pun yang mendedahkan GPIO5 (D1), GPIO4 (D2) dan GPIO13 (D7)
Khususnya, saya menggunakan:
- ESP8266 NodeMCU-12E (pautan di sini)
- penyambung DSUB15 (iaitu penyambung wanita VGA)
- perintang 330 Ohm
- perintang lain (kira-kira 1 hingga 3 kOhm)
- dua Potensiometer 10 kOhm
- Butang Tekan (tidak.)
- dua Diod (seperti 1N4007s)
- papan roti
- wayar
Saya mendapat penyambung DSUB15 dari papan PC VGA lama. Sebagai alternatif, anda juga boleh memotong kabel VGA lama dan menyambungkan wayar terus ke papan roti.
Langkah 2: Perpustakaan dan Muat Naik Sketsa
Terdapat kaedah yang berbeza untuk memprogram dan ESP8266; Saya menggunakan Arduino IDE untuk menulis Pong dan memuat naik kodnya.
Harap maklum bahawa perpustakaan EspVGAx berfungsi untuk Arduino IDE 1.8.1. Sekiranya anda mempunyai versi lain, yang terbaik adalah memuat turun fail.zip dan mengeluarkannya dalam folder khusus. Versi Windows ada di sini. Versi untuk OS lain ada di sini.
Selepas itu, anda harus memuat turun perpustakaan EspVGAx dari halaman GithHub di sini (pautan langsung untuk versi zip di sini), dan membebaskannya di perpustakaan folder dalam perisian Arduino.
NB Terdapat sedikit bug dalam fail espvgax_draw.h. Untuk membetulkannya, ganti garis 17:
sementara (x0% 32) {dengan sementara (x0% 32 && sw> 32) {
Akhirnya anda boleh memuatkan ESP8266_Pong.rar pada akhir langkah ini.
Setelah dizip, untuk memuat naiknya di ESP8266, anda perlu mengkonfigurasi Arduino IDE.
Sekiranya anda tidak pernah melakukannya, anda boleh mendapatkan semua arahan yang diperlukan pada Instructables ini, khususnya dalam Langkah 2.
Setelah semuanya dikonfigurasi, tetapan ESP8266 akan kelihatan seperti yang ditunjukkan dalam gambar di atas.
Sekiranya anda boleh memuat naik kod tanpa ralat, anda boleh mula menyusun bahagiannya.
Langkah 3: Menyambungkan Bahagian: Penyambung VGA
Saya meminta untuk menyambungkan port VGA terlebih dahulu, seperti yang ditunjukkan dalam gambar di atas. Harap maklum bahawa dengan menyambungkan tiga pin Merah, Hijau dan Biru bersama (iaitu pin 1, 2 dan 3 pada penyambung DSUB15), anda akan mempunyai imej B&W di skrin anda. Anda juga boleh mempunyai kombinasi warna yang berbeza. Lihat perinciannya di halaman Library GitHub.
Selanjutnya, anda harus menyambungkan perintang 330 Ohm antara pin RGB dan D7 (GPIO13) pada ESP8266. Ini memberi saya sedikit gambar kelabu pada monitor saya, oleh itu, setelah beberapa kali mencuba, saya memutuskan untuk menghapuskannya sama sekali.
Pada ketika ini, jika semuanya berfungsi dengan baik, anda sudah dapat menyambungkan monitor dan melihat layar permulaan permainan, dengan sepanduk "ESP8266 VGAx Pong".
Langkah 4: Menyambungkan Bahagian: Potentiometers dan Butang
Butang mesti disambungkan antara 3.3V dan pin D0 (GPIO16). Sambungkan juga perintang 1 hingga 3 kOhm dari D0 ke tanah. Ini mengelakkan D0 berada pada status yang tidak ditentukan semasa butang terbuka.
Sambungan kedua potensiometer kurang remeh, kerana ESP8266 hanya mempunyai port input analog A0 (ADC0)! Caranya adalah dengan menghubungkan kedua-dua output pot.s ke port yang sama, dan 'multiplex' mereka. Multiplexing bermaksud anda akan menghidupkan potensiometer, membacanya, kemudian mematikannya dan beralih ke yang kedua.
Sekiranya anda ingin mengetahui lebih lanjut mengenai kaedah ini, anda boleh membaca Instructable ini.
Sambungkan satu potensiometer yang melampau ke GND, yang lain yang ekstrim ke D5 untuk potensiometer pemain kiri dan D6 untuk pemain kanan.
Setiap pin pusat potensiometer mesti disambungkan ke dioda individu, dan sisi lain dari dioda mesti dihubungkan ke A0 (ADC0), dengan kekutuban yang ditunjukkan dalam gambar di atas.
Langkah 5: Kesimpulan dan Ucapan Terima Kasih
Saya berterima kasih kepada Sandro Maffiodo - SMAFFER - untuk perpustakaan ESPVGAX. Permainan ini tidak akan dapat dilakukan tanpanya.
Saya harap Instructable ini akan menjadi inspirasi kepada pengaturcara lain untuk membuat reproduksi permainan arked klasik yang lebih kompleks dengan ESP8266, yang mempunyai had yang jauh lebih sedikit daripada Arduino.
Akhirnya, saya menulis Instructable ini untuk menyerahkannya ke Peraduan Mainan: jika anda suka atau menghasilkannya semula, sila luangkan masa untuk memilihnya!
Disyorkan:
ESP8266 - Pengairan Taman Dengan Pemasa dan Alat Kawalan Jauh Melalui Internet / ESP8266: 7 Langkah (dengan Gambar)
ESP8266 - Pengairan Taman Dengan Pemasa dan Alat Kawalan Jauh Melalui Internet / ESP8266: ESP8266 - Pengairan jarak jauh dikendalikan dan dengan masa untuk kebun sayur, kebun bunga dan rumput. Ia menggunakan litar ESP-8266 dan injap hidraulik / elektrik untuk suapan penyiram. Kelebihan: Akses cepat kos rendah (~ US $ 30,00) Perintah
Tenis Pong Dengan Matrik LED, Arduino dan Joysticks: 5 Langkah (dengan Gambar)
Pong Tennis With LED Matrix, Arduino dan Joysticks: Projek ini bertujuan untuk pemula dan pengedar yang berpengalaman. Pada tahap asas, ia dapat dilakukan dengan papan roti, kabel jumper dan menempel pada sekeping bahan sekerap (saya menggunakan kayu) dengan Blu-Tack dan tanpa pematerian. Walau bagaimanapun, lebih maju
Arduino Basic PC Dengan Output VGA: 5 Langkah (dengan Gambar)
Arduino Basic PC Dengan Output VGA: Dalam Instructable sebelumnya saya telah menunjukkan cara membina komputer retro 8-bit yang menjalankan BASIC, dengan menggunakan dua Arduino, dan dengan isyarat output dalam B & W untuk skrin TV. Sekarang saya akan menunjukkan bagaimana membina komputer yang sama, tetapi dengan isyarat output di
Skala Pintar DIY Dengan Jam Penggera (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): 10 Langkah (dengan Gambar)
Skala Pintar DIY Dengan Jam Penggera (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): Dalam projek saya sebelumnya, saya mengembangkan skala bilik mandi pintar dengan Wi-Fi. Ia dapat mengukur berat pengguna, memaparkannya secara tempatan dan mengirimkannya ke awan. Anda boleh mendapatkan lebih banyak maklumat mengenai ini di pautan di bawah: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Paparan Topi LED Dengan Pong: 12 Langkah (dengan Gambar)
Paparan Topi LED Dengan Pong: Beberapa ketika lalu, sebagai projek mikrokontroler pertama saya, saya membuat permainan Pong pada paparan LED 5x7, tetapi tidak ada yang menjadi kenyataan. Baru-baru ini saya diberi topi keras sebagai sebahagian daripada pakaian seragam (untuk pertandingan kejuruteraan) dan disuruh menyesuaikannya, dan teringat