विषयसूची:

Arduino वीडियो गेम कंट्रोलर: 4 कदम
Arduino वीडियो गेम कंट्रोलर: 4 कदम

वीडियो: Arduino वीडियो गेम कंट्रोलर: 4 कदम

वीडियो: Arduino वीडियो गेम कंट्रोलर: 4 कदम
वीडियो: Making DIY game controller - Arduino gamepad TUTORIAL 2024, नवंबर
Anonim
Arduino वीडियो गेम नियंत्रक
Arduino वीडियो गेम नियंत्रक

क्या आपके पास एक Arduino किट है, लेकिन कोई सुराग नहीं है कि इसके साथ क्या किया जाए? शायद नहीं, लेकिन इस निर्देशयोग्य में मैं आपको चरण दर चरण दिखाऊंगा कि कैसे अपने प्रोजेक्ट में Arduino का निर्माण, कोड और एकीकरण करें। फिलहाल इस गाइड का केवल Clickteam Fusion Developer 2.5 के साथ परीक्षण किया गया है, लेकिन बिल्ड और Arduino कोड चरणों का सार्वभौमिक रूप से उपयोग किया जा सकता है। यह मार्गदर्शिका भविष्य में अवास्तविक और एकता के लिए अद्यतन हो सकती है।

चरण 1: खरीदारी की सूची

  • Arduino Uno या समान
  • यूएसबी केबल
  • (४०० अंक) ब्रेडबोर्ड या १ x perf/स्ट्रिप बोर्ड
  • Arduino संगत तार।
  • विभिन्न सेंसर। मैंने अपने उदाहरण प्रोजेक्ट में निम्नलिखित का उपयोग किया:
  • पैनल माउंट पोटेंशियोमीटर 10K ब्रेडबोर्ड अनुकूल
  • फोटोरेसिस्टर
  • बल संवेदनशील रोकनेवाला

चरण 2: कनेक्शन

सम्बन्ध
सम्बन्ध

नोट: ये केवल वे सेंसर हैं जिनका मैंने व्यक्तिगत रूप से अपने प्रोजेक्ट के लिए उपयोग किया है। इसका मतलब है कि वहाँ बहुत अधिक विकल्प हैं। सेंसर के आधार पर विभिन्न साइटों पर उन्हें कैसे तार किया जा सकता है, इस पर चरण-दर-चरण निर्देश।

चरण 3: Arduino कोड

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

// ये शुरुआत में सेट होते हैं और प्रोग्राम के चलने पर नहीं बदले जाते हैं। जैसे ANALOG IN पिन का उपयोग करता है।

कॉन्स्ट इंट पॉटपिन = ए0; कॉन्स्ट इंट fsrAnalogPin = 5; कॉन्स्ट इंट फोटोकेलपिन = 2; // चर: // प्रकाश संवेदक: // प्रकाश राशि चर: int photocellReading; // पोटेंशियोमीटर // पोटेंशियोमीटर इंट वैल्यू का मान; // प्रेशर सेंसर // यह प्रेशर सेंसर से रॉ डेटा वेरिएबल है। इंट एफएसआर रीडिंग; // fsrReading चर int दबाव का मैप किया गया संस्करण; शून्य सेटअप () {// अपना सेटअप कोड यहां एक बार चलाने के लिए डालें: पिनमोड (पोटपिन, इनपुट); सीरियल.बेगिन (९६००); } शून्य लूप () {// प्रेशर सेंसर // यहां हम उस पिन से डेटा पढ़ने के लिए निर्दिष्ट fsrAnalogPin का उपयोग करते हैं। fsrReading = analogRead (fsrAnalogPin); // मानचित्र मान 0-1023 से 0-255 तक। दबाव = नक्शा (fsrReading, 0, 1023, 0, 255); // जांचें कि क्या दबाव दो में से एक को प्रिंट करने के लिए एक निश्चित मात्रा से कम या अधिक है। यह मुद्रित चर बाद में गेम इंजन में उपयोग किया जाता है। अगर (दबाव 70) {सीरियल.प्रिंट ("6"); } // पोटेंशियोमीटर मान = एनालॉग रीड (पोटपिन); // पोटेंशियोमीटर वैल्यू = मैप (वैल्यू, 0, 1023, 0, 360) से एनालॉग वैल्यू पढ़ें और सेव करें; // मैप वैल्यू 0-1023 से 0-360 // यहां हम 360 को छह अलग-अलग सेगमेंट में विभाजित करते हैं। // आप सेगमेंट की मात्रा को अधिक मात्रा में बदल सकते हैं। तब प्रत्येक खंड की एक छोटी सीमा होगी। उदाहरण के लिए 8 खंडों में 45 प्रत्येक की सीमा होगी। (360 / खंडों की मात्रा) // यदि वर्तमान मान किसी खंड में आता है तो यह उस खंड का नाम प्रिंट करेगा। अगर (मान ६० और मूल्य १२० और मूल्य १८० और मूल्य २४० और मूल्य ३०० और मूल्य <३७५) सीरियल.प्रिंट ("छह"); // लाइट सेंसर // यहां हम एक बार फिर से एक वेरिएबल को पढ़ते हैं और सेट करते हैं, इस मामले में फोटोकेल रीडिंग। फोटोकेल रीडिंग = एनालॉग रीड (फोटोकेलपिन); // हम प्रकाश की मात्रा की जांच करते हैं, अंधेरे और बहुत गहरे मुद्रण के साथ एक 3 और सामान्य प्रकाश मान मुद्रण 4. if (photocellReading <10) { Serial.println ("- 3"); } और अगर (फोटोकेलरीडिंग <200) { Serial.println ("- 3 -"); } और अगर (फोटोकेलरीडिंग <500) {Serial.println("- 4 -"); } // सीरियल में नंबर: // पहला नंबर प्रेशर सेंसर है, 5 दबाया नहीं जाता है और 6 दबाया जाता है। // उसके बाद वर्तमान में पोटेंशियोमीटर किस खंड पर है। // और अंतिम संख्या या तो 3 = अंधेरा या 4 = प्रकाश है।

चरण 4: गेम इंजन में: टीम 2.5. पर क्लिक करें

एक्सटेंशन मैनेजर में सीरियल ऑब्जेक्ट ढूंढें और इसे इंस्टॉल करें।

अपने फ्रेम में सीरियल ऑब्जेक्ट, एक काउंटर और एक स्ट्रिंग रखें। (फ्रेम में राइट क्लिक करें - ऑब्जेक्ट डालें)

इवेंट एडिटर में एक ईवेंट बनाएं: यदि डेटा प्रतीक्षा कर रहा है: गेटडेटा ("सीरियल ऑब्जेक्ट") में परिवर्तनशील स्ट्रिंग सेट करें

यह स्ट्रिंग को किसी भी डेटा पर सेट कर देगा जो कि Arduino द्वारा भेजा जा रहा है, स्ट्रिंग को अब सीरियल मॉनिटर के समान दिखना चाहिए।

हमेशा एक और घटना बनाएं: काउंटर को इस पर सेट करें: ढूंढें (स्ट्रिंग $ ("स्ट्रिंग"), "4", 0)

यह उदाहरण 4 को खोजने का प्रयास करेगा जो प्रकाश के बराबर है जैसा कि Arduino Code में देखा जा सकता है।

यदि यह 4 पाता है तो यह काउंटर को 4 पर सेट कर देगा, यदि यह 4 को खोजने में विफल रहता है तो काउंटर -1 होगा।

अब आप इस परिणाम के साथ कुछ करने के लिए एक नया ईवेंट जोड़ सकते हैं:

अगर काउंटर = -1: यहां आप डाल सकते हैं कि क्या हो रहा है अगर यह गलत है, जैसे कि एक दीपक का एनीमेशन बंद होना।

यदि काउंटर = -1: इसका मतलब है कि उसे चर मिल गया है और काउंटर को उस चर पर सेट कर दिया गया है (जब तक यह -1 नहीं है), यहां आप इसे बना सकते हैं ताकि लैंप एनीमेशन चालू हो जाए।

मूल रूप से काउंटरों का उपयोग करके जो या तो -1 पर सेट होते हैं जो कि गलत है या -1 जो सच है, आप घटनाओं को घटित कर सकते हैं।

सिफारिश की: