विषयसूची:

ESP32 हैंडहेल्ड गेम कंसोल: 21 कदम (चित्रों के साथ)
ESP32 हैंडहेल्ड गेम कंसोल: 21 कदम (चित्रों के साथ)

वीडियो: ESP32 हैंडहेल्ड गेम कंसोल: 21 कदम (चित्रों के साथ)

वीडियो: ESP32 हैंडहेल्ड गेम कंसोल: 21 कदम (चित्रों के साथ)
वीडियो: ESP32 Retro Game Console, Brainfuino Debut, Inforce 6560 ARM SBC, PiBoy CM4 & SRX Leaked, and More! 2024, नवंबर
Anonim
Image
Image
हार्डवेयर तैयारी
हार्डवेयर तैयारी

यह निर्देश दिखाता है कि NES एमुलेटर गेम कंसोल बनाने के लिए ESP32 और ATtiny861 का उपयोग कैसे करें।

चरण 1: हार्डवेयर तैयारी

हार्डवेयर तैयारी
हार्डवेयर तैयारी
हार्डवेयर तैयारी
हार्डवेयर तैयारी

ESP32 देव बोर्ड

इस बार मैं TTGO T8 ESP32 देव बोर्ड का उपयोग कर रहा हूं। इस बोर्ड में बिल्ट-इन लाइपो चार्जिंग और रेगुलेटिंग सर्किट है, यह अतिरिक्त घटकों को कम करने में मदद कर सकता है।

प्रदर्शन

इस बार मैं 2.4 IPS LCD का उपयोग कर रहा हूं। ड्राइवर नियंत्रक ST7789V है और रिज़ॉल्यूशन 320 x 240 है। यह रिज़ॉल्यूशन NES एमुलेटर 252 x 224 रिज़ॉल्यूशन के लिए सबसे उपयुक्त है।

बैटरी

इस बार मैं 454261 लाइपो बैटरी का उपयोग कर रहा हूं। 4.5 मिमी ईएसपी 32 देव बोर्ड की मोटाई है, और 61 मिमी बोर्ड की चौड़ाई है।

पिन हेडर

I2C गेमपैड को जोड़ने के लिए 4 पिन पुरुष राउंड पिन हेडर और 4 पिन महिला राउंड पिन हेडर।

पीईटीजी प्लेट

देव बोर्ड और लाइपो बैटरी का समर्थन करने के लिए एक छोटी पीईटी / पीईटीजी प्लेट, आप इसे उत्पाद पैकिंग में आसानी से पा सकते हैं।

बहुउद्देश्यीय पीसीबी

2 PCB की आवश्यकता है, डिस्प्ले को सपोर्ट करने के लिए 1 0.4 मिमी मोटा, I2C गेमपैड के लिए 1 1.2 मिमी मोटा।

बटन

एक 5 दिशा बटन, 2 छोटे बटन चुनें और शुरू करने के लिए और 2 ए और बी बटन के लिए।

I2C गेमपैड नियंत्रक

इस बार मैं I2C गेमपैड नियंत्रक के रूप में ATtiny861 माइक्रोकंट्रोलर का उपयोग करता हूं।

अन्य

1 SMD 12 ओम रोकनेवाला, एक ISP प्रोग्रामर (जैसे TinyISP)

चरण 2: सॉफ्टवेयर तैयार करना

सॉफ्टवेयर तैयारी
सॉफ्टवेयर तैयारी
सॉफ्टवेयर तैयारी
सॉफ्टवेयर तैयारी
सॉफ्टवेयर तैयारी
सॉफ्टवेयर तैयारी

अरुडिनो आईडीई

यदि अभी तक नहीं तो Arduino IDE डाउनलोड और इंस्टॉल करें:

एटीटीनीकोर सपोर्ट

यदि अभी तक नहीं तो ATTinyCore समर्थन जोड़ने के लिए स्थापना चरणों का पालन करें:

ईएसपी-आईडीएफ

ईएसपी-आईडीएफ का पालन करें यदि अभी तक नहीं तो विकास पर्यावरण स्थापित करने के लिए गाइड शुरू करें:

चरण 3: 3डी प्रिंटिंग

3 डी प्रिंटिग
3 डी प्रिंटिग

केस को डाउनलोड और प्रिंट करें:

चरण 4: एलसीडी सपोर्ट

एलसीडी समर्थन
एलसीडी समर्थन
एलसीडी समर्थन
एलसीडी समर्थन

एलसीडी सपोर्ट के लिए 24 x 27 होल 0.4 मिमी पीसीबी काटें। याद रखें कि LCD FPC को फोल्ड करने के लिए कुछ जगह आरक्षित करें। फिर पीसीबी पर एलसीडी को ठीक करने के लिए कुछ डबल साइड चिपकने वाला टेप का उपयोग करें।

चरण 5: PETG प्लेट तैयार करें

PETG प्लेट तैयार करें
PETG प्लेट तैयार करें
PETG प्लेट तैयार करें
PETG प्लेट तैयार करें

देव बोर्ड और लाइपो बैटरी सपोर्ट के लिए 62 मिमी x 69 मिमी पीईटीजी प्लेट काट लें।

चरण 6: ESP32 देव बोर्ड को ठीक करें

ESP32 देव बोर्ड को ठीक करें
ESP32 देव बोर्ड को ठीक करें

पीईटीजी प्लेट पर देव बोर्ड को ठीक करने के लिए डबल साइड चिपकने वाला टेप का प्रयोग करें।

चरण 7: लाइपो बैटरी को ठीक करें

लाइपो बैटरी को ठीक करें
लाइपो बैटरी को ठीक करें

देव बोर्ड के अलावा लाइपो बैटरी को ठीक करने के लिए डबल साइड एडहेसिव टेप का उपयोग करें।

चरण 8: बैटरी और देव बोर्ड कनेक्ट करें

बैटरी और देव बोर्ड कनेक्ट करें
बैटरी और देव बोर्ड कनेक्ट करें

चरण 9: डिस्प्ले पिन तैयार करें

प्रदर्शन पिन तैयार करें
प्रदर्शन पिन तैयार करें

एलसीडी डिस्प्ले में विभिन्न विक्रेताओं के रूप में कई भिन्नताएं होती हैं। कृपया सही डेटाशीट प्राप्त करें और किसी भी पैच और कनेक्शन से पहले इसे पढ़ें।

कुछ पिन टच पैनल के लिए आरक्षित हैं। चूंकि इस एलसीडी में टच पैनल नहीं है, बस उन पिनों को काटकर गड़बड़ी को कम किया जा सकता है।

चरण 10: जीएनडी पिन कनेक्ट करें

जीएनडी पिन कनेक्ट करें
जीएनडी पिन कनेक्ट करें
जीएनडी पिन कनेक्ट करें
जीएनडी पिन कनेक्ट करें

ज्यादातर मामलों में, कुछ पिनों को GND से कनेक्ट करने की आवश्यकता होती है। टांका लगाने के प्रयास को कम करने के लिए, मैंने सभी GND पिन तक पहुँचने के लिए एक तांबे के टेप के आकार को काट दिया और फिर पूरी तरह से सोल्डर कर दिया।

चरण 11: वीसीसी पिन कनेक्ट करें

वीसीसी पिन कनेक्ट करें
वीसीसी पिन कनेक्ट करें

वीसीसी, एलसीडी पावर और एलईडी पावर से कनेक्ट करने के लिए 2 पिन आवश्यक हैं। डेटा शीट के अनुसार, एलसीडी पावर सीधे देव बोर्ड 3.3 वी पिन से कनेक्ट हो सकती है लेकिन एलईडी पावर 3.3 वी से थोड़ा कम काम करती है। इसलिए बेहतर है कि बीच में एक एसएमडी रेसिस्टर जोड़ें, उदा। 12 ओम रोकनेवाला।

चरण 12: एलसीडी और देव बोर्ड समर्थन कनेक्ट करें

एलसीडी और देव बोर्ड समर्थन कनेक्ट करें
एलसीडी और देव बोर्ड समर्थन कनेक्ट करें

टेप कनेक्ट एलसीडी सपोर्ट और देव बोर्ड सपोर्ट का एक साथ उपयोग करें। दोनों सपोर्ट में फोल्डिंग के लिए लगभग 5 मिमी का अंतर होना चाहिए।

चरण 13: एसपीआई पिन कनेक्ट करें

एसपीआई पिन कनेक्ट करें
एसपीआई पिन कनेक्ट करें

यहाँ कनेक्शन सारांश हैं:

एलसीडी ESP32

जीएनडी -> जीएनडी आरएसटी -> जीपीआईओ 33 एससीएल -> जीपीआईओ 18 डीसी -> जीपीआईओ 27 सीएस -> जीपीआईओ 5 एसडीआई -> जीपीआईओ 23 एसडीओ -> कनेक्टेड वीसीसी -> 3.3 वी एलईडी + -> 12 ओम प्रतिरोधी -> 3.3 वी एलईडी - -> जीएनडी

चरण 14: फ्लैश कार्यक्रम

फ्लैश कार्यक्रम
फ्लैश कार्यक्रम
फ्लैश कार्यक्रम
फ्लैश कार्यक्रम
फ्लैश कार्यक्रम
फ्लैश कार्यक्रम
फ्लैश कार्यक्रम
फ्लैश कार्यक्रम
  1. GitHub पर स्रोत कोड डाउनलोड करें:
  2. स्रोत कोड फ़ोल्डर के अंतर्गत, "मेनूकॉन्फ़िग बनाएं" चलाएँ
  3. "Nofrendo ESP32- विशिष्ट कॉन्फ़िगरेशन" चुनें
  4. "चलाने के लिए हार्डवेयर" -> "कस्टम हार्डवेयर" चुनें
  5. "एलसीडी प्रकार" -> "एसटी7789वी एलसीडी" चुनें
  6. पिन सेटिंग भरें: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, बैकलाइट -> -1, IPS -> Y
  7. बाहर निकलें और सहेजें
  8. "मेक-जे 5 फ्लैश" चलाएं
  9. "श फ्लैश्रोम.श PATH_TO_YOUR_ROM_FILE" चलाएँ

चरण 15: I2C कनेक्टर

I2C कनेक्टर
I2C कनेक्टर
I2C कनेक्टर
I2C कनेक्टर
I2C कनेक्टर
I2C कनेक्टर

I2C पिन को तोड़ें, ESP32 डिफ़ॉल्ट I2C पिन हैं:

पिन 1 (एससीएल) -> जीपीआईओ 22

पिन 2 (एसडीए) -> जीपीआईओ 21 पिन 3 (वीसीसी) -> 3.3 वी (लिपो बैटरी द्वारा संचालित 5 वी पावर नहीं) पिन 4 (जीएनडी) -> जीएनडी

चरण 16: विधानसभा भाग 1

Image
Image

मामले में सभी भागों को मोड़ने और निचोड़ने के लिए वीडियो चरणों का पालन करें।

चरण 17: प्रोटोटाइप I2C गेमपैड

प्रोटोटाइप I2C गेमपैड
प्रोटोटाइप I2C गेमपैड
प्रोटोटाइप I2C गेमपैड
प्रोटोटाइप I2C गेमपैड

I2C गेमपैड के लिए कार्यक्रम बहुत सरल है, कोड की केवल 15 पंक्तियाँ। लेकिन सोल्डरिंग के बाद ATtiny861 को रिप्रोग्राम करना थोड़ा कठिन है, इसलिए बेहतर है कि इसे पहले ब्रेडबोर्ड पर टेस्ट करें।

GitHub से प्रोग्राम को डाउनलोड, कंपाइल और फ्लैश करें:

चरण 18: I2C गेमपैड बनाएं

I2C गेमपैड बनाएं
I2C गेमपैड बनाएं
I2C गेमपैड बनाएं
I2C गेमपैड बनाएं
I2C गेमपैड बनाएं
I2C गेमपैड बनाएं

यहाँ कनेक्शन सारांश हैं:

ATtiny861 बटन

GND -> सभी बटन एक पिन पिन 20 (PA0) -> अप बटन पिन 19 (PA1) -> डाउन बटन पिन 18 (PA2) -> बायां बटन पिन 17 (PA3) -> दायां बटन पिन 14 (PA4) -> बटन पिन 13 (PA5) चुनें -> स्टार्ट बटन पिन 12 (PA6) -> A बटन पिन 11 (PA7) -> B बटन पिन 6 (GND) -> I2C पुरुष पिन हेडर पिन 4 पिन 5 (Vcc) -> I2C पुरुष पिन हैडर पिन 3 पिन 3 (एससीएल) -> I2C पुरुष पिन हैडर पिन 1 पिन 1 (एसडीए) -> I2C पुरुष पिन हैडर पिन 2

चरण 19: विधानसभा भाग 2

Image
Image
वैकल्पिक: ऑडियो ब्रेकआउट पिन
वैकल्पिक: ऑडियो ब्रेकआउट पिन

मुख्य भाग पर कवर और I2C गेमपैड को स्थापित करने के लिए वीडियो चरणों का पालन करें।

चरण 20: वैकल्पिक: ऑडियो ब्रेकआउट पिन

Image
Image
वैकल्पिक: ऑडियो ब्रेकआउट पिन
वैकल्पिक: ऑडियो ब्रेकआउट पिन

ESP32 देव बोर्ड पिन 25 और 26 एनालॉग ऑडियो सिग्नल को आउटपुट कर रहा है, इन 2 पिनों और शीर्ष पर पावर पिन (3.3 V और GND) को भी तोड़ना बहुत आसान है। फिर आप उस पर प्लग करने के लिए एक ईयरफोन को पैच कर सकते हैं। या यहां तक कि आप इसे जोर से चलाने के लिए स्पीकर के साथ एक ऑडियो एम्पलीफायर मॉड्यूल भी जोड़ सकते हैं।

चरण 21: आगे क्या है?

आगे क्या होगा?
आगे क्या होगा?

एनईएस एम्यूलेटर एकमात्र दिलचस्प चीज नहीं है जिसे आप ईएसपी 32 के साथ बना सकते हैं। उदा. आप इसके साथ एक माइक्रो पायथन कंसोल बना सकते हैं। एकमात्र घटक जिसे आपको बदलने की आवश्यकता है वह है I2C गेमपैड से I2C कीबोर्ड तक। मुझे लगता है कि इसे ATtiny88 कंट्रोलर के साथ बनाना इतना मुश्किल नहीं है। स्टेटस देखने के लिए आप मेरे ट्विटर को फॉलो कर सकते हैं।

सिफारिश की: