विषयसूची:

ESP8266 VGA पोंग: 5 कदम (चित्रों के साथ)
ESP8266 VGA पोंग: 5 कदम (चित्रों के साथ)

वीडियो: ESP8266 VGA पोंग: 5 कदम (चित्रों के साथ)

वीडियो: ESP8266 VGA पोंग: 5 कदम (चित्रों के साथ)
वीडियो: VGA Graphics on ESP8266 2024, नवंबर
Anonim
Image
Image
सामग्री की सूची
सामग्री की सूची

इस निर्देश में मैं दिखाऊंगा कि ईएसपी 8266 और कुछ अन्य घटकों का उपयोग करके वीजीए मॉनिटर के लिए क्लासिक गेम पोंग का पुनरुत्पादन कैसे किया जाए।

यह गेम हाल ही में GitHub पर Sandro Maffiodo (उर्फ Smaffer) द्वारा प्रकाशित EspVGAx लाइब्रेरी द्वारा संभव बनाया गया है और जहाँ तक मुझे पता है, यह इसका शोषण करने वाला पहला गेम है।

पुस्तकालय 512 x 480 पिक्सल के एक संकल्प को लागू करता है, जो रैम के अंदर एक फ्रेमबफर में संग्रहीत होता है, जिसके लिए 30720 बाइट्स की आवश्यकता होती है। Arduino TVout या VGAx वाले (क्रमशः 128 x 96 और 120 x 60 पिक्सेल) की तुलना में रिज़ॉल्यूशन बहुत बड़ा है। मुझे उम्मीद है कि यह गेम अन्य प्रोग्रामर को अधिक जटिल गेम विकसित करने या पुन: पेश करने के लिए प्रेरित करता है।

चरण 1: सामग्री की सूची

EspVGAx लाइब्रेरी को सभी GPIO के साथ ESP8266 की आवश्यकता होती है, जैसे ESP-12E, NodeMCU-12E बोर्ड या कोई भी बोर्ड जो GPIO5 (D1), GPIO4 (D2) और GPIO13 (D7) को उजागर करता है।

विशेष रूप से, मैंने इस्तेमाल किया:

  • एक ESP8266 NodeMCU-12E (यहां लिंक करें)
  • एक DSUB15 कनेक्टर (यानी एक वीजीए महिला कनेक्टर)
  • एक 330 ओम रेसिस्टर
  • एक और रोकनेवाला (लगभग 1 से 3 kOhm)
  • दो 10 kOhm पोटेंशियोमीटर
  • एक पुश बटन (सं.)
  • दो डायोड (जैसे 1N4007s)
  • एक ब्रेडबोर्ड
  • तारों

मुझे एक पुराने वीजीए पीसी बोर्ड से DSUB15 कनेक्टर मिला है। वैकल्पिक रूप से, आप एक पुरानी वीजीए केबल भी काट सकते हैं और तारों को सीधे ब्रेडबोर्ड से जोड़ सकते हैं।

चरण 2: पुस्तकालय और स्केच अपलोड

पुस्तकालय और स्केच अपलोड
पुस्तकालय और स्केच अपलोड

प्रोग्राम और ESP8266 के विभिन्न तरीके हैं; मैंने पोंग लिखने और कोड अपलोड करने के लिए Arduino IDE का उपयोग किया।

कृपया ध्यान दें कि EspVGAx लाइब्रेरी Arduino IDE 1.8.1 के लिए काम करती है। यदि आपके पास अन्य संस्करण हैं, तो.zip फ़ाइलों को डॉउनलोड करना और इसे एक समर्पित फ़ोल्डर में अनकंप्रेस करना सबसे अच्छा है। विंडोज संस्करण यहाँ है। अन्य OS के संस्करण यहाँ हैं।

उसके बाद, आपको यहां गिथहब पेज से एस्पवीजीएएक्स लाइब्रेरी को डाउलोड करना चाहिए (यहां ज़िप संस्करण के लिए सीधा लिंक), और इसे Arduino सॉफ़्टवेयर में फ़ोल्डर लाइब्रेरी में असम्पीडित करना चाहिए।

NB espvgax_draw.h फ़ाइल में एक छोटी सी बग है। इसे ठीक करने के लिए, बस लाइन 17 को बदलें:

जबकि (x0%32) { साथ में (x0%32 && SW> 32) {

अंत में आप इस चरण के अंत में ESP8266_Pong.rar को डाउनलोड कर सकते हैं।

एक बार अनज़िप हो जाने पर, इसे अपने ESP8266 पर अपलोड करने के लिए, आपको Arduino IDE को कॉन्फ़िगर करना होगा।

यदि आपने इसे कभी नहीं किया है, तो आप इस निर्देश पर सभी आवश्यक निर्देश पा सकते हैं, विशेष रूप से चरण 2 में।

एक बार सब कुछ कॉन्फ़िगर हो जाने के बाद, ESP8266 सेटिंग्स ऊपर की तस्वीर में दिखाए गए लोगों की तरह दिखनी चाहिए।

यदि आप त्रुटियों के बिना कोड अपलोड कर सकते हैं, तो आप भागों को इकट्ठा करना शुरू कर सकते हैं।

चरण 3: भागों को जोड़ना: वीजीए कनेक्टर

भागों को जोड़ना: वीजीए कनेक्टर
भागों को जोड़ना: वीजीए कनेक्टर
भागों को जोड़ना: वीजीए कनेक्टर
भागों को जोड़ना: वीजीए कनेक्टर
भागों को जोड़ना: वीजीए कनेक्टर
भागों को जोड़ना: वीजीए कनेक्टर

मैं पहले वीजीए पोर्ट को जोड़ने की सलाह देता हूं, जैसा कि ऊपर की तस्वीरों में दिखाया गया है। कृपया ध्यान दें कि लाल, हरे और नीले रंग के तीन पिनों को एक साथ जोड़कर (अर्थात DSUB15 कनेक्टर पर पिन 1, 2 और 3), आपकी स्क्रीन पर एक B&W छवि होगी। आपके पास अलग-अलग रंगों का संयोजन भी हो सकता है। लाइब्रेरी GitHub पेज पर विवरण देखें।

इसके अलावा, आपको ESP8266 पर RGB पिन और D7 (GPIO13) के बीच 330 ओम रेसिस्टर कनेक्ट करना चाहिए। इसने मुझे अपने मॉनिटर पर थोड़ी भूरी छवि दी, इसलिए कुछ कोशिशों के बाद, मैंने इसे बिल्कुल खत्म करने का फैसला किया।

इस बिंदु पर, यदि सब कुछ ठीक से काम करता है, तो आप पहले से ही मॉनिटर को कनेक्ट कर सकते हैं और "ESP8266 VGAx Pong" बैनर के साथ गेम की शुरुआती स्क्रीन देख सकते हैं।

चरण 4: भागों को जोड़ना: पोटेंशियोमीटर और बटन

भागों को जोड़ना: पोटेंशियोमीटर और बटन
भागों को जोड़ना: पोटेंशियोमीटर और बटन

बटन 3.3V और पिन D0 (GPIO16) के बीच जुड़ा होना चाहिए। D0 से जमीन पर 1 से 3 kOhm रोकनेवाला भी कनेक्ट करें। यह बटन के खुले होने पर D0 को अनिर्धारित स्थिति में होने से बचाता है।

दो पोटेंशियोमीटर का कनेक्शन कम तुच्छ है, वास्तव में ESP8266 में केवल एक एनालॉग इनपुट पोर्ट A0 (ADC0) है! चाल दोनों पॉट के आउटपुट को एक ही पोर्ट से कनेक्ट करना है, और उन्हें 'मल्टीप्लेक्स' करना है। मल्टीप्लेक्सिंग का सीधा सा मतलब है कि आप एक पोटेंशियोमीटर को चालू करेंगे, उसे पढ़ेंगे, फिर उसे बंद कर देंगे और दूसरे पर चले जाएंगे।

यदि आप इस विधि के बारे में अधिक जानना चाहते हैं, तो आप इस निर्देश को पढ़ सकते हैं।

एक पोटेंशियोमीटर एक्सट्रीम को GND से, दूसरे एक्सट्रीम को लेफ्ट प्लेयर पोटेंशियोमीटर के लिए D5 और दाएं प्लेयर एक के लिए D6 से कनेक्ट करें।

प्रत्येक पोटेंशियोमीटर केंद्रीय पिन को एक व्यक्तिगत डायोड से कनेक्ट होना चाहिए, और डायोड के अन्य पक्षों को उपरोक्त चित्र में दिखाए गए ध्रुवता के साथ A0 (ADC0) से जोड़ा जाना चाहिए।

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

मैं ESPVGAX मुक्ति के लिए Sandro Maffiodo - SMAFFER - का आभारी हूं। इसके बिना यह खेल संभव नहीं होगा।

मुझे उम्मीद है कि यह निर्देश अन्य प्रोग्रामर के लिए ESP8266 के साथ अधिक जटिल शास्त्रीय आर्केड गेम के पुनरुत्पादन के लिए एक प्रेरणा होगा, जिसमें Arduino की तुलना में बहुत कम सीमा है।

अंत में, मैंने इसे खिलौने प्रतियोगिता में जमा करने के लिए निर्देशयोग्य लिखा: यदि आप इसे पसंद करते हैं या पुन: पेश करते हैं, तो कृपया इसे वोट करने के लिए कुछ समय दें!

सिफारिश की: