विषयसूची:

Arduino भाग 2 में आसान बहुत कम पावर बीएलई - तापमान/आर्द्रता मॉनिटर - रेव 3: 7 चरण
Arduino भाग 2 में आसान बहुत कम पावर बीएलई - तापमान/आर्द्रता मॉनिटर - रेव 3: 7 चरण

वीडियो: Arduino भाग 2 में आसान बहुत कम पावर बीएलई - तापमान/आर्द्रता मॉनिटर - रेव 3: 7 चरण

वीडियो: Arduino भाग 2 में आसान बहुत कम पावर बीएलई - तापमान/आर्द्रता मॉनिटर - रेव 3: 7 चरण
वीडियो: अरुडिनो मास्टरक्लास | 90 मिनट में पूर्ण प्रोग्रामिंग कार्यशाला! 2024, नवंबर
Anonim
Arduino भाग 2 में आसान बहुत कम पावर बीएलई - तापमान/आर्द्रता मॉनिटर - रेव 3
Arduino भाग 2 में आसान बहुत कम पावर बीएलई - तापमान/आर्द्रता मॉनिटर - रेव 3
Arduino भाग 2 में आसान बहुत कम पावर BLE - तापमान/आर्द्रता मॉनिटर - Rev 3
Arduino भाग 2 में आसान बहुत कम पावर BLE - तापमान/आर्द्रता मॉनिटर - Rev 3
Arduino भाग 2 में आसान बहुत कम पावर BLE - तापमान/आर्द्रता मॉनिटर - Rev 3
Arduino भाग 2 में आसान बहुत कम पावर BLE - तापमान/आर्द्रता मॉनिटर - Rev 3

अपडेट: २३ नवंबर २०२० - १५ जनवरी २०१९ से २ x एएए बैटरियों का पहला प्रतिस्थापन यानी २xएएए अल्कलाइन के लिए २२ महीने अपडेट: ७ अप्रैल २०१९ - एलपी_बीएलई_टेम्पह्यूमिडिटी का रेव ३, pfodApp V3.0.362+ का उपयोग करके दिनांक/समय प्लॉट जोड़ता है, और भेजते समय ऑटो थ्रॉटलिंग आंकड़े

अपडेट: 24 मार्च 2019 - lp_BLE_TempHumidity का रेव 2, अधिक प्लॉट विकल्प और i2c_ClearBus जोड़ता है

यह निर्देश योग्य, एक बहुत कम बिजली तापमान आर्द्रता मॉनिटर, 3 का भाग 2 है।

भाग 1 - बहुत कम शक्ति वाले BLE उपकरणों का निर्माण Arduino कवर के साथ आसान बनाया गया, Arduino को nRF52 कम बिजली वाले उपकरणों, प्रोग्रामिंग मॉड्यूल को कोड करने और आपूर्ति वर्तमान को मापने के लिए सेट किया गया। यह विशेष कम पावर टाइमर और तुलनित्र और विवादित इनपुट को भी कवर करता है और nRF52 डिवाइस से कनेक्ट और नियंत्रित करने के लिए pfodApp का उपयोग करता है।

भाग 2 - एक बहुत कम बिजली तापमान आर्द्रता मॉनिटर, यह एक कम बिजली की बैटरी / सौर मॉनिटर बनाने के लिए रेडबियर नैनो वी 2 मॉड्यूल और एक सी 7021 तापमान / आर्द्रता सेंसर का उपयोग करके कवर करता है। इसमें कम पावर होने के लिए Si7021 लाइब्रेरी को संशोधित करना, BLE डिवाइस को इसकी वर्तमान खपत <25uA को कम करने के लिए ट्यून करना और आपके मोबाइल के लिए एक कस्टम तापमान/आर्द्रता डिस्प्ले डिज़ाइन करना शामिल है।

भाग 3 - एक रेडबियर नैनो V2 रिप्लेसमेंट नैनो V2 के बजाय अन्य nRF52 आधारित मॉड्यूल का उपयोग करके कवर करता है। इसमें आपूर्ति घटकों का चयन, निर्माण, nRF52 चिप प्रोग्रामिंग सुरक्षा को हटाना, NFC पिन को सामान्य GPIO के रूप में उपयोग करना और Arduino में एक नए nRF52 बोर्ड को परिभाषित करना शामिल है।

यह निर्देशयोग्य भाग 1 बिल्डिंग वेरी लो पावर BLE डिवाइसेस का एक व्यावहारिक अनुप्रयोग है जिसे Arduino के साथ बहुत कम पावर BLE तापमान और आर्द्रता मॉनिटर का निर्माण करके आसान बनाया गया है। मॉनिटर कॉइन सेल या 2 x AAA बैटरी पर सालों तक चलेगा, यहां तक कि सोलर असिस्ट के साथ भी। इस ट्यूटोरियल में कम बिजली की खपत के लिए बीएलई मापदंडों को ट्यून करना और बैटरी या बैटरी + सौर या सौर से आपको डिवाइस को कैसे बिजली देना है।

वर्तमान तापमान और आर्द्रता को प्रदर्शित करने के साथ-साथ, मॉनिटर पिछले 36 घंटे की 10 मिनट की रीडिंग और पिछले 10 दिनों की घंटे की रीडिंग को स्टोर करता है। इन्हें आपके एंड्रॉइड मोबाइल और लॉग फ़ाइल में सहेजे गए मानों पर चार्ट किया जा सकता है। कोई Android प्रोग्रामिंग की आवश्यकता नहीं है, pfodApp वह सब संभालता है। एंड्रॉइड डिस्प्ले और चार्टिंग पूरी तरह से आपके Arduino स्केच द्वारा नियंत्रित किया जाता है ताकि आप इसे आवश्यकतानुसार अनुकूलित कर सकें।

एक Redbear नैनो V2 बोर्ड का उपयोग nRF52832 BLE घटक के लिए किया जाता है और एक Sparkfun Si7021 ब्रेकआउट बोर्ड का उपयोग तापमान / आर्द्रता सेंसर के लिए किया जाता है। एक संशोधित कम शक्ति पुस्तकालय का उपयोग Si7021 के साथ किया जाता है। NanoV2 और आपूर्ति घटकों को रखने के लिए एक छोटा PCB डिज़ाइन किया गया था। हालाँकि, चूंकि सतह पर लगे किसी भी घटक का उपयोग नहीं किया जाता है, आप इसे आसानी से वेरो बोर्ड पर बना सकते हैं। तीन बिजली आपूर्ति संस्करण शामिल हैं। i) बैटरी प्लस सोलर असिस्ट, ii) केवल बैटरी, iii) केवल सोलर। सोलर ओनली ऑप्शन में कोई बैटरी स्टोरेज नहीं है और इसलिए यह तभी चलेगा जब कुछ रोशनी हो। एक उज्ज्वल कमरे की रोशनी या डेस्क लैंप पर्याप्त है।

रेखांकित करें

इस परियोजना के 4 सापेक्ष स्वतंत्र भाग हैं:-

  1. घटक चयन और निर्माण
  2. कोड - लो पावर सेंसर लाइब्रेरी, यूजर इंटरफेस और Arduino Sketch
  3. मापने की आपूर्ति वर्तमान और बैटरी जीवन
  4. आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली

चरण 1: घटक चयन

घटक चयन

जैसा कि भाग 1 में उल्लेख किया गया है - वास्तव में कम बिजली समाधान प्राप्त करने की चाल ज्यादातर समय कुछ भी नहीं करना है, इनपुट पर बाहरी पुल-अप/पुल-डाउन प्रतिरोधों के माध्यम से वर्तमान को कम करना और कोई अतिरिक्त घटक नहीं है। यह परियोजना कम बिजली समाधान प्राप्त करने के लिए उनमें से प्रत्येक चाल का उपयोग करेगी।

एनआरएफ५२८३२ घटक

nRF52832 चिप 1.7V और 3.6V (पूर्ण अधिकतम वोल्टेज 3.9V) के बीच बिजली की आपूर्ति के साथ चल सकता है। इसका मतलब है कि आप चिप को सीधे कॉइन सेल या 2 x AAA बैटरी से पावर दे सकते हैं। हालाँकि, चिप को अधिक वोल्ट से बचाने के लिए वोल्टेज रेगुलेटर जोड़ना समझदारी है। यह अतिरिक्त घटक बिजली की लागत के साथ आता है, लेकिन NanoV2 बोर्ड के मामले में ऑन-बोर्ड नियामक, TLV704, 5.5uA अधिकतम से कम खपत करता है, आमतौर पर केवल 3.4uA। इस छोटे से अतिरिक्त बिजली के उपयोग के लिए आपको 24V आपूर्ति इनपुट के लिए सुरक्षा मिलती है।

Si7021 घटक

माप न लेने पर, यानी स्टैंडबाय में, और I2C के माध्यम से डेटा संचारित करते समय 4mA तक Si7021 सेंसर स्वयं आमतौर पर <1uA खींचता है। चूंकि हम लगातार माप नहीं लेते हैं, इसलिए 4mA औसत आपूर्ति धारा का महत्वपूर्ण हिस्सा नहीं है। बहुत 30 सेकंड में रीडिंग लेना औसत आपूर्ति धारा में 1uA से कम जोड़ता है, नीचे आपूर्ति वर्तमान माप देखें।

दो आसानी से उपलब्ध Si7021 ब्रेकआउट बोर्ड हैं। एक एडफ्रूट से और एक स्पार्कफुन से। दो बोर्डों पर एक त्वरित नज़र आपको बताएगी कि एडफ्रूट बोर्ड में स्पार्कफुन बोर्ड की तुलना में कई और घटक हैं, इसलिए आप स्पार्कफुन बोर्ड को चुनने के इच्छुक होंगे। प्रत्येक बोर्ड के लिए स्कीमैटिक्स को देखने से पता चलता है कि स्पार्कफुन बोर्ड सिर्फ नंगे सेंसर और दो 4k7 पुलअप रेजिसोटर हैं, जबकि एडफ्रूट बोर्ड में एक ऑन-बोर्ड, एमआईसी 5225, नियामक है जो आम तौर पर हर समय 29uA खींचता है। यह महत्वपूर्ण है जब शेष सर्किट के लिए ओवर ऑल करंट <30uA है। चूंकि हमारे पास पहले से ही nRF52832 चिप के लिए एक नियामक है, इसलिए इस अतिरिक्त घटक की आवश्यकता नहीं है और Si7021 को उस 3.3V आपूर्ति से संचालित किया जा सकता है। तो यह प्रोजेक्ट स्पार्कफुन से Si7021 ब्रेकआउट बोर्ड का उपयोग करेगा।

इनपुट पर बाहरी पुल-अप/पुल-डाउन प्रतिरोधों के माध्यम से करंट को कम करें

4K7 I2C पुलअप प्रतिरोधक विशेष रूप से उच्च मूल्य के नहीं हैं और कम खींचे जाने पर 0.7mA खींचेंगे। यह एक समस्या होगी यदि वे एक स्विच इनपुट पर हैं जो लंबे समय तक जमी हुई थी। हालाँकि इस परियोजना में इन प्रतिरोधों के माध्यम से करंट को केवल I2C इंटरफ़ेस का बार-बार और केवल थोड़े समय के लिए उपयोग करके कम से कम किया जाता है। अधिकांश समय I2C लाइनें उपयोग में नहीं होती हैं और उच्च / त्रि-राज्य होती हैं इसलिए इन प्रतिरोधों से कोई करंट प्रवाहित नहीं होता है।

चरण 2: निर्माण

निर्माण
निर्माण
निर्माण
निर्माण
निर्माण
निर्माण

परियोजना का निर्माण एक छोटे पीसीबी पर किया गया है, लेकिन चूंकि कोई एसएमडी घटक नहीं हैं, इसलिए इसे वेरो बोर्ड का उपयोग करके आसानी से बनाया जा सकता है। पीसीबी का निर्माण pcbcart.com द्वारा इन Gerber फाइलों से किया गया था, TempHumiditySensor_R1.zip पीसीबी सामान्य उद्देश्य है जो अन्य बीएलई परियोजनाओं के लिए उपयोग किया जा सकता है।

योजनाबद्ध ऊपर दिखाया गया है। यहाँ एक पीडीएफ संस्करण है।

हिस्सों की सूची

दिसंबर 2018 में प्रति यूनिट अनुमानित लागत, ~ US$62, भाग 1 से शिपिंग और प्रोग्रामर को छोड़कर

  • Redbear NanoV2 ~ US$17
  • स्पार्कफुन Si7021 ब्रेकआउट बोर्ड ~ US$8
  • 2 x 53 मिमी x 30 मिमी 0.15W 5V सौर सेल उदा। ओवरफ्लाई ~US$1.10
  • 1 x PCB TempHumiditySensor_R1.zip ~ US$25 के लिए 5 छूट www.pcbcart.com या वेरो बोर्ड (स्ट्रिप कॉपर) उदा। Jaycar HP9540 ~AUD$5
  • 2 x 1N5819 स्कूटी डायोड उदा. डिजिके 1N5819FSCT-ND ~US$1
  • 1 x 470R 0.4W 1% रोकनेवाला उदा। डिजिके BC3274CT-ND ~US$0.25
  • 6 x 6 पिन पुरुष हैडर पिन उदा. स्पार्कफुन PRT-00116 ~ US$1.5
  • महिला से महिला जम्पर उदा. एडफ्रूट आईडी: १९५० ~यूएस$२
  • 3 मिमी x 12 मिमी नायलॉन स्क्रू, उदा। Jaycar HP0140 ~ AUD$3
  • 3 मिमी x 12 मिमी नायलॉन नट, उदा। Jaycar HP0146 ~ AUD$3
  • स्कॉच परमानेंट माउंटिंग टेप कैट 4010 उदा. अमेज़न से ~ US$6.6
  • AAA x 2 बैटरी होल्डर, उदा. स्पार्कफुन पीआरटी-14219 ~US$1.5
  • 2 x AAA 750mA क्षारीय बैटरी, उदा. Sparkfun PRT-09274 ~US$1.0 ये बैटरियां>2yrs तक चलनी चाहिए। Energizer क्षारीय बैटरियों की क्षमता अधिक होती है
  • प्लास्टिक बॉक्स (एबीएस) 83 मिमी x 54 मिमी x 31 मिमी, उदा। जयकार HB6005 ~ AUD$3
  • pfodApp ~US$10
  • 1 x 22uF 63V कम ESR संधारित्र (वैकल्पिक) उदा। Jaycar RE-6342 ~AUD$0.5 या Digikey P5190-ND ~US$0.25

निर्माण सीधे आगे है। बैटरी धारक और सौर सेल भारी शुल्क वाले दो तरफा टेप के साथ प्लास्टिक बॉक्स में सुरक्षित हैं।

समाप्त भाग में CLK से GND तक Gnd लिंक वायर को नोट करें। यह CLK इनपुट पर शोर को nRF52 चिप को उच्च वर्तमान डिबग मोड में ट्रिगर करने से रोकने के लिए प्रोग्रामिंग के बाद स्थापित किया गया है।

चरण 3: कोड - लो पावर सेंसर लाइब्रेरी, यूजर इंटरफेस और Arduino Sketch

कोड - लो पावर सेंसर लाइब्रेरी, यूजर इंटरफेस और Arduino Sketch
कोड - लो पावर सेंसर लाइब्रेरी, यूजर इंटरफेस और Arduino Sketch
कोड - लो पावर सेंसर लाइब्रेरी, यूजर इंटरफेस और Arduino Sketch
कोड - लो पावर सेंसर लाइब्रेरी, यूजर इंटरफेस और Arduino Sketch
कोड - लो पावर सेंसर लाइब्रेरी, यूजर इंटरफेस और Arduino Sketch
कोड - लो पावर सेंसर लाइब्रेरी, यूजर इंटरफेस और Arduino Sketch

ज़िप कोड डाउनलोड करें, lp_BLE_TempHumidity_R3.zip, और इसे अपनी Arduino Sketch निर्देशिका में अनज़िप करें। आपको इस ज़िप फ़ाइल से lp_So7021 लाइब्रेरी को भी इंस्टॉल करना होगा और pfodParser लाइब्रेरी को भी इंस्टॉल करना होगा।

लो पावर सेंसर लाइब्रेरी, lp_Si7021

Adafruit और Sparkfun दोनों Si7021 सेंसर तक पहुंचने के लिए समर्थन पुस्तकालय प्रदान करते हैं, हालांकि वे दोनों पुस्तकालय बहुत कम बिजली के उपयोग के लिए अनुपयुक्त हैं। दोनों सेंसर को मापते समय पढ़ने में देरी करने के लिए कोड में देरी (25) का उपयोग करते हैं। जैसा कि भाग 1 में बताया गया है, देरी बुराई है। Arduino देरी () केवल माइक्रो-प्रोसेसर को बिजली का उपयोग करके चालू रखता है, जबकि यह समय समाप्त होने की प्रतीक्षा करता है। यह कम शक्ति बीएलई का पहला नियम तोड़ता है, ज्यादातर समय कुछ न करें। प्रतिस्थापन lp_Si7021 पुस्तकालय, lp_timers के साथ सभी देरी को प्रतिस्थापित करता है जो सेंसर के माप को समाप्त करने की प्रतीक्षा करते समय माइक्रो-प्रोसेसर को सोता है।

Lp_Si7021 लाइब्रेरी से कितना फर्क पड़ता है? मूल SparkFun Si7021 सपोर्ट लाइब्रेरी का उपयोग करना और बिना किसी सीरियल प्रिंट के एक सेकंड में एक रीडिंग लेना, ~ 1.2mA औसत प्राप्त करता है। स्पार्कफुन लाइब्रेरी को lp_Si7021 लाइब्रेरी से बदलने से औसत करंट ~10uA तक कम हो जाता है, यानी 100 गुना कम। इस परियोजना में सबसे तेज माप दर हर 30 सेकंड में एक बार होती है जब मोबाइल जुड़ा होता है, जिसके परिणामस्वरूप औसत सेंसर करंट 1uA से कम होता है। जब कोई बीएलई कनेक्शन नहीं होता है तो माप दर हर 10 मिनट में एक बार होती है और औसत सेंसर आपूर्ति वर्तमान नगण्य होती है।

प्रयोक्ता इंटरफ़ेस

ऊपर मुख्य स्क्रीन डिस्प्ले और १० दिन के घंटे के इतिहास का ज़ूम किया हुआ दृश्य है। भूखंडों को दो अंगुलियों का उपयोग करके दोनों दिशाओं में ज़ूम और पैन किया जा सकता है।

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

नोट: कोई नहीं अगर यह डिस्प्ले pfodApp में बनाया गया है। संपूर्ण प्रदर्शन पूरी तरह से आपके Arduino स्केच में कोड द्वारा नियंत्रित होता है।

lp_BLE_TempHumidity_R3.ino स्केच में SendDrawing_z () विधि उपयोगकर्ता इंटरफ़ेस को परिभाषित करती है।

शून्य sendDrawing_z () { dwgs.start (५०, ६०, dwgs. WHITE); // बैकग्राउंड डिफॉल्ट टू व्हाइट अगर छोड़ा गया यानी स्टार्ट (५०, ६०); parser.sendRefreshAndVersion(३००००); // हर 30 सेकंड में dwg को फिर से अनुरोध करें। यदि कोई पार्सर संस्करण सेट नहीं है तो इसे अनदेखा कर दिया जाता है // प्रदर्शन अपडेट dwgs.touchZone().cmd('u').size(50, 39).send() के लिए बाध्य करने के लिए बटन के ऊपर स्पर्श करें; dwgs.pushZero(३५, २२, १.५); // शून्य को dwg के केंद्र में 35, 22 पर ले जाएं और 1.5 गुना rhGauge.draw() द्वारा स्केल करें; // नियंत्रण आकर्षित करें dwgs.popZero (); dwgs.pushZero(१८, ३३); // शून्य को dwg के केंद्र में 18 पर ले जाएं, 33 पैमाना 1 (डिफ़ॉल्ट) थर्मामीटर है। ड्रा (); // नियंत्रण आकर्षित करें dwgs.popZero ();

dwgs.pushZero(12.5, 43, 0.7); // शून्य को dwg के केंद्र में 12.5, 43 पर ले जाएं और 0.7. से स्केल करें

hrs8PlotButton.draw (); // नियंत्रण आकर्षित करें dwgs.popZero (); dwgs.pushZero(३७.५, ४३, ०.७); // शून्य को dwg के केंद्र में ३७.५, ४३ पर ले जाएँ और ०.७ दिनों तक स्केल करें१प्लॉटबटन.ड्रा (); // नियंत्रण आकर्षित करें dwgs.popZero ();

dwgs.pushZero(12.5, 54, 0.7); // शून्य को dwg के केंद्र में 12.5, 54 और स्केल को 0.7. पर ले जाएं

दिन3प्लॉटबटन.ड्रा (); // नियंत्रण dwgs.popZero (); ड्रा करें; dwgs.pushZero(३७.५, ५४, ०.७); // शून्य को dwg के केंद्र में ३७.५, ५४ पर ले जाएं और ०.७ दिनों तक स्केल करें10PlotButton.draw(); // नियंत्रण dwgs.popZero (); ड्रा करें; dwgs.end (); }

pushZero कमांड अगले घटक को खींचने के लिए मूल और स्केलिंग को बदल देता है। इससे आप बटनों और गेजों के आकार और स्थिति को आसानी से बदल सकते हैं।

पहले कनेक्शन पर प्रारंभिक डिस्प्ले ~800 बाइट्स को डाउन लोड करने में 5 या 6 सेकंड लेता है जो डिस्प्ले को परिभाषित करता है। pfodApp डिस्प्ले को कैश करता है इसलिए भविष्य के अपडेट को केवल परिवर्तन, गेज स्थिति और रीडिंग भेजने की आवश्यकता होती है। इन अपडेट्स को डिस्प्ले को अपडेट करने के लिए 128 बाइट्स भेजने में केवल कुछ सेकंड का समय लगता है।

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

dwgs.touchZone ()। cmd ('u')। आकार (50, 39)। भेजें ();

जब आप बटनों के ऊपर स्क्रीन पर क्लिक करते हैं, तो 'u' dwg कमांड आपके स्केच पर एक नया माप और स्क्रीन अपडेट के लिए बाध्य करने के लिए भेजा जाता है। आम तौर पर कनेक्ट होने पर, अपडेट केवल हर 30 सेकंड में होता है। ड्राइंग का प्रत्येक क्लिक या रिफ्रेश एक नया मापन करता है। Arduino स्केच से pfodApp पर प्रतिक्रिया तब तक विलंबित होती है जब तक कि नया माप पूरा नहीं हो जाता (~ 25mS) ताकि अद्यतन में नवीनतम मान भेजा जा सके।

अरुडिनो स्केच

Arduino Sketch, lp_BLE_TempHumidity_R3.ino, भाग 1 में प्रयुक्त उदाहरण स्केच का एक उन्नत संस्करण है। lp_BLE_TempHumidity_R3.ino स्केच मेनू को ऊपर दिखाए गए आरेखण से बदल देता है। यह 10 मिनट और प्रति घंटा ऐतिहासिक मापों को संग्रहीत करने के लिए lp_Si7021 सेंसर समर्थन और डेटा सरणियों को भी जोड़ता है।

lp_BLE_TempHumidity_R3.ino स्केच में मुख्य जटिलता प्लॉट डेटा भेजने को संभालना है। जैसे ही मापन किया जाता है readRHResults() हैंडल परिणामों को एकत्रित करता है और उन्हें ऐतिहासिक सरणियों में सहेजता है। सरणियाँ 120 लंबी होती हैं लेकिन जब डेटा भेजा जाता है तो पहले 30 डेटा बिंदु बेहतर समय अंतराल पर होते हैं।

200 विषम प्लॉट बिंदुओं को प्रदर्शित करने के लिए भेजते समय कुछ बातों का ध्यान रखने की आवश्यकता है: -

  1. सीएसवी टेक्स्ट प्रारूप में प्रत्येक डेटा बिंदु ~ 25 बाइट लंबा है। तो 150 अंक 3750 बाइट्स डेटा है। lp_BLESerial वर्ग में १५३६ बाइट बफर है, जिसमें से १०२४ सबसे बड़े pfod संदेश के लिए पर्याप्त है। अन्य 512 बाइट्स डेटा भेजने के लिए आरक्षित हैं। एक बार जब ऐतिहासिक डेटा ने 512 बाइट्स भर दिए हैं, तो बफर में जगह होने तक आगे डेटा भेजने में देरी हो रही है।
  2. प्लॉट डेटा मुख्य डिस्प्ले अपडेट को धीमा करने से बचने के लिए, प्लॉट डेटा केवल प्लॉट स्क्रीन प्रदर्शित होने पर ही भेजा जाता है। एक बार जब उपयोगकर्ता मुख्य स्क्रीन पर वापस आ जाता है, तो प्लॉट डेटा भेजना रुक जाता है। जब उपयोगकर्ता प्लॉट को फिर से प्रदर्शित करने के लिए प्लॉट बटन पर क्लिक करता है तो प्लॉट डेटा भेजना फिर से शुरू हो जाता है।
  3. ऐतिहासिक भूखंड 0 (अब) से शुरू होते हैं और समय में पीछे जाते हैं। यदि अंतिम प्लॉट प्रदर्शित होने के बाद से कोई नया माप नहीं हुआ है, तो पहले से डाउनलोड किया गया पिछला डेटा तुरंत फिर से प्रदर्शित होता है। यदि कोई नया माप है, तो इसे पिछले प्लॉट डेटा में जोड़ा जाता है।
  4. जब मॉनिटर को पहली बार संचालित किया जाता है, तो कोई ऐतिहासिक रीडिंग नहीं होती है और 0 को अमान्य रीडिंग के रूप में सरणियों में संग्रहीत किया जाता है। जब प्लॉट प्रदर्शित होता है, तो अमान्य रीडिंग को छोड़ दिया जाता है, जिसके परिणामस्वरूप एक छोटा प्लॉट होता है।

सेल्सियस और फारेनहाइट

lp_BLE_TempHumidity_R3.ino स्केच डेटा को सेल्सियस में प्रदर्शित और प्लॉट करता है। परिणामों को फ़ारेनहाइट में बदलने के लिए. की सभी घटनाओं को बदलें

parser.print(sensor. Temp_RawToFloat(..

साथ

parser.print(sensor. CtoF(sensor. Temp_RawToFloat(…

और ऑक्टल \342\204\203 में यूनिकोड degC प्रतीक को degF प्रतीक \342\204\211 से बदलें

pfodApp आपके द्वारा मोबाइल द्वारा प्रदर्शित कोई भी यूनिकोड प्रदर्शित करेगा।

अधिक विवरण के लिए Arduino में गैर-ASCII वर्णों का उपयोग करना देखें। थर्मामीटर में MIN_C, MAX_C सेटिंग भी बदलें। अंत में अपनी इच्छानुसार प्लॉट की सीमा को समायोजित करें उदा। परिवर्तन | तापमान C~32~8~डिग्री C|

कहने के लिए

|अस्थायी एफ~९०~१४~डिग्री फ़ारेनहाइट|

चरण 4: आपूर्ति वर्तमान को मापना

आपूर्ति वर्तमान मापना
आपूर्ति वर्तमान मापना

lp_Si7021 लाइब्रेरी का उपयोग करते हुए, यहां तक कि हर 10 सेकंड में तापमान/आर्द्रता माप लेने से औसत आपूर्ति धारा में केवल ~1uA का योगदान होता है, इसलिए आपूर्ति चालू में मुख्य कारक और इसलिए बैटरी जीवन BLE विज्ञापन और कनेक्शन और डेटा ट्रांसमिशन द्वारा उपयोग किया जाने वाला करंट है।.

ऊपर दिखाए गए अनुसार भाग 1 में वर्णित प्रोग्रामर से तापमान/आर्द्रता बोर्ड कनेक्ट करें।

सौर सेल और बैटरी अनप्लग होने के साथ, विन और Gnd प्रोग्रामर के Vdd और Gnd (येलो और ग्रीन लीड) से जुड़े होते हैं और SWCLK और SWDIO प्रोग्रामर हेडर बोर्ड (ब्लू और पिंक लीड) के Clk और SIO से कनेक्ट होते हैं।

अब आप NanoV2 को प्रोग्राम कर सकते हैं और भाग 1 में बताए अनुसार सप्लाई करंट को माप सकते हैं।

इस ज़िप फ़ाइल, lp_Si7021.zip से लो पावर Si7021 लाइब्रेरी स्थापित करें और pfodParser लाइब्रेरी स्थापित करें और lp_BLE_TempHumidity_R3.zip को अपनी Arduino स्केच डायरेक्टरी में अनज़िप करें और lp_BLE_TempHumidity_R3.ino के साथ Temp/Humditiy बोर्ड को प्रोग्राम करें।

जैसा कि ऊपर उल्लेख किया गया है कि सेंसर का योगदान <1uA है, औसत, इस परियोजना में उपयोग की जाने वाली उच्चतम माप दर पर, इसलिए BLE विज्ञापन और कनेक्शन पैरामीटर बैटरी जीवन के लिए निर्धारण कारक हैं।

वर्तमान खपत को प्रभावित करने वाले बीएलई विज्ञापन और कनेक्शन पैरामीटर हैं: - टीएक्स पावर, विज्ञापन अंतराल, अधिकतम और न्यूनतम कनेक्शन अंतराल, और स्लेव लेटेंसी।

नोट: ऊपर दिए गए कनेक्शन का उपयोग करते हुए आपूर्ति में दो (2) नियामक हैं, एक विन के माध्यम से NanoV2 बोर्ड पर और प्रोग्रामर की आपूर्ति पर MAX8881। इसका मतलब है कि मापा आपूर्ति धाराएं दूसरे नियामक के कारण वास्तविक से ~ 5uA अधिक होंगी। नीचे उद्धृत मान मापी गई धाराओं को घटाकर यह अतिरिक्त 5uA है।

टीएक्स पावर

टीएक्स पावर इफेक्ट्स कनेक्ट होने पर और विज्ञापन (कनेक्टेड नहीं) दोनों के दौरान करंट की आपूर्ति करता है। यह प्रोजेक्ट अधिकतम पावर सेटिंग (+4) का उपयोग करता है और सबसे विश्वसनीय कनेक्शन के लिए सबसे अच्छी रेंज और सबसे बड़ी शोर प्रतिरक्षा प्रदान करता है। पावर सेटिंग बदलने के लिए आप lp_BLESerial setTxPower() विधि का उपयोग कर सकते हैं। बढ़ती हुई शक्ति में मान्य मान हैं, -40, -30, -20, -16, -12, -8, -4, 0 +4। setTxPower() को कॉल करने से पहले आपको lp_BLESerial start() विधि को कॉल करना होगा। Lp_BLE_TempHumidity_R3.ino स्केच देखें।

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

विज्ञापन अंतराल

किसी दिए गए Tx पावर के लिए, जब कोई कनेक्शन नहीं होता है, तो विज्ञापन अंतराल औसत वर्तमान खपत निर्धारित करता है। अनुशंसित सीमा 500 से 1000mS है। यहां 2000mS का इस्तेमाल किया गया था। समझौता यह है कि लंबे विज्ञापन अंतराल का मतलब है कि आपके मोबाइल के लिए डिवाइस ढूंढना और कनेक्शन स्थापित करना धीमा है। आंतरिक रूप से, विज्ञापन अंतराल 0.625mS के गुणकों में 20mS से 10.24sec की सीमा में सेट किए जाते हैं। lp_BLESerial setAdvertisingInterval() विधि mS को सुविधा के लिए तर्क के रूप में लेती है। +4 TxPower और 2000mS विज्ञापन अंतराल के लिए वर्तमान खपत ~18uA थी। 1000mS विज्ञापन अंतराल के लिए, यह ~29uA था। रेव 2 ने 2000mS विज्ञापन अंतराल का उपयोग किया लेकिन इसके परिणामस्वरूप धीमे कनेक्शन हुए। कनेक्शन को तेज़ बनाने के लिए Rev 3 को बदलकर 1000mS विज्ञापन अंतराल कर दिया गया है।

अधिकतम और न्यूनतम कनेक्शन अंतराल

एक बार कनेक्शन स्थापित हो जाने के बाद, कनेक्शन अंतराल यह निर्धारित करता है कि मोबाइल कितनी बार डिवाइस से संपर्क करता है। lp_BLESerial setConnectionInterval() आपको सुझाए गए अधिकतम और न्यूनतम सेट करने देता है, हालांकि मोबाइल नियंत्रित करता है कि वास्तव में कनेक्शन अंतराल क्या है। सुविधा के लिए setConnectionInterval() के तर्क mS में हैं, लेकिन आंतरिक रूप से कनेक्शन अंतराल 7.5mS से 4sec की सीमा में 1.25mS के गुणक में हैं।

डिफ़ॉल्ट सेटिंग सेटकनेक्शनइंटरवल (100, 150) यानी न्यूनतम 100mS से अधिकतम 150mS है। इन मूल्यों को बढ़ाने से कनेक्ट होने पर आपूर्ति चालू हो जाती है, लेकिन समझौता डेटा का धीमा संचरण है। स्क्रीन के प्रत्येक अपडेट में लगभग ७ BLE संदेश लगते हैं, जबकि १० मिनट के माप के पूरे ३६ घंटे में लगभग १७० BLE संदेश लगते हैं। इसलिए कनेक्शन अंतराल बढ़ने से स्क्रीन अपडेट और प्लॉट प्रदर्शित होने की गति धीमी हो जाती है।

lp_BLESerial वर्ग में १५३६ बाइट भेजने वाला बफ़र है और इस बफ़र से केवल २० बाइट्स का एक ब्लॉक भेजता है, प्रत्येक अधिकतम कनेक्शन अंतराल डेटा के साथ BLE लिंक को बाढ़ से बचाने के लिए। प्लॉट डेटा भेजते समय, स्केच केवल तब तक डेटा भेजता है जब तक कि 512 बाइट्स भेजने की प्रतीक्षा नहीं कर रहे हैं, तब तक कुछ डेटा भेजे जाने तक अधिक डेटा भेजने में देरी होती है। यह बाढ़ भेजने बफर से बचा जाता है। सेंड का यह थ्रॉटलिंग मोबाइल पर डेटा ट्रांसमिशन को विश्वसनीय बनाता है, लेकिन इसे पुट के माध्यम से अधिकतम के लिए अनुकूलित नहीं किया गया है।

इस प्रोजेक्ट में कनेक्शन अंतराल को डिफ़ॉल्ट मान के रूप में छोड़ दिया गया था।

गुलाम विलंबता

जब मोबाइल पर भेजने के लिए कोई डेटा नहीं होता है, तो डिवाइस वैकल्पिक रूप से मोबाइल से कुछ कनेक्शन संदेशों को अनदेखा कर सकता है। इससे Tx पावर की बचत होती है और करंट की आपूर्ति होती है। स्लेव लेटेंसी सेटिंग अनदेखा करने के लिए कनेक्शन संदेशों की संख्या है। डिफ़ॉल्ट 0 है। इस सेटिंग को बदलने के लिए lp_BLESerial setSlaveLatency() विधि का उपयोग किया जा सकता है।

0 की डिफॉल्ट स्लेव लेटेंसी ने ~50uA सप्लाई करंट दिया, हर 30 सेकंड में स्क्रीन अपडेट को नजरअंदाज करते हुए, लेकिन KeepAlive संदेशों को बहुत 5 सेकंड में शामिल किया। स्लेव लेटेंसी को 2 पर सेट करने से औसत कनेक्टेड सप्लाई करंट ~25uA मिलता है। 4 की स्लेव लेटेंसी सेटिंग ने ~20uA दिया। उच्च सेटिंग्स आपूर्ति चालू को कम करने के लिए नहीं लगती थीं इसलिए 4 की स्लेव लेटेंसी सेटिंग का उपयोग किया गया था।

कनेक्ट होने पर, हर 30 सेकंड में pfodApp एक डिस्प्ले अपडेट का अनुरोध करता है। यह एक सेंसर माप को बाध्य करता है और ग्राफिकल डिस्प्ले को अपडेट करने के लिए डेटा वापस भेजता है। इस अपडेट के परिणामस्वरूप प्रत्येक 30 सेकंड में 2 सेकंड के लिए अतिरिक्त ~66uA मिलता है। यह 30 सेकंड में औसतन 4.4uA है। इसे 20uA में जोड़ने पर, ~25uA. की औसत कनेक्शन आपूर्ति चालू होती है

चरण 5: कुल आपूर्ति वर्तमान और बैटरी जीवन

ऊपर दी गई सेटिंग्स का उपयोग करना, जैसा कि lp_BLE_TempHumidity_R3.ino में सेट किया गया है, कनेक्ट होने पर कुल आपूर्ति चालू और हर 30 सेकंड में डिस्प्ले को अपडेट करना, लगभग 25uA। कनेक्ट नहीं होने पर, यह लगभग 29uA होता है।

बैटरी जीवन की गणना के लिए ~29uA का निरंतर वर्तमान ड्रा माना जाता है।

विभिन्न बैटरियों में अंतर क्षमता और वोल्टेज विशेषताएँ होती हैं। यहाँ पर विचार की जाने वाली बैटरियाँ CR2032 कॉइन सेल, CR2450 (N) कॉइन सेल, 2 x AAA अल्कलाइन, 2 x AAA लिथियम और LiPo हैं।

बैटरी सारांश

अगर सोलर असिस्ट का इस्तेमाल कर रहे हैं तो इन बैटरी लाइफ़ के आंकड़ों में 50% जोड़ें (दिन में 8 घंटे की रोशनी मानकर)

नोट: 22uF LowESR कैपेसिटर (C1), ऑन बोर्ड NanoV2 22uF कैपेसिटर के अलावा, सोलर सेल करंट को स्टोर करता है और फिर इसे TX करंट पल्स के लिए सप्लाई करता है। अन्यथा बैटरी कुछ TX करंट की आपूर्ति करती है। यह अतिरिक्त 22uF LowESR बैटरी करंट में लगभग 10% जोड़ता है जब सौर सेल आपूर्ति नहीं करता है, लेकिन बैटरी के जीवन के अंत तक पहुंचने पर बढ़ती बैटरी आंतरिक प्रतिरोध की भरपाई करके बैटरी जीवन का विस्तार करता है। नीचे दिए गए माप अतिरिक्त 22uF संधारित्र के बिना लिए गए थे।

CR2032 - 235mAHr - बैटरी लाइफ 10 महीनेCR2450 (N) - 650mAHr (540mAHr) - बैटरी लाइफ 2.3 साल (2yrs)2 x AAA अल्कलाइन - 1250mAHr - बैटरी लाइफ 3.8.yrs2 x AAA लिथियम - 1200mAHr - बैटरी लाइफ 4.7 yrsLiPo रिचार्जेबल - अनुशंसित नहीं उच्च स्व-निर्वहन के कारण।

सीआर2032

इस कॉइन सेल में आमतौर पर 235mAHr (एनर्जाइज़र बैटरी), 3V का नाममात्र वोल्टेज और 2V का एक निर्दिष्ट डिस्चार्ज वोल्टेज होता है। इसका मतलब है कि 8100hrs या ~0.9yr की बैटरी लाइफ। हालांकि आंतरिक सेल प्रतिरोध बढ़ जाता है क्योंकि बैटरी जीवन के अंत तक पहुंच जाती है और इसलिए पीक टीएक्स वर्तमान दालों को प्रदान करने में सक्षम नहीं हो सकती है। इस प्रभाव को कम करने के लिए एक बड़े आपूर्ति संधारित्र का उपयोग किया जा सकता है, लेकिन 10 महीने का जीवन कहें।

सीआर2450 (एन)

इस कॉइन सेल में आमतौर पर 620mAHr (CR2450N के लिए 540mAHr), 3V का नाममात्र वोल्टेज और 2V का एक निर्दिष्ट डिस्चार्ज वोल्टेज होता है। इसका तात्पर्य 22, 400hrs या ~ 2yr 6m (CR2450N के लिए 18600hrs ~ 2yrs 2m) की बैटरी लाइफ है। हालांकि आंतरिक सेल प्रतिरोध बढ़ जाता है क्योंकि बैटरी जीवन के अंत तक पहुंच जाती है और इसलिए पीक टीएक्स वर्तमान दालों को प्रदान करने में सक्षम नहीं हो सकती है। इस प्रभाव को कम करने के लिए एक बड़े आपूर्ति संधारित्र का उपयोग किया जा सकता है, लेकिन 2yr 4m (2yr N) जीवन कहें।

नोट: CR2450N संस्करण में एक मोटा होंठ है जो CR2450N धारक में गलत स्थापना को रोकने में मदद करता है। आप CR2450 होल्डर में CR2450N और CR2450 सेल डाल सकते हैं लेकिन CR2450N होल्डर में CR2450 सेल नहीं डाल सकते।

2 एक्स एएए क्षारीय कोशिकाएं

इन बैटरियों में बहुत कम धाराओं के लिए लगभग 1250mAHr (एनर्जाइज़र बैटरी) की क्षमता होती है, 2x1.5V = 3V का नाममात्र वोल्टेज और 2x0.8V = 1.6V का एक निर्दिष्ट डिस्चार्ज वोल्टेज होता है। लेकिन यह निर्दिष्ट डिस्चार्ज वोल्टेज Si7021 सेंसर (1.9V) के ऑपरेटिंग वोल्टेज से कम है, इसलिए बैटरी का उपयोग केवल ~ 1V तक ही किया जा सकता है। यह क्षमता को लगभग 10% से 15% यानी ~1000mAHr तक कम कर देता है।

इसका मतलब है 34, 500hrs या ~4yr की बैटरी लाइफ। हालांकि आंतरिक सेल प्रतिरोध बढ़ जाता है क्योंकि बैटरी जीवन के अंत तक पहुंच जाती है और इसलिए पीक टीएक्स वर्तमान दालों को प्रदान करने में सक्षम नहीं हो सकती है। इस प्रभाव को कम करने के लिए एक बड़े आपूर्ति संधारित्र का उपयोग किया जा सकता है, लेकिन 3yr 10m जीवन कहें। नोट क्षारीय बैटरियों में प्रति वर्ष 2% से 3% का स्व-निर्वहन होता है।

2 एक्स एएए लिथियम सेल

इन बैटरियों की क्षमता लगभग 1200mAHr (एनर्जाइज़र बैटरी), 2x1.7V = 3.4V का नाममात्र वोल्टेज, कम धाराओं पर, और 2x1.4V = 2.4V का डिस्चार्ज वोल्टेज है। इसका मतलब है 41, 400hrs या 4yrs 8m की बैटरी लाइफ।

लीपो रिचार्जेबल बैटरी

ये बैटरियां फ्लैट फॉर्मेट में 100mAHr से 2000mAHr तक विभिन्न क्षमताओं में आती हैं, और इनमें 4.2V का चार्ज वोल्टेज और 2.7V का डिस्चार्ज वोल्टेज होता है। हालांकि उनके पास 2% -3%/माह (यानी 24% से 36%) का उच्च स्व-निर्वहन है और इसलिए अन्य बैटरी के रूप में इस एप्लिकेशन के लिए उपयुक्त नहीं हैं।

चरण 6: आपूर्ति के विकल्प - सोलर असिस्ट, बैटरी ओनली, सोलर ओनली

आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली
आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली
आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली
आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली
आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली
आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली
आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली
आपूर्ति के विकल्प - सोलर असिस्ट, केवल बैटरी, सोलर ओनली

बैटरी प्लस सोलर असिस्ट

ऊपर दिया गया निर्माण बैटरी प्लस सोलर असिस्ट आपूर्ति का उपयोग करता है। जब सौर पैनल बैटरी वोल्टेज से अधिक वोल्टेज उत्पन्न करते हैं, तो सौर सेल मॉनिटर को शक्ति प्रदान करेंगे, जिससे बैटरी जीवन का विस्तार होगा। आम तौर पर बैटरी जीवन को 50% तक बढ़ाया जा सकता है।

उपयोग किए गए सौर पैनल छोटे, 50 मिमी x 30 मिमी, सस्ते, ~ $ 0.50 और कम शक्ति वाले हैं। वे नाममात्र रूप से 5V पैनल हैं, लेकिन 5V उत्पन्न करने के लिए पूर्ण प्रत्यक्ष उज्ज्वल सूर्य के प्रकाश की आवश्यकता होती है। इस परियोजना में दो पैनल श्रृंखला में जुड़े हुए हैं ताकि मॉनिटर को खिड़की के पास, सीधे धूप से बाहर, बैटरी की शक्ति को बदलने के लिए पर्याप्त हो। यहां तक कि अच्छी तरह से रोशनी वाला कमरा, या एक डेस्क लैंप, सौर कोशिकाओं के लिए> 3.3V> 33uA उत्पन्न करने और बैटरी से लेने के लिए पर्याप्त है।

यह निर्धारित करने के लिए एक साधारण परीक्षण पैनल का निर्माण किया गया था कि तापमान / आर्द्रता मॉनिटर कहाँ रखा जा सकता है, धूप से बाहर और फिर भी सौर ऊर्जा से संचालित हो। जैसा कि आप ऊपर दिए गए फोटो से देख सकते हैं, 100K रेसिस्टर से जुड़े दो पैनल 100K में 5.64V का उत्पादन कर रहे हैं, यानी 56uA करंट 5.64V पर। यह मॉनिटर को बैटरी से पावर देने के लिए पर्याप्त से अधिक है। 3V के नाममात्र बैटरी वोल्टेज से ऊपर के किसी भी वोल्टेज को पढ़ने का मतलब है कि सौर सेल बैटरी के बजाय मॉनिटर को शक्ति प्रदान करेंगे।

तापमान आर्द्रता मॉनिटर सर्किट में दो डायोड सौर कोशिकाओं और बैटरियों को एक दूसरे से अलग करते हैं और उन्हें रिवर्स पोलरिटी में जोड़ने से बचाते हैं। 10V 1W जेनर और 470R श्रृंखला रोकनेवाला, NanoV2 के ऑन-बोर्ड नियामक को पूर्ण सूर्य में दो सौर कोशिकाओं से अधिक वोल्टेज से बचाता है, खासकर यदि 5V वाले के बजाय 12V कोशिकाओं का उपयोग किया जाता है। <5V पर सामान्य ऑपरेशन में, 10V जेनर केवल ~ 1uA खींचता है।

केवल बैटरी

केवल बैटरी आपूर्ति के लिए, बस R1, D1 और D3 और सौर सेल को छोड़ दें। यदि आप रिवर्स पोलरिटी प्रोटेक्शन नहीं चाहते हैं तो आप D1 को तार के टुकड़े से भी बदल सकते हैं।

केवल सौर

बिना बैटरी के केवल सोलर सेल से मॉनिटर को पावर देने के लिए एक अलग बिजली आपूर्ति सर्किट की आवश्यकता होती है। समस्या यह है कि जहां मॉनिटर 29uA पर काम करेगा, वहीं पावर अप पर nRF52 0.32 सेकंड के लिए ~ 5mA खींचता है। ऊपर दिखाया गया सर्किट (पीडीएफ संस्करण) MAX8881 नियामक को तब तक बंद रखता है जब तक कि इनपुट कैपेसिटर, 2 x 1000uF, 4.04V तक चार्ज न हो जाए। फिर MAX6457 nRF52 (NanoV2) को पावर देने के लिए MAX8881 SHDN इनपुट जारी करता है। 2 x 1000uF कैपेसिटर आवश्यक स्टार्ट अप करंट की आपूर्ति करते हैं।

यह मॉनिटर को शक्ति देता है जैसे ही पर्याप्त सौर ऊर्जा हो, इसे 29uA पर चालू रखें।

चरण 7: निष्कर्ष

इस ट्यूटोरियल ने nRF52832 चिप के लिए Arduino में एक बैटरी/सौर ऊर्जा संचालित तापमान आर्द्रता मॉनिटर एक उदाहरण के रूप में बहुत कम बिजली BLE प्रोजेक्ट प्रस्तुत किया है। ~29uA की आपूर्ति धाराएं जहां कनेक्शन मापदंडों को ट्यून करके हासिल की जाती हैं। इसके परिणामस्वरूप CR2032 सिक्का सेल बैटरी जीवन 10 महीने से अधिक हो गया। उच्च क्षमता वाले सिक्का कोशिकाओं और बैटरी के लिए लंबा। दो सस्ते सोलर सेलों को जोड़ने से बैटरी का जीवनकाल आसानी से 50% या उससे अधिक बढ़ जाता है। एक उज्ज्वल कमरे की रोशनी या एक डेस्क लैंप सौर कोशिकाओं से मॉनिटर को बिजली देने के लिए पर्याप्त है।

मॉनिटर को कम क्षमता वाले सौर सेल से पूरी तरह से चलाने की अनुमति देने के लिए एक विशेष पावर सर्किट प्रस्तुत किया गया था।

मुफ़्त pfodDesigner आपको मेनू/उप-मेनू डिज़ाइन करने देता है, दिनांक/समय के विरुद्ध प्लॉट करता है और डेटा लॉग करता है और फिर आपके लिए कम पावर Arduino स्केच उत्पन्न करता है। यहाँ एक कस्टम इंटरफ़ेस को pfodApp ड्राइंग प्रिमिटिव का उपयोग करके कोडित किया गया था। pfodApp से कनेक्ट होने पर यूजर इंटरफेस प्रदर्शित होता है और जब मॉनिटर ~29uA. का उपयोग कर रहा हो तो रीडिंग को अपडेट करता है

कोई Android प्रोग्रामिंग की आवश्यकता नहीं है। pfodApp वह सब संभालता है।

सिफारिश की: