विषयसूची:

Nodemcu पर रीड स्विच, हॉल इफेक्ट सेंसर और कुछ स्क्रैप का उपयोग करके अपना खुद का एनीमोमीटर कैसे बनाएं - भाग 2 - सॉफ्टवेयर: 5 चरण (चित्रों के साथ)
Nodemcu पर रीड स्विच, हॉल इफेक्ट सेंसर और कुछ स्क्रैप का उपयोग करके अपना खुद का एनीमोमीटर कैसे बनाएं - भाग 2 - सॉफ्टवेयर: 5 चरण (चित्रों के साथ)

वीडियो: Nodemcu पर रीड स्विच, हॉल इफेक्ट सेंसर और कुछ स्क्रैप का उपयोग करके अपना खुद का एनीमोमीटर कैसे बनाएं - भाग 2 - सॉफ्टवेयर: 5 चरण (चित्रों के साथ)

वीडियो: Nodemcu पर रीड स्विच, हॉल इफेक्ट सेंसर और कुछ स्क्रैप का उपयोग करके अपना खुद का एनीमोमीटर कैसे बनाएं - भाग 2 - सॉफ्टवेयर: 5 चरण (चित्रों के साथ)
वीडियो: कैसे मैंने इस इलेक्ट्रिक कार को बनाया जो कहीं भी जा सकती है 2024, जून
Anonim
Nodemcu पर रीड स्विच, हॉल इफेक्ट सेंसर और कुछ स्क्रैप का उपयोग करके अपना खुद का एनीमोमीटर कैसे बनाएं - भाग 2 - सॉफ्टवेयर
Nodemcu पर रीड स्विच, हॉल इफेक्ट सेंसर और कुछ स्क्रैप का उपयोग करके अपना खुद का एनीमोमीटर कैसे बनाएं - भाग 2 - सॉफ्टवेयर
Nodemcu पर रीड स्विच, हॉल इफेक्ट सेंसर और कुछ स्क्रैप का उपयोग करके अपना खुद का एनीमोमीटर कैसे बनाएं - भाग 2 - सॉफ्टवेयर
Nodemcu पर रीड स्विच, हॉल इफेक्ट सेंसर और कुछ स्क्रैप का उपयोग करके अपना खुद का एनीमोमीटर कैसे बनाएं - भाग 2 - सॉफ्टवेयर

परिचय

यह पहली पोस्ट "हाउ टू बिल्ड योर ओन एनीमोमीटर यूज़ रीड स्विचेस, हॉल इफेक्ट सेंसर और कुछ स्क्रैप ऑन Nodemcu - पार्ट 1 - हार्डवेयर" की अगली कड़ी है - जहाँ मैं दिखाता हूँ कि हवा की गति और दिशा माप उपकरणों को कैसे इकट्ठा किया जाए। यहां हम Arduino IDE का उपयोग करके Nodemcu में उपयोग के लिए डिज़ाइन किए गए माप नियंत्रण सॉफ़्टवेयर का उपयोग करेंगे।

परियोजना विवरण

पिछली पोस्ट में, Nodemcu से लैस और जुड़े हुए उपकरण हवा की गति और दिशा को मापने में सक्षम हैं। नियंत्रण सॉफ्टवेयर को समय की अवधि के लिए एनीमोमीटर के रोटेशन को पढ़ने के लिए डिज़ाइन किया गया था, रैखिक वेग की गणना करें, उस दिशा को पढ़ें जिसमें फलक है, ओएलईडी में परिणाम दिखाएं, थिंगस्पीक में परिणाम प्रकाशित करें और 15 मिनट तक सोएं। अगला माप।

अस्वीकरण: इस एनीमोमीटर का उपयोग व्यावसायिक उद्देश्यों के लिए नहीं किया जाना चाहिए। यह केवल अकादमिक या घरेलू उपयोग के लिए है।

नोट: अंग्रेजी मेरी स्वाभाविक भाषा नहीं है। यदि आपको व्याकरण संबंधी त्रुटियां मिलती हैं जो आपको प्रोजेक्ट को समझने से रोकती हैं, तो कृपया मुझे उन्हें ठीक करने के लिए बताएं। बहुत - बहुत धन्यवाद।

चरण 1: Arduino IDE, ESP8266 बोर्ड और पुस्तकालय और आपका ThingSpeak खाता स्थापित करना

Arduino IDE, ESP8266 बोर्ड और पुस्तकालय और आपका ThingSpeak खाता स्थापित करना
Arduino IDE, ESP8266 बोर्ड और पुस्तकालय और आपका ThingSpeak खाता स्थापित करना
Arduino IDE, ESP8266 बोर्ड और पुस्तकालय और आपका ThingSpeak खाता स्थापित करना
Arduino IDE, ESP8266 बोर्ड और पुस्तकालय और आपका ThingSpeak खाता स्थापित करना

Arduino IDE और Nodemcu स्थापित करना

यदि आपने कभी IDE को स्थापित नहीं किया है तो Arduino कृपया लिंक में ट्यूटोरियल पढ़ें - Arduino IDE कैसे स्थापित करें - जहां आप पूर्ण निर्देश पा सकते हैं।

अगला कदम, Nodemcu बोर्ड को स्थापित करने के लिए, इस ट्यूटोरियल का उपयोग मगेश जयकुमार इंस्ट्रक्शंस से करें जो बहुत पूर्ण है। Nodemcu no Arduino IDE कैसे स्थापित करें

पुस्तकालय स्थापित करना

अगले चरण में आपको उन पुस्तकालयों को स्थापित करना होगा जिनका स्केच उपयोग करता है। वे आम हैं और आप नीचे दिखाए गए चरणों का पालन कर सकते हैं।

थिंगस्पीक लाइब्रेरी -

ESP8266 लाइब्रेरी -

थिंगस्पीक अकाउंट बनाना

थिंगस्पीक (https://thingspeak.com/) का उपयोग करने के लिए आपको एक खाता बनाना होगा (यह अभी भी एक निश्चित संख्या में बातचीत के लिए मुफ़्त है) जहाँ आप अपने एनीमोमीटर में मापा गया डेटा सहेज सकते हैं और अपने घर में हवा की स्थिति की निगरानी कर सकते हैं, सेलफोन के जरिए भी। थिंगस्पीक का उपयोग करके, आप अपने एकत्र किए गए डेटा तक जनता को रुचि रखने वाले किसी भी व्यक्ति तक पहुंच प्रदान कर सकते हैं। यह थिंगस्पीक का एक अच्छा फायदा है। होमपेज दर्ज करें और अपना खाता बनाने के लिए चरणों का पालन करें।

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

चरण 2: स्केच की खोज

स्केच की खोज
स्केच की खोज
स्केच की खोज
स्केच की खोज

फ़्लोचार्ट

आरेख में, आप स्केच के फ्लक्सोग्राम को समझ सकते हैं। जब आप Nodemcu को जगाते हैं (लिंक) करते हैं, तो यह आपके वाई-फाई नेटवर्क से जुड़ जाएगा, जिसके पैरामीटर आपने कॉन्फ़िगर किए हैं और माप करने के लिए 1 मिनट का समय गिनना शुरू कर देंगे। सबसे पहले, यह 25 सेकंड के लिए एनीमोमीटर रोटेशन की गणना करेगा, गणना करें रैखिक वेग और हवा की दिशा पढ़ें। परिणाम OLED पर दिखाए जाते हैं। फिर से वही चरण करें और इस दूसरी रीडिंग के लिए, यह थिंगस्पीक पर प्रसारित होगा।

फिर बैटरी बचाने के लिए Nodemcu 15 मिनट तक सोता है। चूंकि मैं एक छोटे सौर पैनल का उपयोग कर रहा हूं, इसलिए यह अनिवार्य है कि मैं ऐसा करूं। यदि आप 5V स्रोत का उपयोग कर रहे हैं तो आप प्रोग्राम को संशोधित कर सकते हैं ताकि वह सोए नहीं और डेटा को मापता रहे।

कार्यक्रमों की संरचना

आरेख में, आप स्केच की संरचना देख सकते हैं।

एनीमोमीटर_इंस्ट्रक्शंस

यह मुख्य कार्यक्रम है जो पुस्तकालयों को लोड करता है, चर शुरू करता है, अटैच इंटरप्ट को नियंत्रित करता है, सभी कार्यों को कॉल करता है, हवा की गति की गणना करता है, इसकी दिशा निर्धारित करता है और इसे सोता है।

संचार

वाईफाई कनेक्ट करें और डेटा को थिंगस्पीक पर भेजें।

क्रेडेंशियल.एच

ThingSpeak में आपके WiFi नेटवर्क की कुंजियाँ और आपके खाते के पहचानकर्ता। यह वह जगह है जहां आप अपनी कुंजी आईडी और एपीआई बदलेंगे।

परिभाषित करता है

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

कार्यों

इसमें पैरामीटर को संयोजित करने और मल्टीप्लेक्सर को पढ़ने के साथ-साथ एनीमोमीटर के रोटेशन को पढ़ने के लिए फ़ंक्शन शामिल हैं।

ओलेडडिस्प्ले

हवा की गति और दिशा के ऑन-स्क्रीन परिणाम दिखाएं।

चरण 3: के बारे में स्पष्टीकरण …

स्पष्टीकरण के बारे में…
स्पष्टीकरण के बारे में…
स्पष्टीकरण के बारे में…
स्पष्टीकरण के बारे में…
स्पष्टीकरण के बारे में…
स्पष्टीकरण के बारे में…
स्पष्टीकरण के बारे में…
स्पष्टीकरण के बारे में…

इंटरप्ट संलग्न करें

एनीमोमीटर के रोटेशन को Nodemcu के GPIO 12 (पिन D6) में फंक्शन अटैचइंटरप्ट () (और डिटैचइंटरप्ट ()) द्वारा मापा जाता है (इसकी D0-D8 पिन पर इंटरप्ट फीचर है)।

व्यवधान ऐसी घटनाएं या स्थितियां हैं जिनके कारण माइक्रोकंट्रोलर उस कार्य के निष्पादन को रोक देता है जो वह कर रहा है, एक अलग कार्य में अस्थायी रूप से काम करता है और प्रारंभिक कार्य पर वापस आ जाता है।

आप Arduino के ट्यूटोरियल के लिंक में फ़ंक्शन का विवरण पढ़ सकते हैं। अटैचइंटरप्ट () देखें।

सिंटैक्स: अटैचइंटरप्ट (पिन, कॉलबैक फ़ंक्शन, इंटरप्ट टाइप / मोड);

पिन = D6

कॉलबैक फ़ंक्शन = rpm_anemometer - प्रत्येक पल्स को एक चर पर गिनता है।

इंटरप्ट टाइप/मोड = राइजिंग - पिन के निम्न से उच्च पर जाने पर इंटरप्ट।

हॉल सेंसर में मैग्नेटो द्वारा उत्पादित प्रत्येक पल्स पर, पिन निम्न से उच्च की ओर जाता है और काउंटिंग फ़ंक्शन सक्रिय होता है और स्थापित 25 सेकंड के दौरान एक चर में पल्स को सारांशित करता है। एक बार समय समाप्त हो जाने पर, काउंटर डिस्कनेक्ट हो जाता है (डिटैचइंटरप्ट ()) और रूटीन डिस्कनेक्ट होने पर गति की गणना करता है।

हवा की गति की गणना

एक बार यह निर्धारित कर लेने के बाद कि एनीमोमीटर 25 सेकंड में कितने चक्कर लगाता है, हम गति की गणना करते हैं।

  • रेडियो एनीमोमीटर के केंद्र अक्ष से पिंग पोंग बॉल की नोक तक की माप है। आपने अपना माप बहुत अच्छी तरह से मापा होगा - (देखें कि आरेख में जो 10 सेमी कहता है)।
  • RPS (घूर्णन प्रति सेकंड) = घुमाव / 25 सेकंड
  • आरपीएम (घूर्णन प्रति मिनट) = आरपीएस * 60
  • OMEGA (कोणीय वेग - रेडियन प्रति सेकंड) = 2 * PI * RPS
  • Linear_Velocity (मीटर प्रति सेकंड) = OMEGA * RADIO
  • Linear_Velocity_kmh (किमी प्रति घंटा) = 3.6 * Linear_Velocity और यह वही है जो ThingSpeak को भेजा जाएगा।

पवन फलक दिशा पढ़ें

हवा की दिशा निर्धारित करने के लिए विंड वेन की स्थिति को पढ़ने के लिए प्रोग्राम मल्टीप्लेक्सर को पैरामीटर ए, बी, सी (मक्सएबीसी मैट्रिक्स) के सभी संयोजनों के साथ निम्न और उच्च सिग्नल भेजता है और पिन ए0 पर परिणाम प्राप्त करने की प्रतीक्षा करता है यह 0 और 3.3V के बीच कोई भी वोल्टेज हो सकता है। संयोजन आरेख में दिखाए गए हैं।

उदाहरण के लिए, जब C = 0 (निम्न), B = 0 (निम्न), A = 0 (निम्न) बहुसंकेतक इसे पिन 0 का डेटा देता है और A0 को संकेत भेजता है जिसे Nodemcu द्वारा पढ़ा जाता है; यदि C = 0 (निम्न), B = 0 (निम्न), A = 1 (उच्च) तो मल्टीप्लेक्सर आपको पिन 1 आदि का डेटा तब तक भेजेगा, जब तक कि 8 चैनलों की रीडिंग पूरी नहीं हो जाती।

जैसा कि सिग्नल एनालॉग है, प्रोग्राम डिजिटल (0 या 1) में बदल जाता है, अगर वोल्टेज 1.3V से कम या बराबर है तो सिग्नल 0 है; यदि यह 1.3V से अधिक है तो सिग्नल 1 है। 1.3V मान मनमाना है और मेरे लिए, इसने बहुत अच्छा काम किया। करंट का हमेशा छोटा रिसाव होता है और यह सुरक्षा करता है कि कोई झूठी सकारात्मकता नहीं है।

यह डेटा एक वेक्टर वैल [8] में संग्रहीत किया जाता है जिसकी तुलना पता सरणी के साथ कंपास के रूप में की जाएगी। आरेख में मैट्रिक्स देखें। उदाहरण के लिए, यदि प्राप्त वेक्टर [0, 0, 1, 0, 0, 0, 0, 0, 0] है, तो यह मैट्रिक्स में दिशा E को इंगित करता है और 90 डिग्री के कोण से मेल खाता है; अगर [0, 0, 0, 0, 0, 0, 1, 1] मैट्रिक्स में WNW पता इंगित करता है और 292.5 डिग्री के कोण से मेल खाता है। एन [१, ०, ०, ०, ०, ०, ०, ०, ०] और ० डिग्री के कोण से मेल खाता है।

थिंगस्पीक को जो भेजा जाएगा वह कोण पर है क्योंकि यह केवल संख्याओं को स्वीकार करता है।

चरण 4: संचार

संचार
संचार
संचार
संचार

थिंगस्पीक को डेटा कैसे भेजें

डेटा भेजने के लिए फ़ंक्शन चीज़ेंपीकसेंडडेटा () जिम्मेदार है।

ThingSpeak.setField (1, फ्लोट (linear_velocity_kmh)) - मेरे चैनल के फ़ील्ड 1 को वेग डेटा भेजें

ThingSpeak.setField (2, फ्लोट (wind_Direction_Angle)) - मेरे चैनल के फ़ील्ड 2 पर पता डेटा भेजें

ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - मेरे चैनल myChannelNumber को भेजें, जिसमें TS द्वारा इंगित myWriteAPIKey API लिखा हो। यह डेटा TS द्वारा आपका खाता और चैनल बनाते समय जनरेट किया गया था।

ऊपर की तस्वीरों में आप देख सकते हैं कि थिंगस्पीक प्राप्त डेटा को कैसे दिखाता है।

इस लिंक में आप मेरे प्रोजेक्ट के डेटा को थिंगस्पीक के सार्वजनिक चैनल में एक्सेस कर सकते हैं।

चरण 5: मुख्य चर

पवन फलक पैरामीटर

  • MUX_A D5 - mux pi A से Nodemcu पिन D5
  • MUX_B D4 - mux पिन B से Nodemcu पिन D4
  • MUX_C D3 - mux पिन C से Nodemcu पिन D3
  • रीडपिन 0 - NodeMcu = A0. पर एनालॉग इनपुट
  • NO_PINS 8 - mux पिन की संख्या
  • वैल [NO_PINS] - mux के पोर्ट 0 से 7 तक
  • wind_Direction_Angle - हवा की दिशा का कोण
  • स्ट्रिंग विंडरोज़ [16] = {"एन", "एनएनई", "एनई", "ईएनई", "ई", "ईएसई", "एसई", "एसएसई", "एस", "एसएसडब्ल्यू", "एसडब्ल्यू", "WSW", "W", "WNW", "NW", "NNW"} - कार्डेनल्स, कोलैटरल और उप-संपार्श्विक
  • WindAng[16] = {0, 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180, 202.5, 225, 247.5, 270, 292.5, 315, 337.5} - प्रत्येक दिशा के कोण
  • अंक [16] [NO_PINS] - दिशा मैट्रिक्स
  • muxABC[8] [3] - ABC mux संयोजन

एनीमोमीटर पैरामीटर

  • rpmcount - गिनें कि आवंटित समय में एनीमोमीटर ने कितने पूर्ण घुमाव किए हैं
  • समय माप = २५.०० - माप अवधि सेकंड में समय
  • सोने का समय = १ - Nodemcu जागने का समय मिनटों में
  • नींद का समय = १५ - मिनटों में सोते रहने का समय
  • आरपीएम, आरपीएस - रोटेशन फ्रीक्वेंसी (प्रति मिनट रोटेशन, प्रति सेकंड रोटेशन)
  • त्रिज्या - मीटर - एनीमोमीटर विंग की लंबाई का माप
  • रेखीय वेग - रैखिक वेग m/seg. में
  • रैखिक_वेग_किमी - किमी/घं में रैखिक वेग
  • ओमेगा - रेडियल वेग रेड/सेग. में

नीचे आप पूरा स्केच पा सकते हैं। अपने कंप्यूटर के Arduino फोल्डर पर मुख्य प्रोग्राम (Anemometer_Instructables) के नाम से एक नया फोल्डर बनाएं और उन सभी को एक साथ रखें।

अपने वाईफाई नेटवर्क का डेटा और थिंगस्पीक आईडी और एपीआई राइटर की को Credentials.h भाग में दर्ज करें और सहेजें। Nodemcu पर अपलोड करें और बस इतना ही।

सिस्टम के संचालन का परीक्षण करने के लिए मैं एक अच्छे घूमने वाले पंखे की सलाह देता हूं।

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

अपनी खाता सेटिंग कॉन्फ़िगर करें और आप जहां कहीं भी हों, आप अपने घर की हवा की स्थिति देखने के लिए तैयार होंगे।

यदि आप रुचि रखते हैं, तो मेरे थिंगस्पीक चैनल आईडी चैनल: 438851 तक पहुंचें, जो सार्वजनिक है और वहां आपको मेरे घर में हवा और दिशा का माप मिलेगा।

मुझे सच में उम्मीद है कि आपको मज़ा आया होगा।

यदि आपको कोई संदेह है तो मुझसे संपर्क करने में संकोच न करें।

सादर

सिफारिश की: