विषयसूची:

DIY एमपीयू-6050 यूएसबी जॉयस्टिक: 5 कदम
DIY एमपीयू-6050 यूएसबी जॉयस्टिक: 5 कदम

वीडियो: DIY एमपीयू-6050 यूएसबी जॉयस्टिक: 5 कदम

वीडियो: DIY एमपीयू-6050 यूएसबी जॉयस्टिक: 5 कदम
वीडियो: How to make an Arduino-based Transmitter 2024, नवंबर
Anonim
DIY एमपीयू-6050 यूएसबी जॉयस्टिक
DIY एमपीयू-6050 यूएसबी जॉयस्टिक

Microsoft फ़्लाइट सिम्युलेटर 2020 के साथ, मुझे जल्दी ही एहसास हो गया कि किसी योजना को चलाने के लिए कीबोर्ड का उपयोग करना कितना कठिन है। ऑनलाइन खोज करने पर, मुझे खरीदने के लिए उचित मूल्य का जॉयस्टिक नहीं मिला। अधिकांश ऑनलाइन खुदरा विक्रेताओं ने उन्हें स्टॉक से बाहर कर दिया था। MS फ्लाइट सिमुलेटर और COVID 19 महामारी की लोकप्रियता ने सभी मौजूदा जॉयस्टिक स्टॉक को मिटा दिया। मेरा एकमात्र विकल्प खुद को बनाना था।

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

विभिन्न Arduino माइक्रोप्रोसेसरों और विभिन्न सेंसर की लोकप्रियता के साथ, Arduino प्रोजेक्ट के निर्माण की लागत बहुत अधिक सस्ती हो जाती है। आमतौर पर इस्तेमाल किए जाने वाले एक्सेलेरोमीटर / जायरोस्कोप सेंसर बोर्ड में से एक MPU-6050 है। कनाडा में, अमेज़न में इसकी कीमत लगभग $7CAN है। मुझे ईबे से चीन से बहुत कम में भेज दिया गया था, लेकिन शिपिंग समय 3 महीने या उससे अधिक की तरह था।

www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…

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

मैं Arduino लियोनार्डो बोर्ड चुनता हूं। अमेज़न से $17CAN।

www.amazon.ca/KEYESTUDIO-Leonardo-Developm…

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

जॉयस्टिक का हैंडल एक स्क्रैप पीवीसी पानी के पाइप से बनाया गया है। इसे आसानी से किसी भी छोटे कठोर पाइप से बदला जा सकता है।

जॉयस्टिक का आधार स्प्रिंग डोर स्टॉप है जो लकड़ी के एक टुकड़े पर लगा होता है।

स्प्रिंग डोर स्टॉप होम डिपो से $2.83CAN में उपलब्ध है।

www.homedepot.ca/product/everbilt-spring-d…

चरण 1: MPU6050 और पुश बटन को Arduino लियोनार्डो बोर्ड से जोड़ना

MPU6050 और पुश बटन को Arduino लियोनार्डो बोर्ड से जोड़ना
MPU6050 और पुश बटन को Arduino लियोनार्डो बोर्ड से जोड़ना
MPU6050 और पुश बटन को Arduino लियोनार्डो बोर्ड से जोड़ना
MPU6050 और पुश बटन को Arduino लियोनार्डो बोर्ड से जोड़ना
MPU6050 और पुश बटन को Arduino लियोनार्डो बोर्ड से जोड़ना
MPU6050 और पुश बटन को Arduino लियोनार्डो बोर्ड से जोड़ना

MPU 6050 पर केवल 4 कनेक्शन का उपयोग किया जाता है। उन्हें VCC, GND, SCL और SDA लेबल किया जाता है।

Arduino लियोनार्डो पर VCC को 5v या 3.3v से कनेक्ट करें। (एमपीयू 6050 या तो 5v या 3.3v का उपयोग कर सकता है। कोई फर्क नहीं पड़ता)

Arduino लियोनार्डो पर GND को किसी भी GND से कनेक्ट करें।

Arduino लियोनार्डो पर SCL को SCL से कनेक्ट करें।

Arduino लियोनार्डो पर SDA को SDA से कनेक्ट करें।

मैं इस प्रदर्शन के उद्देश्य के लिए केवल 2 पुश बटन का उपयोग करता हूं।

पहले पुश बटन का उपयोग जॉयस्टिक केंद्र को रीसेट करने के लिए किया जाता है। इस उदाहरण में, पुश बटन का एक सिरा GND से और एक सिरा पिन 13 से जुड़ा होता है।

दूसरा पुश बटन जॉयस्टिक बटन के रूप में प्रयोग किया जाता है। इस उदाहरण में, यह पिन 9 और जीएनडी से जुड़ा है।

आप अपने प्रोजेक्ट में आवश्यकतानुसार अतिरिक्त बटन जोड़ सकते हैं।

चरण 2: जॉयस्टिक बेस का निर्माण

जॉयस्टिक बेस का निर्माण
जॉयस्टिक बेस का निर्माण
जॉयस्टिक बेस का निर्माण
जॉयस्टिक बेस का निर्माण
जॉयस्टिक बेस का निर्माण
जॉयस्टिक बेस का निर्माण

लकड़ी के ब्लॉक का एक टुकड़ा खोजें। जितना भारी, उतना अच्छा। यह जॉयस्टिक के आधार को और अधिक स्थिर बना देगा।

चित्र में दिखाए अनुसार लकड़ी के ब्लॉक के केंद्र में स्प्रिंग डोर स्टॉपर को पेंच करें।

जॉयस्टिक हैंडल के रूप में छोटे पाइप के एक टुकड़े का उपयोग करें। मैंने एक स्क्रैप पीवीसी पाइप का इस्तेमाल किया। तार को चलाएं ताकि एक्सेलेरोमीटर/जाइरोस्कोप सेंसर पाइप के ऊपर बैठे।

फिर पाइप को स्प्रिंग डोर स्टॉपर के ऊपर रख दें। मैंने शीर्ष पर सेंसर को टेप करने के लिए बिजली के टेप का इस्तेमाल किया।

चरण 3: Arduino IDE सेटअप करें

Arduino IDE.https://www.arduino.cc/en/Main/Software डाउनलोड और इंस्टॉल करें

मैंने इस प्रोजेक्ट के लिए Arduino 1.8.13 का इस्तेमाल किया। इस प्रोजेक्ट के लिए Arduino Web Editor का भी उपयोग किया जा सकता है।

2 पुस्तकालयों का उपयोग किया जाता है।

1. MPU6050_tockn by tockn

github.com/Tockn/MPU6050_tockn

या आप इसे "लाइब्रेरी प्रबंधित करें" मेनू में पा सकते हैं।

2. मैथ्यू हेरोनिमुस द्वारा जॉयस्टिक पुस्तकालय

github.com/MHeironimus/ArduinoJoystickLibr…

यह वर्तमान में केवल GitHub वेबसाइट से उपलब्ध है।

डाउनलोड कोड पर क्लिक करें और ज़िप डाउनलोड करें। ज़िप फ़ाइल को अपनी Arduino लाइब्रेरी निर्देशिका में निकालें।

मेरे मामले में, यह E:\PinChung\Documents\Arduino\libraries. है

चरण 4: Arduino प्रोग्राम

Pin_Joystick.ino को Arduino IDE पर लोड करें और संकलित करें और लियोनार्डो बोर्ड पर अपलोड करें।

सुनिश्चित करें कि Arduino लियोनार्डो बोर्ड चुना गया है और पोर्ट नंबर सही COM पर चुना गया है: टूल्स मेनू के तहत।

मैंने कुछ समय देखा, प्रोग्राम को COM पोर्ट के एरर कोड उपलब्ध नहीं होने के कारण अपलोड नहीं किया जा सका। संकलन करते समय लियोनार्डो बोर्ड पर रीसेट बटन को दो बार दबाने से मदद मिल सकती है। साथ ही विंडोज 10 को रीस्टार्ट करने से COM पोर्ट को फ्री करने में भी मदद मिल सकती है।

एक बार कार्यक्रम लियोनार्डो बोर्ड पर अपलोड हो जाने के बाद, विंडोज 10 को लियोनार्डो जॉयस्टिक का स्वचालित रूप से पता लगाना चाहिए। विंडोज 10 सर्च बार में, गेम कंट्रोलर टाइप करें, यूएसबी गेम कंट्रोलर सेट करें चलाएं।

लियोनार्डो जॉयस्टिक का चयन करें और गुण क्लिक करें। जॉयस्टिक आंदोलन और जॉयस्टिक # 1 बटन को विंडोज 10 द्वारा उठाया जाना चाहिए।

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

साइड नोट: उन लोगों के लिए जो Arduino लियोनार्डो से परिचित नहीं हैं, जब डिवाइस को जॉयस्टिक, माउस या कीबोर्ड के रूप में कॉन्फ़िगर किया जाता है, तो सीरियल पोर्ट काम नहीं करेगा। तो "सीरियल.प्रिंट ()" काम नहीं करेगा। इसके अलावा, MPU6050 i2c वायर लाइब्रेरी का उपयोग करता है और SDA और SLC पिन का उपयोग करता है। लियोनार्डो पर, एसडीए और एससीएल पिन 2 और पिन 3 दोनों लेते हैं, इसलिए इन 2 पिनों का उपयोग किसी और चीज के लिए न करें।

चरण 5: जॉयस्टिक का परीक्षण

मैंने माइक्रोसॉफ्ट फ्लाइट सिम्युलेटर 2020 पर इसका परीक्षण किया और यह बहुत अच्छा काम करता है। मुझे जॉयस्टिक को शून्य करने के लिए कभी-कभी केंद्र कुंजी दबानी पड़ती है। MPU6050 सेंसर का मान समय के साथ थोड़ा कम हो सकता है।

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

सिफारिश की: