विषयसूची:

DIY VR ट्रेडमिल- बेसिस३ FPGA-डिजिलेंट प्रतियोगिता: ३ चरण
DIY VR ट्रेडमिल- बेसिस३ FPGA-डिजिलेंट प्रतियोगिता: ३ चरण

वीडियो: DIY VR ट्रेडमिल- बेसिस३ FPGA-डिजिलेंट प्रतियोगिता: ३ चरण

वीडियो: DIY VR ट्रेडमिल- बेसिस३ FPGA-डिजिलेंट प्रतियोगिता: ३ चरण
वीडियो: DIY Treadmill Gaming Desk (with Galaxy RESIN & LEDs) 2024, नवंबर
Anonim
DIY VR ट्रेडमिल- Bassys3 FPGA-Digilent Contest
DIY VR ट्रेडमिल- Bassys3 FPGA-Digilent Contest

क्या आप एक VR ट्रेडमिल बनाना चाहते हैं जिस पर आप अपने डेस्कटॉप एप्लिकेशन और गेम चला सकते हैं? तब आप सही जगह पर आए हैं!

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

माउस इनपुट के लिए हम बारी-बारी से प्रवाहकीय और गैर-प्रवाहकीय स्लाइस के साथ एक डिस्क का उपयोग करेंगे, जिस पर दो तार, एक छोटे से ऑफसेट के साथ, स्लाइड करेंगे। बोर्ड हमें चार संयोजनों में से एक देते हुए तारों से आने वाले संकेतों को पढ़ेगा: 00, 11, 10, 01, जिसे हम सीधे बाएं-दाएं गति में अनुवाद कर सकते हैं।

अप-डाउन मूवमेंट के लिए, डिस्क के बजाय, हम 0 और 1 के समान पैटर्न वाली प्लेट का उपयोग करेंगे।

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

(ध्यान रखें कि परियोजना अभी भी प्रगति पर है और इसमें सुधार किया जा सकता है, इसलिए मैं किसी भी सलाह की प्रतीक्षा कर रहा हूं जो इसे बेहतर बना सके)

चरण 1: आधार

आधार
आधार
आधार
आधार
आधार
आधार

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

एक अन्य निश्चित बाहरी छड़ का उपयोग तारों को सहारा देने के लिए और घूर्णी गति के लिए एक संदर्भ बिंदु के रूप में भी किया जाता है।

चरण 2: 2 इनपुट प्रबंधन

2 इनपुट प्रबंधन
2 इनपुट प्रबंधन
2 इनपुट प्रबंधन
2 इनपुट प्रबंधन
2 इनपुट प्रबंधन
2 इनपुट प्रबंधन

ब्लैक-बॉक्स के दृष्टिकोण से, डिवाइस में निम्नलिखित इनपुट होंगे: x के लिए 4 कनेक्शन, y माउस काउंटर, माउस बटन के लिए 2 कनेक्शन और तीर कुंजियों के लिए 4 कनेक्शन। आउटपुट को 4 पिन द्वारा दर्शाया जाता है: 2 माउस PS2 कनेक्शन के लिए और दूसरा 2 कीबोर्ड PS2 कनेक्शन के लिए। PS2 प्रोटोकॉल के अधिक विस्तृत विवरण के लिए, आप निम्न साइट देख सकते हैं:

बोर्ड के लिए इनपुट के रूप में, मैंने जेबी (1 डाउनटू 0) डिजिटल पिन को चुना। अनुक्रम …11001100… को ध्यान में रखते हुए, दो इनपुट पर पढ़ें, हम काउंटरों के तीन राज्यों के बीच अंतर कर सकते हैं:

1. गिनना;

2. उलटी गिनती;

3. वर्तमान मूल्य सहेजें;

काउंट_टाइप मॉड्यूल ठीक यही करता है। यदि इनपुट में कोई परिवर्तन होता है, तो मॉड्यूल 8 बिट काउंटर (8_bit_count.vhd फ़ाइल में कार्यान्वित) को एक उपयुक्त संदेश भेजता है, जो वर्तमान मान से जोड़ता या घटाता है, जब तक कि एक रीसेट सिग्नल प्राप्त नहीं होता है।

सिर के ऊपर-नीचे गति के लिए एक ही विचार का उपयोग किया जाता है, लेकिन डिस्क के बजाय, समान वैकल्पिक 0&1 पैटर्न के साथ एक स्लाइडिंग रैखिक प्रोफ़ाइल का उपयोग किया जाएगा।

चरण 3: वीएचडीएल कार्यान्वयन

वीएचडीएल कार्यान्वयन
वीएचडीएल कार्यान्वयन

प्रस्तुति से जुड़े निम्नलिखित मॉड्यूल हैं:

1.काउंट_टाइप: यह मॉड्यूल दूसरे चरण में वर्णित डिस्क या प्रोफाइल से दो इनपुट तारों के डिकोडिंग को संभालता है;

2. 8bit_count: यह मॉड्यूल काउंट_टाइप से डिकोड किए गए संदेश की व्याख्या करता है और काउंटरों को बढ़ाता या घटाता है;

3. 3bytepacket: यह मॉड्यूल बाएँ और दाएँ बटन की स्थिति का प्रबंधन करता है और डेटा को प्रारूपित करता है ताकि इसे PS2 प्रोटोकॉल में उपयोग किए गए 3 बाइट डेटा पैकेट में पेश किया जा सके;

4.clk12khz: यह मॉड्यूल PS2 प्रोटोकॉल के लिए विशिष्ट 12khz की घड़ी देता है जिस पर कुछ घटक और प्रक्रियाएं काम करती हैं;

5. संदेश प्रबंधक: यह मॉड्यूल 3 बाइट डेटा पैकेट भेजता है, इसकी व्याख्या करता है और पीसी से एक संदेश के उत्तर के रूप में उपयुक्त प्रतिक्रिया देता है।

6. PS2Interface: यह मॉड्यूल डिवाइस और होस्ट (पीसी) के बीच संचार प्रोटोकॉल को इंटरफेस करता है (इस मॉड्यूल को ठीक से काम करने के लिए कुछ डिबगिंग और पूरी तरह से पुनर्मूल्यांकन की आवश्यकता है)।

सिफारिश की: