विषयसूची:
- आपूर्ति
- चरण 1: अपने सर्किट का निर्माण:
- चरण 2: आपका Arduino प्रोग्रामिंग:
- चरण 3: Arduino से ग्राफ़ डेटा के लिए पायथन प्रोग्रामिंग:
- चरण 4: एक कमरे में प्रकाश की तीव्रता की जाँच करने के लिए अंतिम कार्यक्रम।
- चरण 5: परिणाम:
वीडियो: Arduino और Python की Arduino मास्टर लाइब्रेरी का उपयोग करके लाइट इंटेंसिटी प्लॉटिंग: 5 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
Arduino एक किफायती लेकिन अत्यधिक कुशल और कार्यात्मक उपकरण होने के कारण, इसे एंबेडेड C में प्रोग्रामिंग करना परियोजनाओं को थकाऊ बनाने की प्रक्रिया को बनाता है! पायथन का Arduino_Master मॉड्यूल इसे सरल बनाता है और हमें गणना करने, कचरा मूल्यों को हटाने और डेटा के दृश्य प्रतिनिधित्व के लिए एक ग्राफ तैयार करने देता है।
यदि आप अभी तक इस मॉड्यूल के बारे में नहीं जानते हैं, तो pip install Arduino_Master. कमांड का उपयोग करके इसे स्थापित करें
यदि आप इस मॉड्यूल का उपयोग करना नहीं जानते हैं तो चिंता न करें, इस लिंक पर जाएँ => Arduino_Master
हालाँकि, इस निर्देश में इस परियोजना का कोड हमेशा उपलब्ध रहेगा।
आपूर्ति
इस परियोजना के लिए, आपको निम्नलिखित की आवश्यकता होगी:
- एक Arduino
- एक लाइट डिपेंडेंट रेसिस्टर (LDR) और
- आपके कंप्यूटर पर पायथन 3 स्थापित है।
चरण 1: अपने सर्किट का निर्माण:
हम इनपुट डेटा प्राप्त करने के लिए Arduino के पिन A1 का उपयोग करेंगे। आप बैटरी के बजाय Arduino के 5V और GND पिन का भी उपयोग कर सकते हैं। कनेक्शन इस प्रकार बनाएं:
- LDR के एक सिरे को 5V बैटरी के धनात्मक टर्मिनल से या Arduino के 5V पिन से कनेक्ट करें।
- LDR के दूसरे सिरे को A1 और बैटरी के नेगेटिव टर्मिनल या Arduino के GND पिन के समानांतर कनेक्ट करें।
- यह सुनिश्चित करने के लिए एक रोकनेवाला का उपयोग करें कि सभी करंट GND में प्रवाहित नहीं होते हैं, जिसके परिणामस्वरूप आपको Arduino के A1 टर्मिनल पर एक मजबूत पर्याप्त संकेत नहीं मिल रहा है। (मैं 10k ओम के एक रोकनेवाला का उपयोग कर रहा हूँ)।
चरण 2: आपका Arduino प्रोग्रामिंग:
Arduino_Master मॉड्यूल डेटा भेजने और प्राप्त करने के लिए Arduino के सीरियल मॉनिटर का उपयोग करता है। इस मॉड्यूल का उपयोग करने का लाभ यह है कि, एक बार जब आप अपने Arduino को प्रोग्राम कर लेते हैं, तो आप अलग-अलग प्रोजेक्ट के लिए अकेले अजगर प्रोग्राम को बदल सकते हैं क्योंकि अजगर में प्रोग्रामिंग तुलनात्मक रूप से आसान है!
कोड:
// LDR_1 चर का उपयोग Arduino के पिन A1 को दर्शाने के लिए किया जाता है।
इंट एलडीआर_1 = ए1;
// A1 से प्राप्त डेटा LDR_Value_1 में संग्रहीत किया जाएगा।
फ्लोट LDR_Value_1;
स्ट्रिंग इनपुट;
व्यर्थ व्यवस्था()
{पिनमोड (LDR_1, INPUT); // LDR_1 को INPUT पिन के रूप में सेट किया गया है। सीरियल.बेगिन (९६००); // संचार बॉड्रेट 9600 पर सेट है। }
शून्य लूप ()
{if(Serial.उपलब्ध ()>0) // यदि सीरियल मॉनिटर में कोई इनपुट उपलब्ध है तो आगे बढ़ें। {इनपुट = सीरियल.रीडस्ट्रिंग (); // इनपुट को एक स्ट्रिंग के रूप में पढ़ें। अगर (इनपुट == "डेटा") { LDR_Value_1 = एनालॉग रीड (LDR_1) * (5.0 / 1023.0); // (5/1023) वोल्ट में मान प्राप्त करने के लिए रूपांतरण कारक है। Serial.println(LDR_Value_1); // यदि इनपुट "डेटा" के बराबर है, तो LDR_1 से इनपुट पढ़ें और इसे सीरियल मॉनिटर पर प्रिंट करें। } और इंट आई = 0; // यदि इनपुट "डेटा" के बराबर नहीं है, तो कुछ भी न करें! }
}
चरण 3: Arduino से ग्राफ़ डेटा के लिए पायथन प्रोग्रामिंग:
प्रत्येक एलडीआर के अपने प्रतिरोध मूल्य होंगे और हमें यह याद रखना होगा कि कोई भी इलेक्ट्रॉनिक घटक कभी भी संचालन में बिल्कुल समान नहीं होते हैं। इस प्रकार पहले हमें प्रकाश की विभिन्न तीव्रताओं पर वोल्टेज ज्ञात करना होगा।
निम्नलिखित प्रोग्राम को अपने पायथन आईडीई पर अपलोड करें और इसे चलाएं:
प्रकाश की विभिन्न तीव्रताओं के लिए ऐसा करें और ग्राफ का उपयोग करके एक निष्कर्ष निकालें, उदाहरण के लिए, यदि तीव्रता 1 से कम है, तो कमरा बहुत अंधेरा है। 1 और 2 के बीच तीव्रता के लिए, कमरा काफी अंधेरा है। 2 से अधिक तीव्रता के लिए, प्रकाश को चालू किया जाता है।
# Arduino_Master मॉड्यूल आयात करना
Arduino_Master आयात से *
# डेटा एकत्र करना
डेटा = फ़िल्टर (अरडाटा (8, निचोड़ = झूठा, गतिशील = सच, संदेश = "डेटा", रेखा = 30), अपेक्षित_प्रकार = 'संख्या', सीमा = [0, 5])
# सीमा 5 पर सेट है क्योंकि हम 5V बैटरी का उपयोग कर रहे हैं।
# मूल्यों को प्लॉट करना
ग्राफ (डेटा, एसटीएल = 'डार्क_बैकग्राउंड', लेबल = 'लाइट इंटेंसिटी')
चरण 4: एक कमरे में प्रकाश की तीव्रता की जाँच करने के लिए अंतिम कार्यक्रम।
आपके द्वारा प्राप्त आंकड़ों से निष्कर्ष पर आने के बाद, निम्नलिखित कार्यक्रम अपलोड करें और अपने निष्कर्ष के अनुसार सीमाओं को बदलना सुनिश्चित करें।
# Arduino_Master मॉड्यूल आयात करना
Arduino_Master आयात से # डेटा डेटा एकत्र करना = फ़िल्टर (अरडाटा (8, निचोड़ = गलत, गतिशील = सही, संदेश = "डेटा", रेखा = 50), अपेक्षित_प्रकार = 'संख्या', सीमा = [0, 5]) # डेटा वर्गीकृत करना निष्कर्ष जानकारी के आधार पर = i के लिए रेंज में (लेन (डेटा)): तीव्रता = डेटा अगर तीव्रता १ और तीव्रता = २: info.append ('लाइट ऑन') # ग्राफ को प्लॉट करना। कॉम्पग्राफ (डेटा, जानकारी, एसटीएल = 'डार्क_बैकग्राउंड', लेबल 1 = 'लाइट इंटेंसिटी', लेबल 2 = 'स्टेट')
चरण 5: परिणाम:
प्रोग्राम को चलने में एक या दो मिनट का समय लगेगा क्योंकि आप Arduino से 50 तात्कालिक मान पढ़ रहे हैं।
यदि आप प्रक्रिया को गति देना चाहते हैं तो ardata फ़ंक्शन के लाइन पैरामीटर को बदलने का प्रयास करें। लेकिन याद रखें कि अवलोकन जितना कम होगा, डेटा की गुणवत्ता उतनी ही कम होगी।
नोट: यदि उपरोक्त तस्वीर में पूरा ग्राफ दिखाई नहीं दे रहा है, तो परिचय अनुभाग के ऊपर ग्राफ देखें।
सिफारिश की:
DIY -- कैसे एक स्पाइडर रोबोट बनाने के लिए जिसे Arduino Uno का उपयोग करके स्मार्टफ़ोन का उपयोग करके नियंत्रित किया जा सकता है: 6 चरण
DIY || कैसे एक स्पाइडर रोबोट बनाने के लिए जिसे Arduino Uno का उपयोग करके स्मार्टफ़ोन का उपयोग करके नियंत्रित किया जा सकता है: स्पाइडर रोबोट बनाते समय, रोबोटिक्स के बारे में बहुत सी बातें सीख सकते हैं। जैसे रोबोट बनाना मनोरंजक होने के साथ-साथ चुनौतीपूर्ण भी है। इस वीडियो में हम आपको स्पाइडर रोबोट बनाने का तरीका दिखाने जा रहे हैं, जिसे हम अपने स्मार्टफोन (Androi
Android / Arduino / PfodApp का उपयोग करके सरल रिमोट डेटा प्लॉटिंग: 6 चरण
Android / Arduino / PfodApp का उपयोग करके सरल रिमोट डेटा प्लॉटिंग: केवल Arduino की मिलिस का उपयोग करके दिनांक / समय के विरुद्ध डेटा प्लॉट करने के लिए () इस निर्देश योग्य Arduino दिनांक/समय प्लॉटिंग/मिलिस () और PfodApp का उपयोग करके लॉगिंग देखें। Android मोबाइल और इसे कैप्चर करने के लिए
Neopixel Ws2812 M5stick-C के साथ इंद्रधनुष एलईडी चमक - Arduino IDE का उपयोग करके M5stack M5stick C का उपयोग करके Neopixel Ws2812 पर इंद्रधनुष चलाना: 5 चरण
Neopixel Ws2812 M5stick-C के साथ इंद्रधनुष एलईडी चमक | Arduino IDE का उपयोग करके M5stack M5stick C का उपयोग करके Neopixel Ws2812 पर इंद्रधनुष चलाना: हाय दोस्तों इस निर्देश में हम सीखेंगे कि कैसे Arduino IDE के साथ m5stack m5stick-C डेवलपमेंट बोर्ड के साथ neopixel ws2812 LED या एलईडी स्ट्रिप या एलईडी मैट्रिक्स या एलईडी रिंग का उपयोग करना है और हम करेंगे इसके साथ एक इंद्रधनुष पैटर्न
Arduino दिनांक/समय प्लॉटिंग/मिलिस () और PfodApp का उपयोग करके लॉगिंग: 11 चरण
Arduino दिनांक/समय प्लॉटिंग/मिलिस () और PfodApp का उपयोग करके लॉगिंग: कोई Arduino या Android प्रोग्रामिंग की आवश्यकता नहीं है। RTC और GPS मॉड्यूल भी समर्थित हैं। टाइमज़ोन, RTC बहाव और GPS लापता लीप सेकंड के लिए स्वचालित सुधार ) डेटा एजी प्लॉट करने के लिए टाइमस्टैम्प
फोटोकल्स और थर्मिस्टर्स का उपयोग करते हुए लाइट इंटेंसिटी एनर्जी सेवर: 6 कदम
फोटोकल्स और थर्मिस्टर्स का उपयोग करके लाइट इंटेंसिटी एनर्जी सेवर: यह इंस्ट्रक्शनल आपको यह सिखाने के लिए डिज़ाइन किया गया है कि फोटोकेल्स और थर्मिस्टर्स का उपयोग करके प्रकाश की तीव्रता को बदलकर ऊर्जा कैसे बचाएं। हम आपको दिखाएंगे कि सर्किट का निर्माण कैसे करें और MATLAB का उपयोग करके Arduino को कोड करें