विषयसूची:

Arduino और Python की Arduino मास्टर लाइब्रेरी का उपयोग करके लाइट इंटेंसिटी प्लॉटिंग: 5 चरण
Arduino और Python की Arduino मास्टर लाइब्रेरी का उपयोग करके लाइट इंटेंसिटी प्लॉटिंग: 5 चरण

वीडियो: Arduino और Python की Arduino मास्टर लाइब्रेरी का उपयोग करके लाइट इंटेंसिटी प्लॉटिंग: 5 चरण

वीडियो: Arduino और Python की Arduino मास्टर लाइब्रेरी का उपयोग करके लाइट इंटेंसिटी प्लॉटिंग: 5 चरण
वीडियो: Employee Attendance Monitoring System using Face Recognition 2024, दिसंबर
Anonim
Arduino और Python की Arduino मास्टर लाइब्रेरी का उपयोग करके लाइट इंटेंसिटी प्लॉटिंग
Arduino और Python की Arduino मास्टर लाइब्रेरी का उपयोग करके लाइट इंटेंसिटी प्लॉटिंग

Arduino एक किफायती लेकिन अत्यधिक कुशल और कार्यात्मक उपकरण होने के कारण, इसे एंबेडेड C में प्रोग्रामिंग करना परियोजनाओं को थकाऊ बनाने की प्रक्रिया को बनाता है! पायथन का Arduino_Master मॉड्यूल इसे सरल बनाता है और हमें गणना करने, कचरा मूल्यों को हटाने और डेटा के दृश्य प्रतिनिधित्व के लिए एक ग्राफ तैयार करने देता है।

यदि आप अभी तक इस मॉड्यूल के बारे में नहीं जानते हैं, तो pip install Arduino_Master. कमांड का उपयोग करके इसे स्थापित करें

यदि आप इस मॉड्यूल का उपयोग करना नहीं जानते हैं तो चिंता न करें, इस लिंक पर जाएँ => Arduino_Master

हालाँकि, इस निर्देश में इस परियोजना का कोड हमेशा उपलब्ध रहेगा।

आपूर्ति

इस परियोजना के लिए, आपको निम्नलिखित की आवश्यकता होगी:

  1. एक Arduino
  2. एक लाइट डिपेंडेंट रेसिस्टर (LDR) और
  3. आपके कंप्यूटर पर पायथन 3 स्थापित है।

चरण 1: अपने सर्किट का निर्माण:

अपने सर्किट का निर्माण
अपने सर्किट का निर्माण

हम इनपुट डेटा प्राप्त करने के लिए Arduino के पिन A1 का उपयोग करेंगे। आप बैटरी के बजाय Arduino के 5V और GND पिन का भी उपयोग कर सकते हैं। कनेक्शन इस प्रकार बनाएं:

  1. LDR के एक सिरे को 5V बैटरी के धनात्मक टर्मिनल से या Arduino के 5V पिन से कनेक्ट करें।
  2. LDR के दूसरे सिरे को A1 और बैटरी के नेगेटिव टर्मिनल या Arduino के GND पिन के समानांतर कनेक्ट करें।
  3. यह सुनिश्चित करने के लिए एक रोकनेवाला का उपयोग करें कि सभी करंट 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 फ़ंक्शन के लाइन पैरामीटर को बदलने का प्रयास करें। लेकिन याद रखें कि अवलोकन जितना कम होगा, डेटा की गुणवत्ता उतनी ही कम होगी।

नोट: यदि उपरोक्त तस्वीर में पूरा ग्राफ दिखाई नहीं दे रहा है, तो परिचय अनुभाग के ऊपर ग्राफ देखें।

सिफारिश की: