किसी व्यक्ति से माइक्रोकंट्रोलर या कंप्यूटर में जानकारी स्थानांतरित करने के कई तरीके हैं, और उनमें से एक जॉयस्टिक का उपयोग कर रहा है। आइए देखें कि एनालॉग जॉयस्टिक को दो अक्षों और एक बटन के साथ Arduino से कैसे जोड़ा जाए।
यह आवश्यक है
- - अरुडिनो;
- - दो-अक्ष जॉयस्टिक;
- - 220 ओम के नाममात्र मूल्य वाले 3 प्रतिरोधक;
- - 1 आरजीबी या 3 पारंपरिक एलईडी।
अनुदेश
चरण 1
जॉयस्टिक सूचना प्रसारित करने के लिए एक सुविधाजनक और उपयोग में आसान उपकरण है। स्वतंत्रता की डिग्री की संख्या, संकेतों को पढ़ने के सिद्धांत और उपयोग की जाने वाली तकनीकों के संदर्भ में बड़ी संख्या में जॉयस्टिक हैं। जॉयस्टिक का उपयोग अक्सर किसी भी तंत्र, नियंत्रित मॉडल, रोबोट की गति को नियंत्रित करने के लिए किया जाता है। एनालॉग जॉयस्टिक, जिसे हम आज देखेंगे, दो परस्पर लंबवत अक्षों के साथ गेंद के जोड़ से जुड़ा एक हैंडल है। जब नॉब को झुकाया जाता है, तो अक्ष पोटेंशियोमीटर के चल संपर्क को घुमाता है, जिसके कारण इसके आउटपुट पर वोल्टेज बदल जाता है। इसके अलावा, एनालॉग जॉयस्टिक में एक चातुर्य बटन होता है, जो तब चालू होता है जब आप हैंडल को लंबवत रूप से दबाते हैं।
चरण दो
नीचे दिए गए आरेख के अनुसार जॉयस्टिक को कनेक्ट करें। जॉयस्टिक के एनालॉग आउटपुट X और Y को Arduino के एनालॉग इनपुट A1 और A2 से कनेक्ट करें, SW बटन के आउटपुट को डिजिटल इनपुट 8 से कनेक्ट करें। जॉयस्टिक +5 V के वोल्टेज द्वारा संचालित होता है।
चरण 3
यह स्पष्ट रूप से देखने के लिए कि जॉयस्टिक कैसे काम करता है, आइए ऐसा एक स्केच लिखें। आइए पिन घोषित करें, उनके लिए ऑपरेटिंग मोड सेट करें। ध्यान दें कि सेटअप () प्रक्रिया में, हम स्विचपिन इनपुट को उच्च स्तर पर सेट करते हैं। यह इस पोर्ट पर बिल्ट-इन पुल-अप रेसिस्टर को सक्षम बनाता है। यदि आप इसे चालू नहीं करते हैं, तो जब जॉयस्टिक बटन नहीं दबाया जाता है, तो 8वां Arduino पोर्ट हवा में लटक जाएगा और पिकअप पकड़ लेगा। यह अवांछित, अराजक झूठी सकारात्मकता को जन्म देगा।
लूप () प्रक्रिया में, हम लगातार बटन की स्थिति का सर्वेक्षण करते हैं और आउटपुट 13 पर एलईडी का उपयोग करके इसे प्रदर्शित करते हैं। स्विचपिन इनपुट ऊपर खींचे जाने के कारण, एलईडी लगातार चालू रहता है, और जब बटन दबाया जाता है, तो यह बाहर चला जाता है, और इसके विपरीत नहीं।
इसके बाद, हम जॉयस्टिक के दो पोटेंशियोमीटर की रीडिंग पढ़ते हैं - एक्स और वाई कुल्हाड़ियों का आउटपुट। Arduino में 10-बिट ADC है, इसलिए जॉयस्टिक से पढ़े गए मान 0 से 1023 की सीमा में हैं। जॉयस्टिक की मध्य स्थिति में, जैसा कि आप चित्रण में देख सकते हैं, क्षेत्र 500 में मान सीमा के मध्य के बारे में है।
चरण 4
आमतौर पर जॉयस्टिक का उपयोग इलेक्ट्रिक मोटर्स को नियंत्रित करने के लिए किया जाता है। लेकिन इसका उपयोग एलईडी की चमक को नियंत्रित करने के लिए क्यों नहीं किया जाता है, उदाहरण के लिए? आइए आरजीबी एलईडी (या तीन साधारण एलईडी) को उपरोक्त आरेख के अनुसार Arduino के डिजिटल पोर्ट 9, 10 और 11 से कनेक्ट करें, निश्चित रूप से, प्रतिरोधों के बारे में न भूलें।
चरण 5
जैसा कि चित्र में दिखाया गया है, कुल्हाड़ियों के साथ जॉयस्टिक की स्थिति बदलते समय हम संबंधित रंगों की चमक को बदल देंगे। इस तथ्य के कारण कि जॉयस्टिक निर्माता द्वारा सटीक रूप से केंद्रित नहीं हो सकता है और पैमाने का मध्य 512 के आसपास नहीं है, लेकिन 490 से 525 तक, जॉयस्टिक तटस्थ स्थिति में होने पर भी एलईडी थोड़ा हल्का हो सकता है। यदि आप इसे पूरी तरह से बंद करना चाहते हैं, तो कार्यक्रम में उचित संशोधन करें।
चरण 6
उपरोक्त आरेख के आधार पर, हम Arduino का एक स्केच लिखेंगे जो जॉयस्टिक का उपयोग करके RGB LED की चमक को नियंत्रित करता है।
सबसे पहले, हम बटन के साथ काम करने के लिए पिन और दो चर - LEDOn और prevSw - के पत्राचार की घोषणा करेंगे। सेटअप () प्रक्रिया में, पिन को फ़ंक्शन असाइन करें और पुल-अप रोकनेवाला को बटन पिन से digitalWrite (swPin, HIGH) कमांड से कनेक्ट करें।
लूप () में हम जॉयस्टिक बटन दबाने को परिभाषित करते हैं। जब आप बटन दबाते हैं, तो हम ऑपरेटिंग मोड को "टॉर्च" मोड और "रंग संगीत" मोड के बीच स्विच करते हैं।
फ्रीमोड () मोड में, जॉयस्टिक को अलग-अलग दिशाओं में झुकाकर एलईडी की चमक को नियंत्रित किया जाता है: धुरी के साथ झुकाव जितना मजबूत होता है, उतना ही तेज रंग चमकता है। इसके अलावा, मूल्यों के परिवर्तन को मानचित्र फ़ंक्शन (मान, निचले से, ऊपरी, से निचले, से ऊपरी) द्वारा लिया जाता है। मैप () फ़ंक्शन जॉयस्टिक कुल्हाड़ियों के साथ मापा मूल्यों (निम्न से उच्च तक) को वांछित चमक सीमा (निम्न से उच्च तक) में स्थानांतरित करता है।आप साधारण अंकगणितीय संक्रियाओं के साथ भी ऐसा ही कर सकते हैं, लेकिन यह अंकन बहुत छोटा है।
डिस्कोमोड () मोड में, तीन रंग बारी-बारी से चमक प्राप्त करते हैं और बाहर निकल जाते हैं। बटन दबाए जाने पर लूप से बाहर निकलने में सक्षम होने के लिए, हम यह देखने के लिए प्रत्येक पुनरावृत्ति की जांच करते हैं कि बटन दबाया गया है या नहीं।
चरण 7
परिणाम तीन-रंग आरजीबी एलईडी से बना एक टॉर्च है, जिसमें से प्रत्येक रंग की चमक जॉयस्टिक का उपयोग करके सेट की जाती है। और जब आप बटन दबाते हैं, तो "रंग संगीत" मोड सक्रिय हो जाता है। हालांकि मैं इसका उपयोग करता हूं, इसके विपरीत, एक रात की रोशनी के रूप में।
इस प्रकार, हमने सीखा कि कैसे एक एनालॉग टू-एक्सिस जॉयस्टिक को एक बटन के साथ Arduino से जोड़ा जाए और इससे रीडिंग पढ़ी जाए। आप हमारे उदाहरण की तुलना में जॉयस्टिक के अधिक दिलचस्प उपयोग के बारे में सोच और कार्यान्वित कर सकते हैं।