विषयसूची:
- चरण 1: आवश्यकताएँ
- चरण 2: हार्डवेयर
- चरण 3: सॉफ्टवेयर
- चरण 4: मुख्य कोड
- चरण 5: परीक्षण कोड
- चरण 6: खेल नियंत्रण
- चरण 7: सेट अप करना
वीडियो: Arduino का उपयोग करके वर्चुअल रियलिटी सूट: 7 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
मैंने यह प्रोजेक्ट पूर्ण VR में सामान्य कंप्यूटर गेम खेलने के लिए बनाया है। यह प्रोजेक्ट आपके कीबोर्ड की कुंजियों को दबाकर रखने में आपकी गतिविधियों का अनुकरण करता है
उदाहरण- जब आप आगे बढ़ते हैं तो 'w' कुंजी दबाने की क्रिया का अनुकरण किया जाता है।
मैंने कॉल ऑफ़ ड्यूटी 4: मॉडर्न वारफेयर गेम का अनुकरण किया है, लेकिन ऐसे गेम का चयन न करें जो शूटिंग के दौरान पीछे हट गए हों क्योंकि यह माउस की डिफ़ॉल्ट स्थिति को बदल देगा।
चरण 1: आवश्यकताएँ
आवश्यकताएँ हैं-
इस सूट को बनाने के लिए आपको आवश्यक चीजों की एक सूची है
टच सेंसर-5
बल सेंसर-1
जीपीयू ६०५० - ४
(या)
GPU 6050 - 2 और एक्सेलेरोमीटर - 2
वीआर चश्मा
वीआर सक्षम फोन
पीसी
वाईफाई हॉटस्पॉट
एक खिलौना बंदूक
एक पीसी गेम (मैंने कॉल ऑफ ड्यूटी- मॉडर्न वारफेयर 1 का उपयोग किया है)
ब्रेड बोर्ड के तार (पुरुष-महिला)
अर्डुइनो लियोनार्डो-2
ऑटोन शील्ड - 2
शक्ति स्रोत (लाइपो)
इंद्रधनुष के तार
चरण 2: हार्डवेयर
*रीलोड_पिन, शूट_पिन, नाइट विजन_पिन, ग्रेनेड_पिन, वेपन चेंज_पिन टच सेंसर हैं। लक्ष्य_पिन बल सेंसर है और माउस MPU6050 द्वारा अनुकरण किया जाता है अन्य सेंसर एक्सेलेरोमीटर (मुद्रा, गति 1 और 2) हैं
१.१) सोल्डरिंग
सोल्डर एमपीयू 6050, एक्सेलेरोमीटर, टच सेंसर और तारों के साथ बल सेंसर
१.२) वायरिंग
एमपीयू 6050 के लिए-
पिन 2- एसडीए
पिन 3- एससीएल
जीएनडी - जीएनडी
5वी - पीडब्लूआर/वीसीसी
मूवमेंट_पिन1 के लिए
पिन A1- x अक्ष
जीएनडी-जीएनडी
5वी - पीडब्लूआर/वीसीसी
आंदोलन_पिन2 के लिए-
पिन A2- x अक्ष
जीएनडी-जीएनडी
5वी - पीडब्लूआर/वीसीसी
आसन_पिन के लिए-
पिन ए0- एक्स अक्ष
जीएनडी-जीएनडी
5वी - पीडब्लूआर/वीसीसी
हथियार_पिन के लिए -
सिग-5वी
जीएनडी-जीएनडी
5वी - पीडब्लूआर/वीसीसी
रीलोड_पिन के लिए -
पिन 12 - 5 वी
जीएनडी-जीएनडी
5वी - पीडब्लूआर/वीसीसी
नाइटविजन_पिन के लिए -
पिन 10 - 5v
जीएनडी-जीएनडी
5वी - पीडब्लूआर/वीसीसी
शूट_पिन के लिए -
पिन7 - 5वी
जीएनडी-जीएनडी
5वी - पीडब्लूआर/वीसीसी
लक्ष्य_पिन के लिए -
पिन 8 - 5v
5वी - पीडब्लूआर/वीसीसी
१.३) सोल्डरिंग तार
ब्रेड बोर्ड के तारों को इंद्रधनुष के तारों से मिलाएं
१.४) इन्सुलेशन
शॉर्ट सर्किट से बचने के लिए तारों को उस जगह पर इंसुलेशन टेप से टेप करें जहां आपने सोल्डर किया है
चरण 3: सॉफ्टवेयर
मैंने लैपटॉप से फोन पर वीडियो डालने के लिए Play store से 'Remotr' नामक ऐप का उपयोग किया है
२.१) रिमोट-
अपने कंप्यूटर में REMOTR एप्लिकेशन इंस्टॉल करें और एक खाता बनाएं
लिंक यहां दिया गया है-
remotrap.com/#download
अपने स्मार्टफोन में REMOTR ऐप इंस्टॉल करें
२.२) वीडियो स्ट्रीमिंग
सबसे पहले कंप्यूटर और एक ही वाईफाई नेटवर्क दोनों को कनेक्ट करें और दोनों डिवाइस में अपना REMOTR अकाउंट डालें
अब मैन्युअल रूप से उस गेम को जोड़ें जिसे आप सॉफ्टवेयर में स्ट्रीम करना चाहते हैं
अब ऐप कंप्यूटर को व्यवस्थापक के रूप में दिखाएगा स्ट्रीमिंग शुरू करने के लिए इसे क्लिक करें
वीआर में स्ट्रीम करने के लिए अपने स्मार्टफोन में वीआर मोड सक्षम करें
अगर आप नहीं समझ पा रहे हैं तो विस्तृत जानकारी के लिए इस लिंक को चेक करें
remotrap.com/hi/howto
चरण 4: मुख्य कोड
इस परियोजना के लिए कोड कठिन या जटिल नहीं है बल्कि एक लंबा है
यहाँ कोड है बस इसे कॉपी करें और अपनी arduino फ़ाइल में पेस्ट करें
अर्डुइनो
लियोनार्डो माउस-
मैंने गैब्री२९५ को रेफर कर दिया है। यह माउस कोड उसके सिर पर आधारित है माउस निर्देशयोग्य
#शामिल
#शामिल
#शामिल
#शामिल
इंट लक्ष्य_पिन;
इंट शूट_पिन;
एमपीयू 6050 एमपीयू;
int16_t ax, ay, az, gx, gy, gz;
इंट वीएक्स, वीई;
व्यर्थ व्यवस्था() {
सीरियल.बेगिन (९६००);
माउस.बेगिन ();
वायर.बेगिन ();
mpu.initialize ();
अगर (! mpu.testConnection ()) {
जबकि (1);
}
पिनमोड (7, इनपुट);
पिनमोड (8, इनपुट);
}
शून्य लूप () {
शूट_पिन = डिजिटल रीड (7);
लक्ष्य_पिन = डिजिटलरीड (8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
वीएक्स = (जीएक्स-300)/200; // मैंने -300 और +490 डाल दिया है क्योंकि मेरे एमपीयू 6050 चेक को नहीं ले जाने पर ये मान दिखाते हैं
वाय = -(जीजेड+४९०)/२००; // इन मूल्यों के बारे में अधिक जानकारी के लिए गैब्री २९५ द्वारा हेड माउस के कोड की जाँच करें
माउस.मूव (vx, vy);
देरी(20);
जबकि (शूट_पिन == हाई);
{
माउस क्लिक();
}
जबकि (aim_pin == उच्च);
{
माउस क्लिक();
}
}
लियोनार्डो कीबोर्ड
#शामिल
इंट ग्रेनेड;
इंट हथियार_पिन;
इंट रीलोड_पिन;
इंट मूवमेंट1_पिन;
इंट मूवमेंट2_पिन;
इंट पोस्चर_पिन;
चार नाइटविजन_पिन;
व्यर्थ व्यवस्था()
{
पिनमोड (7, इनपुट);
पिनमोड (8, इनपुट);
पिनमोड (9, इनपुट);
पिनमोड (10, इनपुट);
पिनमोड (11, इनपुट);
पिनमोड (12, इनपुट);
पिनमोड (ए0, इनपुट);
पिनमोड (ए 1, इनपुट);
कीबोर्ड.बेगिन ();
}
शून्य लूप ()
{
ग्रेनेड_पिन = डिजिटल रीड (8);
हथियार_पिन = डिजिटल रीड (9);
आंदोलन 1_पिन = एनालॉग रीड (ए 1);
आंदोलन २_पिन = एनालॉग रीड (ए २);
पोस्चर_पिन = एनालॉगरेड (A0);
reload_pin = digitalRead(12);
Nightvision_pin = digitalRead(10);
अगर (ग्रेनेड == उच्च)
{
कीबोर्ड.प्रेस ('जी');
}
जबकि (हथियार_पिन == उच्च)
{
कीबोर्ड.प्रेस ('क्यू');
}
जबकि (रीलोड_पिन == हाई)
{
कीबोर्ड.प्रेस ('आर');
}
जबकि (आंदोलन1_पिन>340&&आंदोलन1_पिन<420)
{
कीबोर्ड.प्रेस ('डब्ल्यू');
}
जबकि (आंदोलन1_पिन>420)
{
कीबोर्ड.प्रेस ('डब्ल्यू');
कीबोर्ड.प्रेस ('पी');
}
जबकि (movement2_pin>340&&movement2_pin<420)
{
कीबोर्ड.प्रेस ('डब्ल्यू');
}
जबकि (आंदोलन2_पिन>420)
{
कीबोर्ड.प्रेस ('पी');
कीबोर्ड.प्रेस ('डब्ल्यू');
}
जबकि (आसन_पिन>३४०&& मुद्रा_पिन<४२०)
{
कीबोर्ड.प्रेस ('सी');
}
जबकि (मुद्रा_पिन>420)
{
कीबोर्ड.प्रेस ('एल');
}
जबकि (मुद्रा_पिन<340)
{
कीबोर्ड.प्रेस ('जेड');
}
जबकि (रात दृष्टि_पिन == उच्च)
{
कीबोर्ड.प्रेस ('एन');
}
}
}
चरण 5: परीक्षण कोड
फ़ंक्शन के अनुसार मुख्य कोड से विभाजित कुछ कोड यहां दिए गए हैं
शूटिंग-
#शामिल
इंट एक्स;
व्यर्थ व्यवस्था() {
पिनमोड (8, इनपुट);
माउस.बेगिन ();
}
शून्य लूप () {
एक्स = डिजिटल रीड (8);
अगर (एक्स == उच्च)
{
माउस.क्लिक ('जी');
}
}
लक्ष्य-
#शामिल
#शामिल
#शामिल
#शामिल
एमपीयू 6050 एमपीयू;
int16_t ax, ay, az, gx, gy, gz;
इंट वीएक्स, वीई;
व्यर्थ व्यवस्था() {
सीरियल.बेगिन (९६००);
माउस.बेगिन ();
वायर.बेगिन ();
mpu.initialize ();
अगर (! mpu.testConnection ()) {
जबकि (1);
}
}
शून्य लूप () {
शूट_पिन = डिजिटल रीड (7);
लक्ष्य_पिन = डिजिटलरेड(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
वीएक्स = (जीएक्स+300)/200; // "+300" क्योंकि जाइरोस्कोप का एक्स अक्ष -350 के बारे में मान देता है जबकि यह हिल नहीं रहा है। यदि आप परीक्षण कोड का उपयोग करके कुछ अलग प्राप्त करते हैं, तो इस मान को बदलें, यदि शून्य से दूर मान हैं।
vy = -(gz_-100)/200; // यहाँ "-100" के बारे में समान है
पुनः लोड करना-
#शामिल
इंट एक्स;
व्यर्थ व्यवस्था() {
पिनमोड (8, इनपुट);
कीबोर्ड.बेगिन ();
}
शून्य लूप () {
एक्स = डिजिटल रीड (8);
अगर (एक्स == उच्च)
{
कीबोर्ड.प्रेस ('आर');
}
अन्यथा
{
कीबोर्ड.रिलीज ('आर');
}
}
रात का दृश्य #शामिल करें
इंट एक्स;
व्यर्थ व्यवस्था() {
पिनमोड (8, इनपुट);
कीबोर्ड.बेगिन ();
}
शून्य लूप () {
एक्स = डिजिटल रीड (8);
अगर (एक्स == उच्च)
{
कीबोर्ड.प्रेस ('जी');
}
अन्यथा
{
कीबोर्ड.रिलीज ('जी');
}
}
क्राउच और प्रोन-
#शामिल
इंट वाई;
व्यर्थ व्यवस्था() {
पिनमोड (ए0, इनपुट);
सीरियल.बेगिन (९६००);
}
शून्य लूप () {
y=analogRead(A0);
अगर (वाई <260)
{
कीबोर्ड.रिलीज ('सी');
कीबोर्ड.रिलीज ('पी');
}
और अगर(y>260&&y<310)
{
कीबोर्ड.प्रेस ('सी');
}
और अगर (y>310)
{
कीबोर्ड.प्रेस ('पी');
}
}
चरण 6: खेल नियंत्रण
इस प्रकार खेल नियंत्रण बदलें
झुकना - x
प्रवण - l
हथियार परिवर्तन - क्यू
स्प्रिंट - पी
स्टैंड/कूद - z
रात्रि दृष्टि - नहीं
आगे की गति - w
ग्रेनेड - जी
चरण 7: सेट अप करना
अंत में हम अंतिम चरण में आ गए हैं अब आर्डिनो लगाएं
एक बॉक्स में बोर्ड और इसे बैग में खिसकाएं
अब Arduino के माइक्रो USB को लैपटॉप के USB पोर्ट से कनेक्ट करें अब ऊपर बताए अनुसार सेंसर कनेक्ट करें
*उपरोक्त चित्रों में तीर के निशान उस दिशा का प्रतिनिधित्व करते हैं जिसका सेंसर को सामना करना चाहिए
यदि आपको कोई संदेह है तो एक टिप्पणी छोड़ने में संकोच न करें और अपना अनुभव साझा करना न भूलें
बस इतना ही धन्यवाद और
अलविदा।
सिफारिश की:
Arduino UNO का उपयोग करके ड्रोन कैसे बनाएं - माइक्रोकंट्रोलर का उपयोग करके क्वाडकॉप्टर बनाएं: 8 कदम (चित्रों के साथ)
Arduino UNO का उपयोग करके ड्रोन कैसे बनाएं | माइक्रोकंट्रोलर का उपयोग करके क्वाडकॉप्टर बनाएं: परिचय मेरे यूट्यूब चैनल पर जाएंएक ड्रोन खरीदने के लिए एक बहुत महंगा गैजेट (उत्पाद) है। इस पोस्ट में मैं चर्चा करने जा रहा हूँ कि मैं इसे सस्ते में कैसे बना सकता हूँ ?? और आप इसे सस्ते दाम पर कैसे बना सकते हैं … वैसे भारत में सभी सामग्री (मोटर, ईएससी
उछलकर वापस आना ! Arduino और Acclerometer का उपयोग करके वर्चुअल रियलिटी गेम: 9 कदम
उछलकर वापस आना ! Arduino और Acclerometer का उपयोग करके वर्चुअल रियलिटी गेम: इस ट्यूटोरियल में हम Arduino और Acclerometer का उपयोग करके एक वर्चुअल रियलिटी गेम बनाएंगे
वर्चुअल रियलिटी के लिए एकता में कर्व्ड यूआई बनाना: 4 कदम
वर्चुअल रियलिटी के लिए एकता में घुमावदार यूआई बनाना: यदि आप अपने वर्चुअल रियलिटी एप्लिकेशन या वीआर गेम के लिए एक घुमावदार यूजर इंटरफेस बनाने के लिए एक मुफ्त और आसान समाधान की तलाश में हैं तो आप सही जगह पर हैं। इस ब्लॉग में आप यूनिटी यूआई एक्सटेंशन का उपयोग करके एकता में एक घुमावदार यूआई तत्व बनाना सीखेंगे।
वर्चुअल रियलिटी हेडसेट-गूगल कार्डबोर्ड: 4 कदम
वर्चुअल रियलिटी हेडसेट-गूगल कार्डबोर्ड: हाय दोस्तों यहां एक सरल ट्यूटोरियल है कि कैसे Google कार्डबोर्ड, एक होममेड वर्चुअल रियलिटी हेडसेट बनाया जाए। इस हेडसेट में एक हॉरर मूवी देखना दर्दनाक रूप से सुखद होगा। साथ ही रोलर कोस्टर राइड वीडियो भी एक अविस्मरणीय अनुभव होगा। चेतावनी
एंड्रॉइड के लिए प्रोसेसिंग का उपयोग कर मोबाइल वर्चुअल रियलिटी (टीएफसीडी): 7 कदम (चित्रों के साथ)
मोबाइल वर्चुअल रियलिटी यूजिंग प्रोसेसिंग फॉर एंड्रॉइड (टीएफसीडी): वर्चुअल रियलिटी (वीआर) नई तकनीकों में से एक है जो भविष्य के उत्पादों के लिए दिलचस्प हो सकती है। इसमें बहुत सारे अवसर हैं और आपको महंगे VR ग्लास (Oculus Rift) की भी आवश्यकता नहीं है। यह स्वयं करना बहुत कठिन लग सकता है, लेकिन मूल बातें हैं