- अवलोकन:
- आवश्यक घटक:
- सर्किट स्पष्टीकरण:
- एक्सेलेरोमीटर का कार्य:
- प्रोग्रामिंग Arduino:
- प्रोग्रामिंग प्रसंस्करण:
- परिक्षण:
संवर्धित वास्तविकता और आभासी गेमिंग गेमिंग उद्योग में हाल ही में एक प्रवृत्ति बन गई है। कंप्यूटर गेम खेलने के लिए कीबोर्ड / जॉयस्टिक और माउस का उपयोग करने का समय पीछे चला गया है। अब हर गेमिंग कंसोल एक वर्चुअल कंट्रोलर के साथ आता है जो हमारे शरीर की गतिविधियों और इशारों का उपयोग करके गेम खेलने में हमारी मदद करता है, इस तरह से गेमिंग का अनुभव बहुत बढ़ गया है और उपयोगकर्ता गेम में अधिक शामिल महसूस करता है।
इस परियोजना में आइए हम परियोजना के माध्यम से सीखते हुए मौज-मस्ती करने का प्रयास करें। आइए हम एक गेम बनाएं (हां आपने मुझे सही सुना है हम एक गेम बनाना चाहते हैं) और इसे अपने हाथ की गति का उपयोग करके खेलते हैं । हम Arduino और Accelerometer का उपयोग करके क्लासिक पिंग पोंग बॉल गेम बना रहे हैं ।
अवलोकन:
इन दिनों बहुत सारे ओपन सोर्स सॉफ़्टवेयर उपलब्ध हैं जो हमारे जैसे शौक़ीन लोगों के लिए खुशियों का भार लेकर आए हैं और प्रसंस्करण उनमें से एक है। इस JAVA आधारित एप्लिकेशन के साथ हम खुद का सॉफ़्टवेयर (.exe प्रारूप) और एक Android एप्लिकेशन (.apk फ़ाइल) भी बना सकते हैं। इसलिए हम अपने गेम को बनाने के लिए इस सॉफ्टवेयर का उपयोग करने जा रहे हैं, हमने पहले Arduino Chat Room बनाने में प्रोसेसिंग का उपयोग किया है।
हार्डवेयर भाग में एक Arduino शामिल होगा जो एक एक्सेलेरोमीटर से इनपुट को हमारे कंप्यूटर / लैपटॉप में धारावाहिक रूप से फीड करने के लिए लाएगा।
तो चलिए शॉपिंग करते हैं !!!!
आवश्यक घटक:
- Arduino (कोई भी संस्करण या मॉडल)
- accelerometer
- तारों को जोड़ना
- ब्याज (लोलज़)
एक्सेलेरोमीटर और अरुडिनो नैनो
सर्किट स्पष्टीकरण:
Arduino Ping Pong Ball Game Project का सर्किट किसी भी जटिल कनेक्शन को शामिल नहीं करता है। मैंने एक एक्सेलेरोमीटर के साथ एक Arduino नैनो का उपयोग किया है । लेकिन नीचे बताई गई कुछ बातों का ध्यान रखना चाहिए:
1. आपका एक्सेलेरोमीटर 5V को संभाल नहीं सकता है, इसलिए हमेशा एक्सीलरोमीटर के Vcc को अपने 3.3V पिन के Arduino से कनेक्ट करें।
2. हर एक्सेलेरोमीटर गुरुत्वाकर्षण के प्रभाव से ग्रस्त है जिसे प्रोग्रामिंग करते समय संभाला जाना चाहिए (बस एक फिल्टर का उपयोग करके)।
इसे ध्यान में रखते हुए आइए एक एक्सेलेरोमीटर के काम पर ध्यान दें और हम इसका उपयोग कैसे करते हैं।
एक्सेलेरोमीटर का कार्य:
एक Accelerometer एक उपकरण है जो अपने संबंधित चर वोल्टेज के किसी भी दिशा में त्वरण में बदल सकते हैं है। यह कैपेसिटर (संदर्भ छवि) का उपयोग करके पूरा किया जाता है, चूंकि एक्सेल चलता है, इसके अंदर मौजूद संधारित्र, आंदोलन के आधार पर परिवर्तन (संदर्भ छवि) से भी गुजरेंगे, क्योंकि समाई विविध है, एक चर वोल्टेज भी प्राप्त किया जा सकता है।
इसलिए, जैसा कि ऊपर बताया गया है कि हर एक्सेलेरोमीटर गुरुत्वाकर्षण के प्रभाव की समस्या से ग्रस्त है। कोई फर्क नहीं पड़ता कि आपका सेंसर कितना सटीक है (यहां तक कि आपके ऐप्पल फोन एक्सेल।), यह गुरुत्वाकर्षण से प्रभावित होगा। इस समस्या के लिए एक अधिक तकनीकी व्याख्या नीचे दी गई है।
अब, Arduino में हम एक साधारण फ़िल्टर का उपयोग करके गुरुत्वाकर्षण के प्रभाव को कम कर सकते हैं। इस फ़िल्टर में दो सरणियाँ शामिल होंगी, एक का उपयोग सेंसर से नमूना मानों को संग्रहीत करने के लिए किया जाता है और दूसरे का उपयोग नमूना मानों को सॉर्ट करने के लिए किया जाता है, और सबसे दोहराया मान ज्ञात करें। आइए इस एल्गोरिथम को अपने Arduino में लागू करें और अपना हार्डवेयर तैयार करें।
प्रोग्रामिंग Arduino:
Arduino प्रोग्राम कोड सेक्शन में नीचे दिया गया है। कोई महत्वपूर्ण डेटा नहीं है जिसे संशोधित किया जाना है। लेकिन आप निम्नलिखित पर विचार करना चाह सकते हैं:
यदि आपका एक्सेल अभी भी यादृच्छिक मान दिखाता है, तो नमूना आकार बढ़ाएँ।
# डेफिन सैंपलसाइज 13 // फ़िल्टरसेम्पल नंबर
Arduino और प्रसंस्करण के बीच संचार की गति बढ़ाने के लिए 9600 बॉड दर के साथ खेलते हैं। लेकिन सुनिश्चित करें कि आप उन्हें सॉफ्टवेयर (प्रोग्राम्स) में बदल देंगे।
शून्य सेटअप () {Serial.begin (9600); }
एक्स-एक्सिस पर मेरा एक्सेलेरोमीटर दूर बाएं छोर पर 193 और दायें छोर पर 280 देता है, उन्हें अपने एक्सेल के लिए मापें और मूल्य को अपडेट करें।
toSend = map (smoothData1, 193, 280, 0, 255);
धारावाहिक संचार के लिए मूल्यों को डेटा की एकल बाइट में मैप किया जाता है।
आगे दिए गए कोड को स्पष्ट रूप से समझने के लिए नीचे दी गई टिप्पणियों की जाँच करें ।
प्रोग्रामिंग प्रसंस्करण:
प्रोसेसिंग ओपन सोर्स सॉफ्टवेयर है जो ग्राफिक्स डिजाइनिंग के लिए कलाकारों द्वारा उपयोग किया जाता है। इस सॉफ्टवेयर का उपयोग सॉफ्टवेयर और Android एप्लिकेशन विकसित करने के लिए किया जाता है। यह विकसित करने के लिए काफी आसान है और Android विकास IDE के समान है। इसलिए मैंने स्पष्टीकरण को छोटा कर दिया है।
पिंग पोंग गेम के लिए प्रोसेसिंग कोड यहाँ दिया गया है:
- Arduino Ping Ball गेम के लिए प्रोसेसिंग कोड
इस पर राइट क्लिक करें और कोड फ़ाइल डाउनलोड करने के लिए 'इस रूप में लिंक सहेजें..' पर क्लिक करें। फिर 'प्रोसेसिंग' सॉफ्टवेयर में फ़ाइल खोलें और गेम चलाने के लिए 'रन' बटन पर क्लिक करें। *.Pde फाइलें खोलने के लिए आपको 'प्रोसेसिंग' सॉफ्टवेयर इंस्टॉल करना होगा। टिप्पणी अनुभाग प्रश्नों के लिए खुला है और इसे बेहतर ढंग से समझने के लिए कार्यक्रम में टिप्पणियों की भी जांच करें।
नीचे पंक्ति, शून्य में () प्रसंस्करण कोड का कार्य महत्वपूर्ण है, क्योंकि यह तय करता है कि किस पोर्ट से डेटा है।
port = new Serial (यह, Serial.list (), 9600); // 9600 बॉड्रेट पर 4 वें पोर्ट को पढ़ता है
यहाँ मैंने अपने Arduino से 4th पोर्ट के डेटा को पढ़ा है।
उदाहरण के लिए यदि आपके पास COM COM COM COM COM है
फिर उपरोक्त कोड COM से डेटा पढ़ेगा।
परिक्षण:
अब चूंकि हमारी प्रोसेसिंग और Arduino स्केच तैयार है, बस नीचे दिए गए प्रोग्राम को Arduino पर अपलोड करें और अपने Arduino को उपयोगकर्ता PC से पूरी तरह से प्रोग्रामिंग केबल कनेक्ट करें और रन प्रोसेसिंग कोड फ़ाइल (.pde) द्वारा गेम लॉन्च करें। बस! अपना एक्सेलेरोमीटर ले जाएँ और अपना पिंग पोंग गेम खेलें । वीडियो पूरा परियोजना की विस्तृत जानकारी देगा।
एक बार जब आप प्रोग्राम को समझ जाते हैं, तो आप कई समान गेम बना सकते हैं और उन्हें अपने Arduino का उपयोग करके खेल सकते हैं, आगे Y- अक्ष और Z- अक्ष को गेमिंग के लिए भी शामिल किया जा सकता है।