विषयसूची:

सरल एकता नियंत्रक: 5 कदम
सरल एकता नियंत्रक: 5 कदम

वीडियो: सरल एकता नियंत्रक: 5 कदम

वीडियो: सरल एकता नियंत्रक: 5 कदम
वीडियो: Free Fire Control Settings | Free Fire Pro Settings 2024 | Player 07 2024, दिसंबर
Anonim
सरल एकता नियंत्रक
सरल एकता नियंत्रक

विवरण

यह प्रोजेक्ट एक बहुत ही सरल नियंत्रक है जो बटन दबाते समय एकता को इनपुट दे सकता है मैंने इसे एक गेम को नियंत्रित करने के लिए डिज़ाइन किया है जहां खिलाड़ी बाएं और दाएं जा सकता है। बेशक आप इसे हमेशा अधिक नियंत्रणों के लिए समायोजित कर सकते हैं। किसी भी अतिरिक्त पुस्तकालयों का उपयोग करने की आवश्यकता नहीं है।

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

आवश्यक घटक

  • -Arduino 2x रोकनेवाला
  • -[~220 ओम
  • -तार
  • -2x बटन
  • -ब्रेड बोर्ड

चरण 2: ब्रेडबोर्डिंग

ब्रेडबोर्डिंग
ब्रेडबोर्डिंग

मैंने ब्रेडबोर्ड के बाईं ओर arduino GND पोर्ट को एक नकारात्मक (-) पिन से जोड़कर, और 5V को ब्रेडबोर्ड के दाईं ओर एक सकारात्मक (+) से जोड़कर शुरू किया।

उसके बाद मैंने बटनों को उस स्थान पर रख दिया जहां मैं चाहता था कि एमटीओ हो। और उन्हें तारों और प्रतिरोधों के साथ उपयोग करके जोड़ा।

चरण 3: Arduino को कोड करना

Arduino को चलाने के लिए सबसे पहले आपको कुछ कोड लिखना होगा। मैंने कोड में टिप्पणियां डालीं जो बताती हैं कि यह क्या करता है।

// उन पिनों को घोषित करें जिनसे बटन जुड़े हुए हैं।

कॉन्स्ट इंट बटनपिन1 = 3; कॉन्स्ट इंट बटनपिन२ = ४;

व्यर्थ व्यवस्था()

{// सीरियल शुरू करें Serial.begin (९६००); // पिन को आउटपुट के रूप में कॉन्फ़िगर करें। पिनमोड (बटनपिन 1, इनपुट); पिनमोड (बटनपिन 2, इनपुट); }

शून्य लूप ()

{// बटन की स्थिति पढ़ें अगर (डिजिटल रीड (बटनपिन 1) == हाई) {// इस लाइन को प्रिंट करें यदि राज्य उच्च है। Serial.println ("बाएं"); देरी(20); } if(digitalRead(buttonPin2) == High) {// इस लाइन को प्रिंट करें यदि राज्य उच्च है। Serial.println ("राइट"); देरी(20); } }

चरण 4: एकता

यदि आपके पास कोई गेम तैयार नहीं है, तो यह कोड किसी भी गेमऑब्जेक्ट पर एकता में काम करेगा।

यदि ऐसा है तो आपको स्थानांतरित करने के लिए गेमऑब्जेक्ट की आवश्यकता होगी।

सरलता के लिए हम GameObject->3D Object->Cube. पर जाकर एक क्यूब बनाएंगे

एक बार जब क्यूब आपके दृश्य में हो, तो उसे चुनें और ऐड कंपोनेंट बटन दबाएं, और नई स्क्रिप्ट बनाएं।

इसके अलावा आपको System. IO. Ports लाइब्रेरी को काम करने के लिए एपीआई संगतता स्तर को बदलने की आवश्यकता होगी।

ऐसा करने के लिए एडिट->प्रोजेक्ट सेटिंग्स->प्लेयर पर जाएं

इस मेनू में तब तक नीचे स्क्रॉल करें जब तक आपको एपीआई संगतता स्तर न मिल जाए और. NET 2.0 उपसमुच्चय के बजाय. NET 2.0 का चयन करें।

अब आप कोडिंग शुरू करने के लिए तैयार हैं।

System. Collections का उपयोग करना; System. Collections. Generic का उपयोग करना; यूनिटीइंजिन का उपयोग करना; System. IO. Ports का उपयोग करना;

पब्लिक क्लास प्लेयरमूवमेंट: मोनोबिहेवियर

{सार्वजनिक फ्लोट गति; फ्लोट आंदोलन;

सीरियलपोर्ट एसपी = नया सीरियलपोर्ट ("COM3", 9600);

शून्य प्रारंभ ()

{// सीरियल पोर्ट OpenSerialPort () खोलने के लिए कोड चलाएँ; }

शून्य ओपनसेरियलपोर्ट ()

{// सीरियल पोर्ट एसपी खोलें। ओपन (); एसपी.रीडटाइमआउट = 1; }

शून्य आंदोलन (स्ट्रिंग दिशा)

{// जांचें कि आर्डिनो किस दिशा में गुजरा है अगर (दिशा == "बाएं") {आंदोलन = -1; } अगर (दिशा == "दाएं") {आंदोलन = 1; } // उस राशि की गणना करें जिसके द्वारा गेमऑब्जेक्ट को स्थानांतरित किया जाएगा फ्लोट अनुवाद = गति * गति; // गेमऑब्जेक्ट ट्रांसफॉर्म के लिए आंदोलन लागू करें। अनुवाद करें (अनुवाद, 0, 0); }

शून्य अद्यतन ()

{if (sp. IsOpen) {कोशिश करें {// जबकि सीरियलपोर्ट ओपन मूव है, मूवमेंट फंक्शन को निष्पादित करें और उस लाइन को पास करें जो Arduino मूवमेंट प्रिंट कर रहा है (sp. ReadLine ()); } पकड़ें (सिस्टम अपवाद) {

}

}

} }

चरण 5: अंतिम नोट्स

जांचें कि क्या आपके घटक काम कर रहे हैं

इसे बनाने के दौरान मुझे एक समस्या का सामना करना पड़ा कि सभी तार और कोड सही थे और कोई समस्या नहीं होनी चाहिए, लेकिन यह काम नहीं कर रहा था। मेरे मामले में यह एक तार था जो काम नहीं कर रहा था, हालांकि आपके कुछ अन्य घटकों के साथ भी ऐसा ही हो सकता है।

सिफारिश की: