विषयसूची:

चमक नियंत्रण, Arduino (एनिमेशन के साथ): 7 कदम
चमक नियंत्रण, Arduino (एनिमेशन के साथ): 7 कदम

वीडियो: चमक नियंत्रण, Arduino (एनिमेशन के साथ): 7 कदम

वीडियो: चमक नियंत्रण, Arduino (एनिमेशन के साथ): 7 कदम
वीडियो: Arduino tutorial 7- How to control Servo motor with Arduino (code explained) | using servo library 2024, नवंबर
Anonim
Image
Image

पिछले कुछ वर्षों में मैंने दो पिनबॉल मशीन (pinballdesign.com) और दो रोबोट हेड (grahamasker.com) बनाए हैं, जिनमें से प्रत्येक को Arduinos द्वारा नियंत्रित किया जाता है। एक मैकेनिकल इंजीनियर के रूप में करियर बनाने के बाद मैं तंत्र के डिजाइन के साथ ठीक हूं, हालांकि मैं प्रोग्रामिंग के साथ संघर्ष करता हूं। मैंने Arduino की कुछ बुनियादी अवधारणाओं को स्पष्ट करने के लिए एनिमेशन बनाने का निर्णय लिया। मुझे लगा कि इससे मुझे और दूसरों को उन्हें समझने में मदद मिलेगी। एक तस्वीर एक हजार शब्दों के बराबर होती है और एक एनीमेशन एक हजार तस्वीरें हो सकती है!

तो यहाँ चमक नियंत्रण के विषय पर एक एनिमेटेड व्याख्या है। ऊपर दिया गया एनीमेशन एक Arduino से जुड़े एक पोटेंशियोमीटर का एक योजनाबद्ध दिखाता है। यह दिखाता है कि पोटेंशियोमीटर की स्थिति को समायोजित करने से एलईडी की चमक कैसे बदल सकती है। मैं इस प्रक्रिया के सभी तत्वों की व्याख्या करने जा रहा हूँ। किसी के लिए भी जो पोटेंशियोमीटर और एलईडी से परिचित नहीं है, मैं उनसे शुरुआत करूंगा। मैं तब समझाऊंगा कि एलईडी को पीडब्लूएम सक्षम Arduino पिन से क्यों जोड़ा जाना चाहिए और कैसे एक Arduino स्केच के भीतर MAP फ़ंक्शन का उपयोग पोटेंशियोमीटर से इनपुट को आउटपुट में बदलने के लिए किया जाता है जो एक एलईडी को नियंत्रित करने के लिए उपयुक्त है।

यदि आप एलईडी और पोटेंशियोमीटर से परिचित हैं तो आप सेक्शन 1 और 2 को छोड़ सकते हैं।

चरण 1: एल ई डी के बारे में

एलईडी के बारे में
एलईडी के बारे में

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

वोल्टेज और करंट

एक एलईडी के लिए आवश्यक वोल्टेज उसके रंग के आधार पर लगभग 2.2v से 3.2 वोल्ट तक होता है। उनकी वर्तमान रेटिंग आमतौर पर 20mA है। करंट को प्रतिबंधित करने और एलईडी को ओवरहीटिंग से बचाने के लिए, प्रत्येक एलईडी के साथ श्रृंखला में एक रोकनेवाला का उपयोग करना आवश्यक है। मैं लगभग 300 ओम की सलाह देता हूं।

ऊपर दाईं ओर का चित्रण एक अवरोधक को एक एलईडी के पैर में मिलाप करने और इसे गर्मी सिकुड़ने वाली आस्तीन के साथ इन्सुलेट करने का एक तरीका दिखाता है।

चरण 2: पोटेंशियोमीटर

तनाव नापने का यंत्र
तनाव नापने का यंत्र

Arduino शब्दों में एक पोटेंशियोमीटर एक सेंसर है। "सेंसर" किसी भी बाहरी उपकरण को संदर्भित करता है जिसे इनपुट पिन से कनेक्ट होने पर Arduino द्वारा महसूस किया जा सकता है। हम एक एलईडी की चमक को नियंत्रित करने के लिए, Arduino से जुड़े एक पोटेंशियोमीटर का उपयोग करने जा रहे हैं। एक पोटेंशियोमीटर को कभी-कभी वोल्टेज विभक्त कहा जाता है, जो मुझे लगता है कि एक बेहतर विवरण है। ऊपर बाईं ओर का आरेख वोल्टेज विभक्त के प्रिंसिपल को इंगित करता है। इस उदाहरण में, एक रोकनेवाला एक छोर पर जमीन से जुड़ा होता है और दूसरे छोर पर किसी शक्ति स्रोत से 5v तक होता है। यदि एक स्लाइडर को रोकनेवाला के साथ ले जाया जाता है तो यह बाएं हाथ के अंत में 0v, दाहिने हाथ के अंत में 5v के वोल्टेज पर होगा। किसी अन्य स्थिति में यह 0v और 5v के बीच के मान पर होगा। आधे रास्ते में, उदाहरण के लिए यह 2.5V पर होगा। यदि हम ऊपर दाईं ओर दिखाए गए अनुसार व्यवस्था को फिर से आकार देते हैं, तो यह एक घूर्णन पोटेंशियोमीटर की क्रिया का प्रतिनिधित्व करता है।

चरण 3: सर्किट

सर्किट
सर्किट

ऊपर दिए गए उदाहरण से पता चलता है कि कैसे हमें पोटेंशियोमीटर और एलईडी को एक Arduino से जोड़ने की आवश्यकता है।

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

Arduino में केवल डिजिटल आउटपुट पिन होते हैं। हालाँकि, उनके बगल में एक टिल्ड (~) वाले पिन एक एनालॉग आउटपुट का अनुकरण करते हैं जो एक एलईडी की चमक को नियंत्रित करने के लिए उपयुक्त है। इस प्रक्रिया को पल्स चौड़ाई मॉडुलन (पीडब्लूएम) कहा जाता है और इसे अगले एनीमेशन, चरण 4 के माध्यम से समझाया गया है।

चरण 4: पीडब्लूएम

पीडब्लूएम, पल्स चौड़ाई मॉडुलन

जैसा कि पहले उल्लेख किया गया है, एक टिल्डा के साथ पिन, "~" उनके बगल में पीडब्लूएम पिन हैं। क्योंकि पिन डिजिटल हैं, वे केवल 0v या 5v पर हो सकते हैं, हालांकि PWM के साथ उनका उपयोग एलईडी को मंद करने या मोटर की गति को नियंत्रित करने के लिए किया जा सकता है। वे एक एलईडी को 5v की आपूर्ति करके ऐसा करते हैं, लेकिन इसे 0v और 5v के बीच 500 Hz (प्रति सेकंड 500 बार) पर स्पंदित करते हैं और नाड़ी के प्रत्येक 0v और 5v तत्व की अवधि को बढ़ाते या सिकोड़ते हैं। जैसे ही LED 0v पल्स की तुलना में 5v पल्स लंबी देखता है तो यह तेज हो जाता है। हमारे कार्यक्रम में, हम PWM "स्क्वायर वेव" को आउटपुट करने के लिए एनालॉगवर्इट () फ़ंक्शन का उपयोग करते हैं। इसमें 256 इंक्रीमेंट हैं, जीरो 0% ड्यूटी साइकिल दे रहा है और 255 100% "ड्यूटी साइकिल" दे रहा है यानी लगातार 5 वोल्ट। इस प्रकार 127 50% कर्तव्य चक्र, आधा समय 0v पर और आधा समय 5v पर देगा। ऊपर दिया गया एनीमेशन दिखाता है कि कैसे इस कर्तव्य चक्र को 100% तक बढ़ाया जाता है तो एलईडी तेज हो जाती है।

चरण 5: कार्यक्रम (आर्डिनो स्केच)

Image
Image

उपरोक्त वीडियो एक प्रोग्राम (स्केच) के माध्यम से कदम उठाता है जिसका उपयोग एक पोटेंशियोमीटर का उपयोग करके एलईडी की चमक को नियंत्रित करने के लिए किया जा सकता है। सर्किट वैसा ही है जैसा कि चरण 3 में दिखाया गया है।

अगर आपको यह वीडियो आराम से पढ़ने के लिए तेज़ (या धीमा) लगता है तो आप इसकी गति को समायोजित कर सकते हैं निचले नियंत्रण पट्टी के दाहिने हाथ के अंत में गियर व्हील के आकार का एक प्रतीक है (कभी-कभी लाल 'एचडी' लेबल के साथ) ।) यदि क्लिक किया जाता है तो यह एक मेनू लाएगा जिसमें "प्लेबैक गति" शामिल है।

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

कार्यक्रम में एक विशेषता है जो मुझे लगता है कि अधिक स्पष्टीकरण की आवश्यकता है: लाइन 14 पर "मानचित्र" फ़ंक्शन का उपयोग किया जाता है। इसके उद्देश्य के बारे में आगे, चरण ६ में एक स्पष्टीकरण दिया गया है

चरण 6: एमएपी

हमारे पास एक एनालॉग पिन से जुड़ा पोटेंशियोमीटर है। पोटेंशियोमीटर वोल्टेज 0v और 5v के बीच बदलता रहता है। यह रेंज प्रोसेसर में 1024 इंक्रीमेंट में रजिस्टर्ड है। जब पीडब्लूएम सक्षम डिजिटल पिन के माध्यम से आउटपुट बनाने के लिए वैल्यू इनपुट का उपयोग किया जाता है तो इस रेंज को डिजिटल पिन की आउटपुट रेंज में मैप किया जाना चाहिए। इसमें 255 वेतनवृद्धियां हैं। इस उद्देश्य के लिए मानचित्र फ़ंक्शन का उपयोग किया जाता है और एक आउटपुट प्रदान करता है जो इनपुट के समानुपाती होता है।

ऊपर दिया गया वीडियो इसे दिखाता है।

चरण 7: एनिमेटेड Arduino

इस निर्देश में चित्र मेरी ईबुक एनिमेटेड अरुडिनो से लिए गए हैं जो www.animatedarduino.com पर उपलब्ध है, जिसमें मेरा उद्देश्य Arduino को प्रोग्राम करना सीखते समय सामने आई कुछ अवधारणाओं की बेहतर समझ प्रदान करना है।

वेबसाइट पर उपलब्ध ईबुक की एक मुफ्त पूर्वावलोकन प्रति है जो आपको पुस्तक की इंटरैक्टिव प्रकृति का अनुभव करने की अनुमति देती है। यह मूल रूप से नमूना पृष्ठों का एक संग्रह है और इस प्रकार बहुत सारी व्याख्याओं को छोड़ देता है। इसमें नमूना पृष्ठ शामिल हैं जो आपको उन बटनों पर क्लिक करने की अनुमति देते हैं जो आपको प्रोग्राम की प्रत्येक पंक्ति के माध्यम से आगे बढ़ाते हैं और संबंधित टिप्पणियों को देखते हैं। अन्य पृष्ठों में वीडियो एनिमेशन और ऑडियो सामग्री होती है जिसे आप नियंत्रित कर सकते हैं। एक सामग्री पृष्ठ शामिल किया गया है ताकि आप देख सकें कि पूरे संस्करण में क्या है।

सिफारिश की: