विषयसूची:

टिंकरकाड में Arduino के साथ लाइट सेंसर (Photoresistor): 5 कदम (चित्रों के साथ)
टिंकरकाड में Arduino के साथ लाइट सेंसर (Photoresistor): 5 कदम (चित्रों के साथ)

वीडियो: टिंकरकाड में Arduino के साथ लाइट सेंसर (Photoresistor): 5 कदम (चित्रों के साथ)

वीडियो: टिंकरकाड में Arduino के साथ लाइट सेंसर (Photoresistor): 5 कदम (चित्रों के साथ)
वीडियो: Arduino Photo Resistor Tutorial (Step by Step) 2024, जुलाई
Anonim
Tinkercad. में Arduino के साथ लाइट सेंसर (Photoresistor)
Tinkercad. में Arduino के साथ लाइट सेंसर (Photoresistor)

टिंकरकाड प्रोजेक्ट्स »

आइए जानें कि Arduino's Analog Input का उपयोग करके, एक प्रकाश-संवेदी प्रकार के चर अवरोधक, एक फोटोरेसिस्टर को कैसे पढ़ा जाए। इसे LDR (प्रकाश-निर्भर अवरोधक) भी कहा जाता है।

अब तक आप Arduino के एनालॉग आउटपुट के साथ LED को नियंत्रित करना सीख चुके हैं, और एक पोटेंशियोमीटर पढ़ना सीख चुके हैं, जो एक अन्य प्रकार का वेरिएबल रेसिस्टर है, इसलिए हम इस पाठ में उन कौशलों का निर्माण करेंगे। याद रखें कि Arduino के एनालॉग इनपुट (A0-A6 चिह्नित पिन) धीरे-धीरे बदलते विद्युत सिग्नल का पता लगा सकते हैं, और उस सिग्नल को 0 और 1023 के बीच की संख्या में अनुवादित कर सकते हैं।

छवि
छवि

स्टार्ट सिमुलेशन पर क्लिक करके और फोटोरेसिस्टर पर क्लिक करके वर्कप्लेन में यहां एम्बेडेड सैंपल सर्किट का अन्वेषण करें (बीच में स्क्विगली लाइन के साथ ब्राउन ओवल), फिर सिम्युलेटेड लाइट इनपुट को एडजस्ट करने के लिए ब्राइटनेस स्लाइडर को ड्रैग करें।

इस पाठ में, आप नमूने के साथ-साथ स्वयं इस नकली परिपथ का निर्माण करेंगे। वैकल्पिक रूप से भौतिक सर्किट बनाने के लिए, अपने Arduino Uno बोर्ड, USB केबल, सोल्डरलेस ब्रेडबोर्ड, एक LED, रेसिस्टर्स (220 ओम और 4.7k ओम), फोटोरेसिस्टर और ब्रेडबोर्ड तारों को इकट्ठा करें।

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

चरण 1: सर्किट बनाएँ

सर्किट का निर्माण करें
सर्किट का निर्माण करें
सर्किट का निर्माण करें
सर्किट का निर्माण करें

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

साथ चलने के लिए, एक नई टिंकरकाड सर्किट विंडो लोड करें और नमूने के साथ इस सर्किट का अपना संस्करण बनाएं।

टिंकरकाड सर्किट वर्कप्लेन में अरुडिनो से जुड़े फोटोरेसिस्टर, एलईडी, रेसिस्टर्स और तारों की पहचान करें।

मौजूदा सर्किट के बगल में एक Arduino Uno और ब्रेडबोर्ड को कंपोनेंट्स पैनल से वर्कप्लेन तक खींचें।

वायर बनाने के लिए क्लिक करके ब्रेडबोर्ड पावर (+) और ग्राउंड (-) रेल को क्रमशः Arduino 5V और ग्राउंड (GND) से कनेक्ट करें।

ब्रेडबोर्ड के विपरीत किनारे पर अपनी संबंधित बसों में पावर और ग्राउंड रेल बढ़ाएं (इस सर्किट के लिए वैकल्पिक लेकिन अच्छा सामान्य अभ्यास)।

एलईडी को दो अलग-अलग ब्रेडबोर्ड पंक्तियों में प्लग करें ताकि कैथोड (नकारात्मक, छोटा पैर) एक रोकनेवाला के एक पैर से जुड़ जाए (कहीं भी 100-1K ओम ठीक है)। रोकनेवाला या तो अभिविन्यास में जा सकता है क्योंकि प्रतिरोधों को ध्रुवीकृत नहीं किया जाता है, एल ई डी के विपरीत, जिसे कार्य करने के लिए एक निश्चित तरीके से जोड़ा जाना चाहिए।

अन्य प्रतिरोधी पैर को जमीन से कनेक्ट करें।

एलईडी एनोड (पॉजिटिव, लॉन्ग लेग) को Arduino pin 9 पर वायर करें।

एक फोटोरेसिस्टर को घटक पैनल से अपने ब्रेडबोर्ड पर खींचें, ताकि उसके पैर दो अलग-अलग पंक्तियों में प्लग हो जाएं।

एक फोटोरेसिस्टर लेग को पावर से जोड़ने वाला तार बनाने के लिए क्लिक करें।

दूसरे पैर को Arduino एनालॉग पिन A0 से कनेक्ट करें।

A0 से जुड़े फोटोरेसिस्टर पैर को जमीन से जोड़ने के लिए घटक पैनल से एक रोकनेवाला खींचें, और इसके मान को 4.7k ओम में समायोजित करें।

चरण 2: ब्लॉक के साथ कोड

ब्लॉक के साथ कोड
ब्लॉक के साथ कोड

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

कोड संपादक खोलने के लिए "कोड" बटन पर क्लिक करें। ग्रे नोटेशन ब्लॉक यह नोट करने के लिए टिप्पणियां हैं कि आप अपने कोड के लिए क्या करना चाहते हैं, लेकिन यह टेक्स्ट प्रोग्राम के हिस्से के रूप में निष्पादित नहीं किया गया है।

कोड एडिटर में वेरिएबल कैटेगरी पर क्लिक करें।

फोटोरेसिस्टर के रेजिस्टेंस वैल्यू को स्टोर करने के लिए, "सेंसरवैल्यू" नाम का वेरिएबल बनाएं।

एक "सेट" ब्लॉक खींचें। हम अपने फोटोरेसिस्टर की स्थिति को वेरिएबल में स्टोर करेंगे

सेंसरवैल्यू

इनपुट श्रेणी पर क्लिक करें और "एनालॉग रीड पिन" ब्लॉक को बाहर खींचें, और इसे "टू" शब्द के बाद "सेट" ब्लॉक में रखें।

चूंकि हमारा पोटेंशियोमीटर पिन A0 पर Arduino से जुड़ा है, इसलिए ड्रॉपडाउन को A0 में बदलें।

आउटपुट श्रेणी पर क्लिक करें और "प्रिंट टू सीरियल मॉनिटर" ब्लॉक को बाहर खींचें।

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

चूंकि हम एलईडी को 0 (ऑफ) और 255 (पूर्ण चमक) के बीच की संख्या के साथ लिखना चाहते हैं, इसलिए हम अपने लिए कुछ क्रॉस-गुणा करने के लिए "मैप" ब्लॉक का उपयोग करेंगे। गणित श्रेणी पर नेविगेट करें और "मानचित्र" ब्लॉक को बाहर खींचें।

पहले स्लॉट में, सेंसरवैल्यू वैरिएबल ब्लॉक में ड्रैग करें, फिर रेंज को 0 से 255 तक सेट करें।

आउटपुट श्रेणी में वापस, एक एनालॉग "सेट पिन" ब्लॉक को खींचें, जो डिफ़ॉल्ट रूप से "पिन 3 से 0 सेट करें" कहता है। पिन 9 सेट करने के लिए इसे एडजस्ट करें।

पीडब्लूएम का उपयोग करके एलईडी पिन में समायोजित संख्या लिखने के लिए आपके द्वारा पहले बनाए गए मैप ब्लॉक को "सेट पिन" ब्लॉक के "टू" फ़ील्ड में खींचें।

नियंत्रण श्रेणी पर क्लिक करें और प्रतीक्षा ब्लॉक को खींचें, और प्रोग्राम को.1 सेकंड के लिए विलंबित करने के लिए इसे समायोजित करें।

चरण 3: फोटोरेसिस्टर Arduino कोड समझाया गया

जब कोड संपादक खुला होता है, तो आप बाईं ओर ड्रॉपडाउन मेनू पर क्लिक कर सकते हैं और कोड ब्लॉक द्वारा उत्पन्न Arduino कोड को प्रकट करने के लिए "ब्लॉक + टेक्स्ट" का चयन कर सकते हैं। जैसे ही हम कोड को अधिक विस्तार से एक्सप्लोर करते हैं, उसका अनुसरण करें।

इंट सेंसरवैल्यू = 0;

से पहले

सेट अप()

हम पोटेंशियोमीटर से पढ़े गए वर्तमान मान को संग्रहीत करने के लिए एक चर बनाते हैं। यह कहा जाता है

NS

क्योंकि यह एक पूर्णांक है, या कोई पूर्ण संख्या है।

व्यर्थ व्यवस्था()

{पिनमोड (ए0, इनपुट); पिनमोड (9, आउटपुट); सीरियल.बेगिन (९६००); }

सेटअप के अंदर, पिन का उपयोग करके कॉन्फ़िगर किया जाता है

पिनमोड ()

समारोह। पिन ए0 को एक इनपुट के रूप में कॉन्फ़िगर किया गया है, इसलिए हम पोटेंशियोमीटर की विद्युत स्थिति को "सुन" सकते हैं। पिन 9 को एलईडी को नियंत्रित करने के लिए आउटपुट के रूप में कॉन्फ़िगर किया गया है। संदेश भेजने में सक्षम होने के लिए, Arduino के साथ एक नया धारावाहिक संचार चैनल खोलता है

सीरियल.बेगिन ()

जो बॉड दर तर्क (संचार करने के लिए किस गति से) लेता है, इस मामले में 9600 बिट प्रति सेकंड।

शून्य लूप ()

{// सेंसर सेंसर से मान पढ़ेंवैल्यू = एनालॉगरेड (ए0); // सेंसर रीडिंग को प्रिंट करें ताकि आप इसकी सीमा को जान सकें Serial.println(sensorValue);

स्लैश के एक सेट के बाद कुछ भी

//

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

एनालॉग रीड ();

पिन A0 की स्थिति की जाँच करता है (जो 0-1023 से एक पूर्ण संख्या होगी), और उस मान को चर में संग्रहीत करता है

सेंसरवैल्यू

// एलईडी के लिए सेंसर रीडिंग को एक रेंज में मैप करें

एनालॉगवर्इट (9, मैप (सेंसरवैल्यू, 0, 1023, 0, 255)); देरी (100); // 100 मिलीसेकंड के लिए प्रतीक्षा करें}

अगली टिप्पणी के बाद की पंक्ति एक साथ बहुत कुछ कर रही है। याद रखना

एनालॉगराइट ()

दो तर्क लेता है, पिन नंबर (हमारे मामले में 9), और लिखने के लिए मान, जो 0 और 255 के बीच होना चाहिए। इनलाइन फ़ंक्शन

नक्शा()

पांच तर्क लेता है: मूल्यांकन करने के लिए संख्या (हमेशा बदलते सेंसर चर), अपेक्षित न्यूनतम और अपेक्षित अधिकतम, और वांछित न्यूनतम और अधिकतम। ऐसा

नक्शा()

हमारे मामले में फ़ंक्शन आने वाले सेंसरवैल्यू का मूल्यांकन कर रहा है, और आउटपुट को 0-1023 से 0-255 तक स्केल करने के लिए कुछ क्रॉस गुणा कर रहा है। परिणाम. के दूसरे तर्क में लौटाया जाता है

एनालॉगराइट ();

पिन 9 से जुड़ी एलईडी की चमक सेट करना।

चरण 4: एक भौतिक Arduino सर्किट बनाएँ (वैकल्पिक)

एक भौतिक Arduino सर्किट बनाएँ (वैकल्पिक)
एक भौतिक Arduino सर्किट बनाएँ (वैकल्पिक)

अपने भौतिक Arduino Uno को प्रोग्राम करने के लिए, आपको मुफ्त सॉफ़्टवेयर (या वेब संपादक के लिए प्लगइन) स्थापित करना होगा, फिर इसे खोलें। विभिन्न फोटोकल्स के अलग-अलग मान होते हैं, इसलिए यदि आपका भौतिक सर्किट काम नहीं कर रहा है, तो आपको इसके साथ जोड़े गए प्रतिरोधक को बदलने की आवश्यकता हो सकती है। इंस्ट्रक्शंस इलेक्ट्रॉनिक्स क्लास रेसिस्टर्स के पाठ में वोल्टेज डिवाइडर के बारे में अधिक जानें।

टिंकरकाड सर्किट में यहां दिखाए गए कनेक्शन से मिलान करने के लिए घटकों और तारों में प्लग करके Arduino Uno सर्किट को वायर करें। अपने भौतिक Arduino Uno बोर्ड के साथ काम करने के बारे में अधिक गहराई से चलने के लिए, निःशुल्क Instructables Arduino वर्ग देखें।

कोड को टिंकरकाड सर्किट कोड विंडो से कॉपी करें और इसे अपने Arduino सॉफ़्टवेयर में एक खाली स्केच में पेस्ट करें, या डाउनलोड बटन पर क्लिक करें (नीचे की ओर तीर) और खोलें

Arduino का उपयोग करके परिणामी फ़ाइल। आप फ़ाइल -> उदाहरण -> 03. Analog -> AnalogInOutSerial पर नेविगेट करके इस उदाहरण को Arduino सॉफ़्टवेयर में भी पा सकते हैं।

अपने USB केबल में प्लग इन करें और सॉफ़्टवेयर के टूल मेनू में अपना बोर्ड और पोर्ट चुनें।

कोड अपलोड करें और सेंसर को प्रकाश प्राप्त करने से कवर करने के लिए अपने हाथ का उपयोग करें, और/या अपने सेंसर पर प्रकाश चमकाएं!

अपने सेंसर मूल्यों का निरीक्षण करने के लिए सीरियल मॉनिटर खोलें। यह संभव है कि आपके प्रकाश की स्थिति के आधार पर वास्तविक विश्व मान 0 या सभी तरह से 1023 तक विस्तारित नहीं होंगे। एलईडी पर अधिकतम चमक अभिव्यक्ति सीमा प्राप्त करने के लिए 0-1023 रेंज को अपने देखे गए न्यूनतम और अधिकतम देखे जाने पर समायोजित करने के लिए स्वतंत्र महसूस करें।

चरण 5: अगला, प्रयास करें …

अब जब आपने एक एलईडी की चमक को नियंत्रित करने के लिए एक फोटोरेसिस्टर को पढ़ना और उसके आउटपुट को मैप करना सीख लिया है, तो आप उन और अन्य कौशलों को लागू करने के लिए तैयार हैं जिन्हें आपने अब तक सीखा है।

क्या आप एक अन्य प्रकार के आउटपुट के लिए एलईडी को स्वैप कर सकते हैं, जैसे सर्वो मोटर, और सेंसर के वर्तमान प्रकाश स्तर को गेज के साथ एक निश्चित स्थिति के रूप में प्रतिबिंबित करने के लिए कुछ कोड बना सकते हैं?

अल्ट्रासोनिक दूरी सेंसर या पोटेंशियोमीटर जैसे अन्य एनालॉग इनपुट के लिए अपने फोटोरेसिस्टर को स्वैप करने का प्रयास करें।

सीरियल मॉनिटर का उपयोग करके कंप्यूटर के माध्यम से अपने Arduino के डिजिटल और एनालॉग इनपुट की निगरानी करने के तरीके के बारे में और जानें।

सिफारिश की: