विषयसूची:

ESP32 VGA आर्केड गेम्स और जॉयस्टिक: 6 कदम (चित्रों के साथ)
ESP32 VGA आर्केड गेम्स और जॉयस्टिक: 6 कदम (चित्रों के साथ)

वीडियो: ESP32 VGA आर्केड गेम्स और जॉयस्टिक: 6 कदम (चित्रों के साथ)

वीडियो: ESP32 VGA आर्केड गेम्स और जॉयस्टिक: 6 कदम (चित्रों के साथ)
वीडियो: Make a Snake Maze game using 16*2 LCD and Joystick Module interfacing with Arduino Nano 2024, जुलाई
Anonim
Image
Image
ESP32 VGA आर्केड गेम्स और जॉयस्टिक
ESP32 VGA आर्केड गेम्स और जॉयस्टिक
ESP32 VGA आर्केड गेम्स और जॉयस्टिक
ESP32 VGA आर्केड गेम्स और जॉयस्टिक

इस निर्देशयोग्य में मैं दिखाऊंगा कि गेम जैसे चार आर्केड को कैसे पुन: पेश किया जाए - टेट्रिस - स्नेक - ब्रेकआउट - बॉम्बर - एक ईएसपी 32 का उपयोग करके, वीजीए मॉनिटर के लिए आउटपुट के साथ।

रिज़ॉल्यूशन 320 x 200 पिक्सल, 8 रंगों में है। मैंने पहले एक Arduino Uno (यहां देखें) के साथ एक संस्करण किया है, लेकिन रिज़ॉल्यूशन केवल 120 x 60 पिक्सेल, 4 रंग था, और Arduino मेमोरी लगभग भरी हुई थी। ESP32 के बेहतर प्रदर्शन के लिए धन्यवाद, रिज़ॉल्यूशन और खेलने की क्षमता दोनों अधिक हैं। इसके अलावा, अभी भी बहुत सारी मेमोरी उपलब्ध है, इस प्रकार भविष्य में नए गेम जोड़ना सीधा होगा।

मैं एक साधारण जॉयस्टिक ट्रफ को RS232 केबल से जोड़ने के लिए हॉट भी दिखाऊंगा। मैं कमोडोर 64 वाले के समान पिनआउट का उपयोग कर रहा हूं।

यह परियोजना Fabrizio Di Vittorio द्वारा लिखित भयानक ESP32 VGA लाइब्रेरी द्वारा संभव बनाई गई है। अधिक विवरण के लिए यहां देखें।

चरण 1: ESP32 बोर्ड, Arduino IDE इंस्टॉलेशन और VGA लाइब्रेरी कॉन्फ़िगरेशन।

ESP32 बोर्ड, Arduino IDE इंस्टॉलेशन और VGA लाइब्रेरी कॉन्फ़िगरेशन।
ESP32 बोर्ड, Arduino IDE इंस्टॉलेशन और VGA लाइब्रेरी कॉन्फ़िगरेशन।
ESP32 बोर्ड, Arduino IDE इंस्टॉलेशन और VGA लाइब्रेरी कॉन्फ़िगरेशन।
ESP32 बोर्ड, Arduino IDE इंस्टॉलेशन और VGA लाइब्रेरी कॉन्फ़िगरेशन।
ESP32 बोर्ड, Arduino IDE इंस्टॉलेशन और VGA लाइब्रेरी कॉन्फ़िगरेशन।
ESP32 बोर्ड, Arduino IDE इंस्टॉलेशन और VGA लाइब्रेरी कॉन्फ़िगरेशन।

सबसे पहले आपको एक ESP32 संशोधन 1 या उच्चतर खरीदना होगा। कई संस्करण उपलब्ध हैं, लेकिन मैं कई पिनों में से एक को चुनने की सलाह देता हूं, अधिमानतः एक मॉडल जैसे कि इस तस्वीर में एक, जिसमें 38 पिन हैं। मैं इस संस्करण का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि कई अन्य भी ठीक हैं। ईबे पर आप इस मॉडल को डिलीवरी सहित 7 यूरो से कम में पा सकते हैं।

एक बार जब आप बोर्ड प्राप्त कर लेते हैं, तो आपको निम्नलिखित तीन उप-चरणों के साथ आगे बढ़ना होगा:

  1. अंतिम Arduino IDE स्थापित करें
  2. ESP32 को IDE में कॉन्फ़िगर करें और
  3. वीजीए लाइब्रेरी डाउनलोड और इंस्टॉल करें

उप-चरण 1. ESP32 को प्रोग्राम करने के लिए अलग-अलग तरीके हैं, लेकिन यहां आपको Arduino IDE का उपयोग करने की आवश्यकता है (मैं संस्करण 1.8.9 का उपयोग कर रहा हूं, वैसे)। इसे स्थापित करने के लिए, आप Arduino IDE पृष्ठ पर जा सकते हैं और निर्देशों का पालन कर सकते हैं।

उप-चरण 2. एक बार पिछला ऑपरेशन हो जाने के बाद, आपको अपने ESP32 को Arduino IDE के भीतर कॉन्फ़िगर करना होगा। यह तुच्छ नहीं है, क्योंकि ESP32 इसमें (अभी तक?) मूल निवासी नहीं है। आप इस ट्यूटोरियल, या निम्न चरणों का पालन कर सकते हैं।

1) Arduino IDE खोलें

2) वरीयता विंडो खोलें, फ़ाइल/वरीयता, वैकल्पिक रूप से "Ctrl + अल्पविराम" दबाएं

3) "अतिरिक्त बोर्ड प्रबंधक यूआरएल" पर जाएं, निम्नलिखित टेक्स्ट को कॉपी और पेस्ट करें:

https://dl.espressif.com/dl/package_esp32_index.js…

और OK बटन पर क्लिक करें।

4) ओपन बोर्ड मैनेजर। टूल्स/बोर्ड/बोर्ड्स मैनेजर पर जाएं…

5) ESP32 खोजें और "ESP32 by Espressif Systems" के लिए इंस्टॉल बटन दबाएं:

6) इस बिंदु पर, जब आप पहली बार अपने ESP32 से जुड़ते हैं, तो आपको उपलब्ध ESP32 बोर्डों की लंबी सूची में सही मॉडल चुनना चाहिए (इस चरण में चित्र देखें)। मॉडल के बारे में संदेह के मामले में, केवल सामान्य चुनें, यानी पहले वाला। इससे मेरा काम बनता है।

7) सिस्टम को सही USB (COM) पोर्ट और अपलोड स्पीड (सामान्यतः 921600) का चयन करना चाहिए। इस बिंदु पर आपके पीसी और ESP32 बोर्ड के बीच संबंध स्थापित होना चाहिए।

उप-चरण 3. अंत में आपको FabGL VGA लाइब्रेरी को स्थापित करना होगा। पूरी संपीड़ित फ़ाइल डाउनलोड करने के लिए यहां क्लिक करें। इसे असम्पीडित करें और परिणामी फ़ोल्डर (FabGL-master) को Arduino IDE लाइब्रेरी फ़ोल्डर में कॉपी करें, जो इस तरह दिखता है:

"…\arduino-1.8.12\पुस्तकालय"।

चरण 2: "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0" अपलोड करना

इस चरण के नीचे ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip डाउनलोड करें। अनज़िप करें और इसे Arduino IDE के साथ खोलें, फिर इसे अपने ESP32 पर अपलोड करें। यदि आपके पास कोई त्रुटि संदेश नहीं है, तो कोड पहले से चल रहा होना चाहिए और आपको केवल वीजीए पोर्ट और बटन (या जॉयस्टिक) कनेक्ट करने की आवश्यकता है।

चरण 3: वीजीए पोर्ट को जोड़ना

वीजीए पोर्ट को जोड़ना
वीजीए पोर्ट को जोड़ना

आपको निम्नलिखित भागों की आवश्यकता है:

  • एक DSUB15 कनेक्टर, यानी एक वीजीए महिला कनेक्टर या एक वीजीए केबल काटा जाना।
  • तीन 270 ओम प्रतिरोधक।

ESP32 GPIO पिन 2, 15 और 21 को क्रमशः 270 ओम प्रतिरोधों के माध्यम से VGA रेड, ग्रीन और ब्लू से कनेक्ट करें।

VGA Hsync और Vsync को क्रमशः ESP32 GPIO पिन 17 और 4 से कनेक्ट करें।

DSUB15 कनेक्टर पिन 5, 6, 7, 8 और 10 को ESP32 GND से कनेक्ट करें।

VGA DSUB15 कनेक्टर पिन परिभाषा के लिए, इस चरण में चित्र देखें। एनबी, यह महिला कनेक्टर का सोल्डरिंग पक्ष है।

चरण 4: चार बटन कनेक्ट करें

चार बटन कनेक्ट करें
चार बटन कनेक्ट करें
चार बटन कनेक्ट करें
चार बटन कनेक्ट करें
चार बटन कनेक्ट करें
चार बटन कनेक्ट करें

यदि आपके पास C64 जॉयस्टिक नहीं है तो आप इस चरण का अनुसरण करते हुए चार बटन कनेक्ट कर सकते हैं। यदि आपके पास जॉयस्टिक है, तो आप इस चरण को छोड़ सकते हैं और अगले एक पर जा सकते हैं, लेकिन आप वैसे भी दोनों बटन और जॉयस्टिक को जोड़ सकते हैं (वे वैसे भी "समानांतर में" हैं)।

इस चरण में योजनाबद्ध दिखाता है कि एक बटन (सामान्य रूप से खुला) को +5V से ESP32 दिए गए पिन से कैसे जोड़ा जाए।

ध्यान दें कि आपको ESP दिए गए पिन को GND गर्त से 1 से 5 kOhm रोकनेवाला कनेक्ट करने की आवश्यकता है। इस तरह जब बटन छोड़ा (खुला) होता है तो ESP पिन बिल्कुल शून्य वोल्ट पर होता है। अधिक विशेष रूप से, आपको निम्न क्रम के साथ चार बटन कनेक्ट करने की आवश्यकता है:

  • पिन 12 से दायां बटन
  • पिन 25 टू अप बटन
  • पिन 14 से लेफ्ट बटन
  • पिन 35 से डाउन बटन

चरण 5: जॉयस्टिक कनेक्ट करें

जॉयस्टिक कनेक्ट करें
जॉयस्टिक कनेक्ट करें
जॉयस्टिक कनेक्ट करें
जॉयस्टिक कनेक्ट करें
जॉयस्टिक कनेक्ट करें
जॉयस्टिक कनेक्ट करें

C64 जॉयस्टिक में इस चरण की पहली तस्वीर में दिखाया गया पिनआउट है। इसे ESP32 से जोड़ने के लिए, आपको एक 9 पिन DSUB पुरुष कनेक्टर (यानी, एक सॉकेट) की आवश्यकता है, जैसा कि दूसरी तस्वीर में दिखाया गया है। मैंने एक पुराने इलेक्ट्रॉनिक बोर्ड से उजागर पिन वाले एक को हटा दिया। आप इसे हटाने के लिए हीट-गन का उपयोग कर सकते हैं (लेकिन इसे बाहर करें!)

आपको इन चित्रों में संख्यात्मक क्रम का पालन करते हुए पिनों को जोड़ने की आवश्यकता है। ध्यान दें कि योजनाबद्ध जॉयस्टिक पक्ष को संदर्भित करता है, इस प्रकार यह अपनी महिला प्लग के कनेक्शन का प्रतिनिधित्व करता है। ESP32 से कनेक्ट करने के लिए सॉकेट (पुरुष) में "दर्पण" स्वभाव के साथ पिन होते हैं। संदेह की स्थिति में, याद रखें कि पिन नंबर हमेशा पुरुष और महिला कनेक्टर पर सूचित किया जाता है, जैसा कि तीसरी तस्वीर में दिखाया गया है।

यदि आप केवल जॉयस्टिक के साथ गेम को नियंत्रित करना चाहते हैं, तो इसके सामान्य पिन (9) को ESP32 +5V से कनेक्ट करें, और जॉयस्टिक पिन 1, 2, 3, 4 और 6 को निम्नलिखित सूची का अनुसरण करते हुए ESP दिए गए पिन से कनेक्ट करें।

  • ESP पिन 12 से दायां बटन (RS232 पिन 4)
  • ESP पिन 14 से लेफ्ट बटन (RS232 पिन 3)
  • ESP पिन 35 से डाउन बटन (RS232 पिन 2)
  • ESP पिन 25 टू अप बटन (RS232 पिन 1 और 6, यानी जॉयस्टिक फायर)

एनबी ईएसपी पिन 12, 14, 25 और 35 को जीएनडी गर्त से 1 से 5 kOhm रोकनेवाला भी जोड़ा जाना चाहिए। इस तरह जब बटन छोड़ा (खुला) होता है तो ESP पिन बिल्कुल शून्य वोल्ट पर होता है।

NB2 जॉयस्टिक UP स्थिति और फायर बटन ESP पिन से एक साथ जुड़े हुए हैं 25-

मैंने पीसी बोर्ड पर चार बटन जोड़े हैं, इस तरह मुझे खेलने के लिए जॉयस्टिक की आवश्यकता नहीं है (हालाँकि जॉयस्टिक के साथ यह बहुत अधिक मज़ेदार है)। फिर से, RS232 पिन 9 को +5 V से जोड़ा जाना चाहिए और जॉयस्टिक पिन बटन के समानांतर हैं।

चरण 6: निष्कर्ष और पावती

निष्कर्ष और पावती
निष्कर्ष और पावती

अगर सब कुछ ठीक से काम करता है, तो बस वीजीए मॉनिटर को कनेक्ट करें और आपको कुछ पुराने स्टाइल गेम का आनंद लेने में सक्षम होना चाहिए!

आप केवल वीजीए पुस्तकालय क्षमताओं का परीक्षण करने के लिए 640 x 350 पिक्सल के संकल्प के साथ एक मंडेलब्रॉट सेट भी बना सकते हैं।

ध्यान दें कि कोड इस तरह से लिखा गया है कि भविष्य में अन्य खेलों को आसानी से जोड़ा जा सकता है (ESP32 में बहुत जगह है!) मुझे इस परियोजना में पर्याप्त रुचि मिलती है, मैं ऐसा कर सकता हूं …

अंत में, मैं Fabrizio Di Vittorio को अपने शानदार ESP32 VGA पुस्तकालय के लिए अपने टैंक व्यक्त करना चाहता हूं। अधिक विवरण, उदाहरण, और… अंतरिक्ष आक्रमणकारियों के लिए, उसकी साइट पर जाएँ।

सिफारिश की: