इस सत्र में हम रास्पबेरी पाई के साथ एक जॉयस्टिक इंटरफ़ेस करने जा रहे हैं । जॉयस्टिक का उपयोग मुख्य रूप से विभिन्न खेलों को खेलने के लिए किया जाता है। हालाँकि USB टाइप जॉयस्टिक को कनेक्ट करना आसान है, लेकिन आज हम जॉयस्टिक को रास्पबेरी पाई GPIO पिन के माध्यम से कनेक्ट करने जा रहे हैं, यह कई मामलों में काम आएगा।
रास्पबेरी पाई और जॉयस्टिक मॉड्यूल:
जॉयस्टिक विभिन्न आकारों और आकारों में उपलब्ध हैं। एक ठेठ जॉयस्टिक मॉड्यूल नीचे दिए गए आंकड़े में दिखाया गया है। यह जॉयस्टिक मॉड्यूल आमतौर पर एनालॉग आउटपुट प्रदान करता है और इस मॉड्यूल द्वारा प्रदान किए गए आउटपुट वोल्टेज उस दिशा के अनुसार बदलते रहते हैं जिसमें हम इसे स्थानांतरित करते हैं। और हम कुछ माइक्रोकंट्रोलर का उपयोग करके इन वोल्टेज परिवर्तनों की व्याख्या करके आंदोलन की दिशा प्राप्त कर सकते हैं। पहले हमने जॉयस्टिक के साथ एवीआर माइक्रोकंट्रोलर का उपयोग किया है।
इस जॉयस्टिक मॉड्यूल में दो अक्ष हैं जैसा कि आप देख सकते हैं। वे एक्स-एक्सिस और वाई-एक्सिस हैं। JOY STICK की प्रत्येक धुरी एक पोटेंशियोमीटर या पॉट पर आरूढ़ है। इन बर्तनों के मध्य बिंदुओं को Rx और Ry के रूप में बाहर निकाला जाता है। तो Rx और Ry इन बर्तनों के लिए चर अंक हैं। जब जॉयस्टिक स्टैंडबाय में होता है, तो Rx और Ry वोल्टेज विभक्त के रूप में कार्य करते हैं।
जब जॉयस्टिक को क्षैतिज अक्ष के साथ स्थानांतरित किया जाता है, तो Rx पिन पर वोल्टेज बदल जाता है। इसी तरह, जब इसे ऊर्ध्वाधर अक्ष के साथ स्थानांतरित किया जाता है, तो Ry पिन पर वोल्टेज बदल जाता है। तो हम दो एडीसी आउटपुट पर जॉयस्टिक की चार दिशाएं हैं । जब छड़ी को स्थानांतरित किया जाता है, तो प्रत्येक पिन पर वोल्टेज दिशा के आधार पर उच्च या निम्न जाती है।
जैसा कि हम जानते हैं कि रास्पबेरी पाई में एक आंतरिक एडीसी (एनालॉग से डिजिटल कनवर्टर) तंत्र नहीं है। इसलिए यह मॉड्यूल पाई से सीधे जुड़ा नहीं हो सकता है। हम वोल्टेज आउटपुट की जांच करने के लिए Op-amp आधारित तुलनाकर्ताओं का उपयोग करेंगे। ये OP-Amps संकेतों के आधार पर रास्पबेरी पाई और पाई एलईडी को टॉगल करते हैं। यहां हमने चार दिशाओं में जॉयस्टिक के आंदोलन को इंगित करने के लिए चार एलईडी का उपयोग किया है। अंत में प्रदर्शन वीडियो देखें ।
17 GPIO पिन में से प्रत्येक + 3.3V से अधिक वोल्टेज नहीं ले सकता है, इसलिए Op-amp आउटपुट 3.3V से अधिक नहीं हो सकता है। इसलिए हमने op-amp LM324 चुना है, इस IC में क्वाड ऑपरेशनल एम्पलीफायर है जो 3V पर काम कर सकता है। इस IC के साथ, हमारे पास हमारे रास्पबेरी पाई GPIO पिन के लिए आउटपुट के लिए उपयुक्त आउटपुट हैं। रास्पबेरी पाई के GPIO पिन के बारे में अधिक जानें यहाँ। इसके अलावा कुछ अच्छे IoT प्रोजेक्ट्स के साथ हमारी रास्पबेरी पाई ट्यूटोरियल सीरीज़ देखें।
आवश्यक घटक:
यहां हम रास्पबेरी जेसी ओएस के साथ रास्पबेरी पाई 2 मॉडल बी का उपयोग कर रहे हैं । सभी मूल हार्डवेयर और सॉफ़्टवेयर आवश्यकताओं पर पहले से चर्चा की जाती है, आप इसे रास्पबेरी पाई परिचय और रास्पबेरी पीआई एलईडी ब्लिंकिंग को शुरू करने के लिए देख सकते हैं, इसके अलावा, हमें इसकी आवश्यकता है:
- 1000F संधारित्र
- जॉयस्टिक मॉड्यूल
- LM324 Op-amp आईसी
- 1K 1 रोकनेवाला (12 टुकड़े)
- एलईडी (4 टुकड़े)
- 2.2K 2.2 रोकनेवाला (4 टुकड़े)
सर्किट आरेख:
जोस्टिक के चार दिशाओं का पता लगाने के लिए LM324 IC के अंदर चार ओपी-एएमपी तुलनित्र हैं। नीचे अपने डेटाशीट से LM324 आईसी का आरेख है ।
रास्पबेरी पाई के साथ इंटरफेसिंग जॉयस्टिक मॉड्यूल के लिए जो कनेक्शन किए गए हैं, वे नीचे दिए गए सर्किट आरेख में दिखाए गए हैं। U1: A, U1: B, U1: C, U1: D LM324 के अंदर चार तुलनित्रों को इंगित करता है। हमने अनुलग्नक नं। के साथ सर्किट आरेख में प्रत्येक तुलनित्र दिखाया है। LM324 के आईसी।
कार्य स्पष्टीकरण:
Y- अक्ष के साथ जॉयस्टिक की गति का पता लगाने के लिए, हमारे पास OP-AMP1 या U1: A और OP-AMP2 या U1: B है, और X- अक्ष के साथ जॉयस्टिक की गति का पता लगाने के लिए, हम OP-AMP3 या U1 हैं: सी और ओपी-एएमपी 4 या यू 1: डी।
OP-AMP1 Y- अक्ष के साथ जॉयस्टिक के नकारात्मक आंदोलन का पता लगाता है:
तुलनित्र U1 का नकारात्मक टर्मिनल: A को 2.3V (1K और 2.2K द्वारा वोल्टेज विभक्त सर्किट का उपयोग करके) प्रदान किया जाता है और सकारात्मक टर्मिनल Ry से जुड़ा होता है। जॉयस्टिक को अपने Y- अक्ष के साथ नीचे ले जाने पर, Ry वोल्टेज बढ़ता है। एक बार जब यह वोल्टेज 2.3V से अधिक हो जाता है, तो OP-AMP अपने आउटपुट पिन पर + 3.3V आउटपुट प्रदान करता है। ओपी-एएमपी के इस उच्च तर्क आउटपुट का पता रास्पबेरी पाई और पाई द्वारा एक एलईडी टॉगल करके लगाया जाएगा।
OP-AMP2 Y- अक्ष के साथ जॉयस्टिक के उल्टा आंदोलन का पता लगाता है:
तुलनित्र U1 का नकारात्मक टर्मिनल: B 1.0V (2.2K और 1K द्वारा वोल्टेज विभक्त सर्किट का उपयोग करके) प्रदान किया जाता है और सकारात्मक टर्मिनल Ry से जुड़ा होता है। जॉयस्टिक को अपने Y- अक्ष के साथ ऊपर ले जाने पर, Ry वोल्टेज कम हो जाता है। एक बार जब यह वोल्टेज 1.0V से कम हो जाता है, तो OP-AMP आउटपुट कम हो जाता है। ओपी-एएमपी के इस LOW लॉजिक आउटपुट का पता रास्पबेरी पाई और पाई ने एक एलईडी को चालू करके लगाया।
ओपी-एएमपी 3 एक्स-अक्ष के साथ जॉयस्टिक के बाईं ओर आंदोलन का पता लगाता है:
तुलनित्र U1 का नकारात्मक टर्मिनल: C 2.3V (1K और 2.2K द्वारा वोल्टेज विभक्त सर्किट का उपयोग करके) प्रदान किया जाता है और धनात्मक टर्मिनल Rx से जुड़ा होता है। जॉयस्टिक को अपने एक्स-अक्ष के साथ ले जाने पर, आरएक्स वोल्टेज बढ़ता है। एक बार जब यह वोल्टेज 2.3V से अधिक हो जाता है, तो OP-AMP अपने आउटपुट पिन पर + 3.3V आउटपुट प्रदान करता है। ओपी-एएमपी के इस उच्च तर्क आउटपुट का पता रास्पबेरी पाई और पाई द्वारा एक एलईडी टॉगल करके लगाया जाएगा।
OP-AMP4 X- अक्ष के साथ जॉयस्टिक के दाईं ओर गति का पता लगाता है:
तुलनित्र U1: 4 का नकारात्मक टर्मिनल 1.0V (2.2K और 1K द्वारा वोल्टेज विभक्त सर्किट का उपयोग करके) प्रदान किया जाता है और धनात्मक टर्मिनल Rx से जुड़ा होता है। जॉयस्टिक को अपने एक्स-अक्ष के साथ आगे बढ़ने पर, आरएक्स वोल्टेज कम हो जाता है। एक बार जब यह वोल्टेज 1.0V से कम हो जाता है, तो OP-AMP आउटपुट कम हो जाता है। ओपी-एएमपी के इस LOW लॉजिक आउटपुट का पता रास्पबेरी पाई और पाई ने एक एलईडी को चालू करके लगाया।
इस तरह सभी चार लॉजिक्स, जो जॉयस्टिक की चार दिशाओं को निर्धारित करते हैं, रास्पबेरी पाई से जुड़ जाते हैं। रास्पबेरी पाई इन तुलनित्रों के आउटपुट को इनपुट के रूप में लेती है और एलईडी के अनुसार टॉगल करके जवाब देती है। नीचे रास्पबेरी पाई के टर्मिनल पर दिखाए गए परिणाम हैं, क्योंकि हमने अपने पायथन कोड का उपयोग करके टर्मिनल पर जॉयस्टिक की दिशा भी मुद्रित की है।
पायथन कोड और वीडियो नीचे दिया गया है। कोड आसान है और कोड में दी गई टिप्पणियों से समझा जा सकता है।