विषयसूची:

मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग: 10 कदम (चित्रों के साथ)
मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग: 10 कदम (चित्रों के साथ)

वीडियो: मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग: 10 कदम (चित्रों के साथ)

वीडियो: मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग: 10 कदम (चित्रों के साथ)
वीडियो: Arduino Multimeter V1.0 | DIY Arduino Project | Voltage, Resistance, Continuity tester and more 2024, नवंबर
Anonim
मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग
मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग
मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग
मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग
मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग
मल्टीमीटर / Arduino / pfodApp का उपयोग करके उच्च सटीकता रिमोट डेटा लॉगिंग

26 अप्रैल 2017 को अपडेट किया गया 4000ZC USB मीटर के साथ उपयोग के लिए संशोधित सर्किट और बोर्ड।

कोई Android कोडिंग की आवश्यकता नहीं है

यह निर्देश आपको दिखाता है कि कैसे अपने Arduino से उच्च सटीकता माप की एक विस्तृत श्रृंखला तक पहुंचें और उन्हें लॉगिंग और प्लॉटिंग के लिए दूरस्थ रूप से भेजें। हाई स्पीड डेटा लॉगिंग (2000 नमूने/सेकंड) के लिए यह निर्देश देखें, Arduino/GL AR150/Android/pfodApp का उपयोग करके रिमोट हाई स्पीड डेटा लॉगिंग

Arduino में निर्मित AtoD कनवर्टर में खराब सटीकता है, आमतौर पर +/- 10% और बहुत सीमित सीमा, आमतौर पर केवल 0 से 5V DC वोल्ट। एक साधारण सर्किट और लाइब्रेरी का उपयोग करके, आप अपने Arduino को वैकल्पिक रूप से पृथक RS232 कनेक्शन के साथ एक मल्टीमीटर से उच्च सटीकता ऑटो-रेंज माप के साथ खिला सकते हैं। आपके स्केच में माप उपलब्ध होने से आप मानों के आधार पर आउटपुट को नियंत्रित कर सकते हैं। इस ट्यूटोरियल में pfodApp का उपयोग करके डिस्प्ले, लॉगिंग और प्लॉटिंग के लिए एंड्रॉइड मोबाइल पर वाईफाई, ब्लूटूथ, ब्लूटूथ लो एनर्जी या एसएमएस के माध्यम से दूरस्थ रूप से माप भेजना शामिल है।

यह निर्देशयोग्य एक Arduino Mega2560 5V बोर्ड का उपयोग करता है जिसे आप विभिन्न प्रकार के संचार शील्ड, ईथरनेट, वाईफाई, ब्लूटूथ V2 (क्लासिक), ब्लूटूथ LE या एसएमएस के साथ जोड़ सकते हैं। यहां प्रस्तुत इंटरफ़ेस हार्डवेयर और लाइब्रेरी का उपयोग 3.3V Arduino संगत बोर्डों के साथ भी किया जा सकता है। साथ ही साथ मेगा2560 आप अन्य बोर्डों की एक विस्तृत विविधता का उपयोग कर सकते हैं जैसे कि यूएनओ के साथ और एहटरनेट शील्ड, एक ईएसपी8266 बेस बोर्ड (अकेले खड़े हो जाओ), एकीकृत ब्लूटूथ कम ऊर्जा वाला बोर्ड, जैसे Arduino 101, या बोर्ड जो संचार से जुड़ते हैं रेडबियर बीएलई शील्ड और एडफ्रूट के ब्लूफ्रूट एसपीआई बोर्ड जैसे एसपीआई का उपयोग कर उप-प्रणाली। pfodDesignerV2 इन सभी बोर्ड संयोजनों का समर्थन करता है और उनके लिए कोड उत्पन्न करेगा। सीमित शर्त यह है कि इस मल्टीमीटर RS232 शील्ड से कनेक्ट करने के लिए आपके पास एक निःशुल्क हार्डवेयर सीरियल होना चाहिए।

यहां प्रस्तुत सर्किट और कोड कई मल्टीमीटर के साथ काम करता है। एक आसानी से उपलब्ध, सस्ता, एक Tekpower TP4000ZC है, जिसे Digitek TD-4000ZC के नाम से भी जाना जाता है। इस सर्किट और लाइब्रेरी के साथ काम करने वाले मल्टीमीटर में Digitek DT-4000ZC, Digitech QM1538, Digitech QM1537, Digitek DT-9062, Digitek INO2513, Digitech QM1462, PeakTech 3330, Tenma 72-7745, Uni-Trend UT30A, Uni-Trend UT30E, Uni शामिल हैं। -ट्रेंड यूटी 60 ई, वोल्टक्राफ्ट वीसी 820, वोल्टक्राफ्ट वीसी 840

चरण 1:

इस ट्यूटोरियल के दो भाग हैं:

पहला भाग एक Arduino Mega का उपयोग करके हार्डवेयर इंटरफ़ेस को मल्टीमीटर और कोड लाइब्रेरी में शामिल करता है। यदि आप केवल अपने Arduino में माप प्राप्त करना चाहते हैं, तो आपको इसकी आवश्यकता है।

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

यह परियोजना www.pfod.com.au. पर भी ऑनलाइन उपलब्ध है

मल्टीमीटर के रिमोट हेड-अप डिस्प्ले के लिए, एलेन द्वारा यह निर्देश योग्य, Arduino Data Glasses For My Multimeter देखें।

चरण 2: मल्टीमीटर

मल्टीमीटर
मल्टीमीटर

इस ट्यूटोरियल में उपयोग किए जाने वाले मल्टीमीटर सस्ते (~US40) Tekpower TP4000ZC (जिसे Digitek DT-4000ZC के रूप में भी जाना जाता है) और पुराने Digitech QM1538 हैं, जिन्हें अब बेचा नहीं जाता है। ये दोनों मीटर नेत्रहीन समान हैं और माप के समान RS232 एन्कोडिंग का उपयोग करते हैं।

यहाँ टेकपॉवर TP4000ZC के लिए चश्मा: -डीसी वोल्टेज: 400mV / 4/40/400V ± 0.5% + 5, 600V ± 0.8% एसी वोल्टेज: 4/40/400V ± 0.8% + 5, 400mV/600V ± 1.2%+ 5DC करंट: 400/4000μA ± 2.0% + 5, 40/400mA ± 1.5% + 5, 4/10A ± 2% + 5AC वर्तमान: 400/4000μA ± 2.5% + 3, 40/400mA ± 2% + 5, 4 /10A ± 2.5%+5प्रतिरोध: 400Ω/4/40/400kΩ/4MΩ ±1%+5, 40MΩ ±2%+5क्षमता: 40nF ±3.5%+10, 400nF/4/40μF ±3%+5, 100μF ± 3.5% + 5 आवृत्ति: 10 हर्ट्ज -10 मेगाहर्ट्ज ± 0.1% + 5 कर्तव्य चक्र: 0.1% -99.9% ± 2.5% + 5 तापमान: 0oC - + 40oC ± 3oC, -50oC - +200oC ± 0.75% ± 3oC, +200oC - +750oC ± 1.5% ± 3oC, संकल्प 0.1oC शामिल थर्मोकपल जांच के माध्यम से।

मल्टीमीटर का RS232 कनेक्शन केवल एक ही तरीका है और आप मल्टीमीटर की सेटिंग्स को दूरस्थ रूप से नहीं बदल सकते हैं, इसलिए आपको माप के प्रकार को मैन्युअल रूप से चुनने की आवश्यकता है। हालाँकि मीटर ऑटो-रेंजिंग है और वोल्टेज और करंट सेटिंग्स एसी और डीसी दोनों को संभालती हैं।

चरण 3: RS232 इंटरफ़ेस हार्डवेयर

RS232 इंटरफ़ेस हार्डवेयर
RS232 इंटरफ़ेस हार्डवेयर
RS232 इंटरफ़ेस हार्डवेयर
RS232 इंटरफ़ेस हार्डवेयर
RS232 इंटरफ़ेस हार्डवेयर
RS232 इंटरफ़ेस हार्डवेयर

दो इंटरफेस हैं। नए Digitek DT-4000ZC और Tekpower TP40000ZC मीटर USB केबल के साथ आते हैं। जबकि पुराने Digitek QM1538 को RS232 9pin D कनेक्टर केबल प्रदान किया गया था। उपरोक्त सर्किट (पीडीएफ संस्करण) दिखाता है कि Arduino RX सीरियल पिन को चलाने के लिए मल्टी-मीटर के ऑप्टो कपलर को कैसे कनेक्ट किया जाए। नोट: इस सर्किट को डिजीटेक डीटी-4000जेडसी और टेकपावर टीपी40000जेडसी मीटर के लिए एक और सुरक्षा प्रतिरोधी, आर 2 जोड़ने के लिए अद्यतन किया गया है। यह रोकनेवाला ऊपर दिखाए गए 9pin D कनेक्टर बोर्ड में शामिल नहीं था।

डिजिटेक DT-4000ZC और टेकपॉवर TP40000ZC

Digitek DT-4000ZC और Tekpower TP40000ZC के लिए, आपको 3.5 मिमी ऑडियो केबल पुरुष से पुरुष, स्टीरियो या मोनो और 3.5 मिमी सॉकेट चाहिए।

डिजिटेक QM1538

पुराने Digitek QM1538 के लिए, आपको 9pin D सॉकेट की आवश्यकता होती है। 9pin D कनेक्टर में ऑफ़सेट पिन होते हैं जो प्रोटोटाइप शील्ड में प्लग नहीं करेंगे। बस 4 पिन की पंक्ति को काट दें ताकि आप कनेक्टर को बोर्ड में मिला सकें, क्योंकि सर्किट केवल 5 पिन की दूसरी पंक्ति में पिन का उपयोग करता है। बढ़ते पैर जहां कनेक्टर को सपाट रहने देने के लिए झुका हुआ था और कनेक्टर को 2 भाग एपॉक्सी गोंद ("अरल्डाइट") का उपयोग करके प्रोटोटाइप शील्ड में सुरक्षित किया गया था, कनेक्टर पिन लेआउट ऊपर दिखाया गया है इस साइट से है। इस परियोजना के लिए आपूर्ति किए गए RS232 केबल (पिन 2 और 3 के बीच जुड़ा हुआ) के कनेक्टर के अंदर लगे 10K रोकनेवाला की आवश्यकता नहीं है।

सिग्नल को Arduino RX पिन से कनेक्ट करना

यह सर्किट 5V और 3.3V Arduino बोर्ड दोनों के लिए काम करेगा। यहां हम एक Mega2560 (5V) Arduino का उपयोग कर रहे हैं और ऊपर दिखाए गए अनुसार एक प्रोटोटाइप शील्ड पर सर्किट को माउंट किया है।

मेगा2560 पर शील्ड पर TP1 को सीरियल1 RX, पिन D19 से जोड़ने के लिए एक फ्लाइंग लीड का उपयोग किया जाता है।

सॉफ़्टवेयर सीरियल के बारे में नोट: प्रारंभ में इस शील्ड को 10, 11 पिन पर सॉफ़्टवेयर सीरियल का उपयोग करके यूएनओ के साथ जोड़ा गया था। हालांकि जब 9600baud पर सीरियल पर ब्लूटूथ शील्ड के साथ जोड़ा गया, तो कुछ प्राप्त बाइट्स खो गए थे। RS232 को हार्डवेयर सीरियल कनेक्शन में ले जाने से यह समस्या हल हो गई। इसलिए विश्वसनीय रिमोट डिस्प्लेिंग और लॉगिंग के लिए, यदि आप एक संचार शील्ड का उपयोग कर रहे हैं जो सीरियल के माध्यम से जुड़ता है, तो आपको या तो दो या दो से अधिक हार्डवेयर सीरियल जैसे मेगा2560 के साथ एक बोर्ड की आवश्यकता होती है। अन्य विकल्प एक यूएनओ के साथ और एहटरनेट शील्ड, एक ईएसपी8266 बेस बोर्ड (अकेले खड़े हो जाओ), एकीकृत ब्लूटूथ कम ऊर्जा वाला एक बोर्ड जैसे एंडुइनो 101 या बोर्ड जो एसपीआई का उपयोग करके संचार उप-प्रणाली से जुड़ते हैं जैसे रेडबियर बीएलई शील्ड और एडफ्रूट का ब्लूफ्रूट एसपीआई बोर्ड। pfodDesignerV2 इन सभी बोर्डों का समर्थन करता है और उनके लिए कोड उत्पन्न करेगा।

चरण 4: PfodVC820MultimeterParser लाइब्रेरी

Tekpower TP4000ZC और कई अन्य मल्टीमीटर ASCII पाठ के रूप में RS232 के माध्यम से माप नहीं भेजते हैं, बल्कि यह 14 बाइट्स को बिट्स सेट के साथ भेजता है, जिसके आधार पर एलसीडी डिस्प्ले के कौन से खंड प्रकाशित होते हैं। इस पीडीएफ में 14 बाइट्स के एन्कोडिंग को समझाया गया है। pfodVC820MeterParser.zip लाइब्रेरी इन बाइट्स को टेक्स्ट स्ट्रिंग्स और फ्लोट्स में डिकोड करती है। (VC820 उन मीटरों में से एक को संदर्भित करता है जो इस एन्कोडिंग का उपयोग करते हैं।) विंडोज, मैक और लिनक्स कंप्यूटर सॉफ़्टवेयर के लिए QtDMM भी देखें जो मल्टीमीटर की एक विस्तृत श्रृंखला को संभालता है।

pfodVC820MeterParser लाइब्रेरी का उपयोग करने का एक न्यूनतम उदाहरण, MeterParserExample.ino है। मीटर को 2400baud सीरियल कनेक्शन से कनेक्ट करें और फिर बाइट्स को प्रोसेस करने के लिए प्रत्येक लूप को hasReading() पर कॉल करें। एक नया पूर्ण पठन पार्स किए जाने पर hasReading() सत्य वापस आ जाएगा। फिर आप मुद्रण और लॉगिंग के लिए स्केलिंग के साथ रीडिंग प्राप्त करने के लिए मूल्य (स्केल) को फ्लोट या getAtStr() के रूप में प्राप्त करने के लिए getAsFloat() पर कॉल कर सकते हैं। माप के प्रकार तक पहुंचने के लिए अन्य विधियां उपलब्ध हैं, getTypeAsStr() और getTypeAsUnicode(), साथ ही साथ अन्य उपयोगिता विधियां।

#शामिल "pfodVC820MeterParser.h" pfodVC820MeterParser मीटर; // शून्य सेटअप () {Serial.begin (74880); Serial1.begin(२४००); मीटर। कनेक्ट (और सीरियल 1); }फ्लोट रीडिंग; शून्य लूप () { अगर (मीटर। // Arduino गणनाओं के लिए इसका उपयोग करें Serial.print("इकाइयों के साथ पढ़ना:"); सीरियल.प्रिंट (मीटर.गेटडिजिट्स ()); Serial.print(meter.getScalingAsStr ()); सीरियल.प्रिंट (मीटर.getTypeAsStr ()); सीरियल.प्रिंट (एफ ("= फ्लोट प्रिंटेड के रूप में (6 अंक):")); Serial.println (पढ़ना, 6); Serial.println ("समय (सेकंड) और लॉगिंग के लिए स्ट्रिंग के रूप में पढ़ना"); सीरियल.प्रिंट (((फ्लोट) मिलिस ())/1000.0); सीरियल.प्रिंट ("", सेकंड, "); सीरियल.प्रिंट (मीटर.getAsStr ()); सीरियल.प्रिंट (','); Serial.println(meter.getTypeAsStr ()); } }

Deg C पर मीटर सेट और थर्मोकपल जांच का उपयोग करके, उदाहरण स्केच इस आउटपुट को Arduino IDE सीरियल मॉनिटर पर देता है

इकाइयों के साथ पढ़ना: २५.७ सी = फ्लोट मुद्रित के रूप में (६ अंक): २५.७००००० समय (सेकंड) और २.४०, सेकंड, २५.७, सी लॉगिंग के लिए स्ट्रिंग के रूप में पढ़ना

चरण 5: भाग 2 - रिमोट डिस्प्ले, लॉगिंग और प्लॉटिंग

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

pfodApp कई प्रकार के कनेक्शन, ईथरनेट, वाईफाई, ब्लूटूथ V2 (क्लासिक), ब्लूटूथ LE या एसएमएस का समर्थन करता है। यह ट्यूटोरियल डेटा लॉगिंग और प्लॉटिंग के लिए Arduino 101 (ब्लूटूथ लो एनर्जी) का उपयोग करता है। अन्य ब्लूटूथ लो एनर्जी बोर्ड भी समर्थित हैं। यह ट्यूटोरियल pfodApp से कनेक्ट करने के लिए SMS का उपयोग करता है। आप उस एसएमएस उदाहरण में डेटा लॉगिंग और चार्टिंग जोड़ने के लिए pfodDesignerV2 का उपयोग कर सकते हैं। pfodDesignerV2 में pfodApp से कनेक्ट करने के लिए ब्लूटूथ V2 (क्लासिक) शील्ड में Arduino कोड जेनरेट करने के विकल्प भी हैं।

इस उदाहरण के लिए हम एक Iteadstudio ब्लूटूथ शील्ड V2.2 का उपयोग करेंगे जो 9600baud सीरियल कनेक्शन के माध्यम से Arduino Mega2560 से जुड़ता है। मुफ्त pfodDesignerV2 ऐप का उपयोग करके हमने एक साधारण मेनू सेट किया है जिसमें केवल मीटर रीडिंग दिखाने के लिए एक लेबल होता है और चार्ट को खोलने के लिए एक बटन होता है। इस पृष्ठ में कई pfodDesignerV2 ट्यूटोरियल हैं। एक बार जब हमारे पास एक मूल स्केच होगा, तो हम इसे मीटर पार्सर जोड़ने और मीटर रीडिंग और डेटा को लॉगिंग और चार्टिंग के लिए भेजने के लिए संशोधित करेंगे।

मेनू डिजाइन करना

इस खंड में हम एक Android/pfodApp मेनू डिज़ाइन करेंगे जो मीटर रीडिंग प्रदर्शित करेगा और रीडिंग का चार्ट खोलने के लिए एक बटन प्रदर्शित करेगा। रीडिंग को Android मोबाइल पर एक फ़ाइल में भी सहेजा जाता है

चरण 6: एक लेबल जोड़ना

एक लेबल जोड़ना
एक लेबल जोड़ना
एक लेबल जोड़ना
एक लेबल जोड़ना
एक लेबल जोड़ना
एक लेबल जोड़ना

निःशुल्क pfodDesignerV2 स्थापित करें और एक नया मेनू प्रारंभ करें।

डिफ़ॉल्ट लक्ष्य 9600baud पर सीरियल है जो कि Iteadstudio ब्लूटूथ शील्ड V2.2 के लिए आवश्यक है। यदि आप ब्लूटूथ लो एनर्जी डिवाइस या वाईफाई या एसएमएस का उपयोग करके कनेक्ट कर रहे हैं तो चयन को बदलने के लिए लक्ष्य पर क्लिक करें।

मीटर रीडिंग प्रदर्शित करने के लिए एक लेबल जोड़ने के लिए, मेनू आइटम जोड़ें पर क्लिक करें और लेबल का चयन करने के लिए नीचे स्क्रॉल करें चुनें।

एक उपयुक्त फ़ॉन्ट आकार और रंग चुनें। टेक्स्ट को लेबल के रूप में छोड़ दें क्योंकि हम बाद में मीटर माप के साथ इसे बदलने के लिए जेनरेट कोड को संशोधित करेंगे। यहां हमने फॉन्ट साइज को +7, फॉन्ट कलर को रेड और बैकग्राउंड को सिल्वर पर सेट किया है।

संपादन मेनू_1 स्क्रीन पर वापस जाएं और एक ताज़ा अंतराल 1 सेकंड सेट करें। लेबल में नवीनतम रीडिंग प्रदर्शित करने के लिए pfodApp एक सेकंड में लगभग एक बार मेनू का फिर से अनुरोध करेगा।

चरण 7: चार्ट बटन जोड़ना

चार्ट बटन जोड़ना
चार्ट बटन जोड़ना
चार्ट बटन जोड़ना
चार्ट बटन जोड़ना
चार्ट बटन जोड़ना
चार्ट बटन जोड़ना
चार्ट बटन जोड़ना
चार्ट बटन जोड़ना

चार्ट बटन जोड़ने के लिए फिर से मेनू आइटम जोड़ें पर क्लिक करें।

चार्ट बटन के टेक्स्ट को किसी उपयुक्त चीज़ में संपादित करें, उदा। बस "चार्ट" और एक फ़ॉन्ट आकार और रंग चुनें।

फिर प्लॉट संपादन स्क्रीन खोलने के लिए "चार्ट" बटन पर क्लिक करें। केवल एक ही प्लॉट होगा इसलिए एडिट प्लॉट 2 और एडिट प्लॉट 3 बटन पर क्लिक करें और नीचे स्क्रॉल करें और उनमें से प्रत्येक के लिए हाइड प्लॉट पर क्लिक करें।

चार्ट लेबल को किसी उपयुक्त चीज़ में संपादित करें, उदा। "मल्टीमीटर"। किसी अन्य प्लॉट सेटिंग को बदलने की आवश्यकता नहीं है क्योंकि हम मल्टीमीटर सेटिंग के आधार पर अलग-अलग y-अक्ष लेबल भेजने के लिए स्केच को संशोधित करेंगे।

अंत में संपादन मेनू_1 पर वापस जाएं और प्रॉम्प्ट संपादित करें, यह मेनू के निचले भाग में पाठ और समग्र मेनू पृष्ठभूमि रंग सेट करता है। यहां हमने फॉन्ट साइज +3 और बैकग्राउंड कलर सिल्वर के साथ "रिमोट मल्टीमीटर" के लिए प्रॉम्प्ट सेट किया है।

अब आप संपादन मेनू_1 पर वापस जा सकते हैं और मेनू डिज़ाइन का पूर्वावलोकन करने के लिए पूर्वावलोकन मेनू पर क्लिक कर सकते हैं।

यदि आपको डिज़ाइन पसंद नहीं है तो आप कोड जनरेट करने से पहले इसे बदल सकते हैं। यदि आप बटन से लेबल को अलग करना चाहते हैं तो आप यहां बताए अनुसार कुछ खाली लेबल जोड़ सकते हैं। एंड्रॉइड पर Arduino डेटा को कैसे प्रदर्शित/प्लॉट करें, इस पर चार्ट और लॉगिंग डेटा जोड़ना pfodDesignerV2/pfodApp डेटालॉगिंग और चार्टिंग पर एक और ट्यूटोरियल है।

चरण 8: Arduino स्केच बनाना

Arduino स्केच बनाना
Arduino स्केच बनाना
Arduino स्केच बनाना
Arduino स्केच बनाना

Arduino कोड जनरेट करने के लिए जो इस मेनू को pfodApp में प्रदर्शित करेगा, संपादन मेनू_1 स्क्रीन पर वापस जाएं और नीचे स्क्रॉल करें और जेनरेट कोड बटन पर क्लिक करें।

अपने मोबाइल पर /pfodAppRawData/pfodDesignerV2.txt फ़ाइल में Arduino स्केच आउटपुट करने के लिए "फाइल करने के लिए कोड लिखें" बटन पर क्लिक करें। फिर pfodDesignerV2 से बाहर निकलें। pfodDesignerV2.txt फ़ाइल को या तो USB कनेक्शन या फ़ाइल स्थानांतरण ऐप, जैसे वाईफाई फ़ाइल स्थानांतरण प्रो का उपयोग करके अपने पीसी में स्थानांतरित करें। उत्पन्न स्केच की एक प्रति यहाँ है, pfodDesignerV2_meter.txt

स्केच को अपने Arduino IDE में लोड करें और अपने Uno (या मेगा) बोर्ड को प्रोग्राम करें। फिर Iteadstudio ब्लूटूथ शील्ड V2.2 जोड़ें। अपने एंड्रॉइड मोबाइल पर pfodApp इंस्टॉल करें और एक नया ब्लूटूथ कनेक्शन बनाएं, उदाहरण के लिए, मल्टीमीटर। नए कनेक्शन कैसे बनाएं, इसके लिए pfodAppForAndroidGettingStarted.pdf देखें। फिर जब आप मल्टीमीटर कनेक्शन खोलने के लिए pfodApp का उपयोग करते हैं तो आपको अपना डिज़ाइन किया गया मेनू दिखाई देगा।

चार्ट खोलना कुछ भी दिलचस्प नहीं दिखाता है क्योंकि हमने मल्टीमीटर हार्डवेयर/सॉफ्टवेयर में नहीं जोड़ा है।

चरण 9: मल्टीमीटर जोड़ना

मल्टीमीटर जोड़ना
मल्टीमीटर जोड़ना
मल्टीमीटर जोड़ना
मल्टीमीटर जोड़ना
मल्टीमीटर जोड़ना
मल्टीमीटर जोड़ना

हम मल्टीमीटर पार्सर जोड़ने के लिए और आपके एंड्रॉइड मोबाइल पर इसका डेटा भेजने के लिए जेनरेट किए गए स्केच को संशोधित करेंगे। पूरा संशोधित स्केच यहाँ है, pfod_meter.ino

इन संशोधनों में मल्टीमीटर पार्सर और 5 सेकंड का टाइमर जोड़ा गया है। यदि उस समय में कोई नया मान्य रीडिंग नहीं है तो स्केच डेटा भेजना बंद कर देता है और Android/pfodApp डिस्प्ले को "- - -" में अपडेट कर देता है। जैसे ही मीटर का मैनुअल चयन बदल जाता है, चार्ट लेबल अपडेट हो जाते हैं, लेकिन आपको चार्ट से बाहर निकलने और नए लेबल देखने के लिए इसे फिर से चुनने की आवश्यकता होती है। दूसरी ओर, मीटर रीडिंग हर सेकंड अपने आप अपडेट हो जाती है। अंत में pfodApp डिफ़ॉल्ट रूप से यूनिकोड को हैंडल करता है, इसलिए मीटर रीडिंग विधि को प्रदर्शित करते समय getTypeAsUnicode() का उपयोग मीटर डिस्प्ले के लिए ओम,, और degsC, ℃ के लिए यूनिकोड को वापस करने के लिए किया जाता है।

चार्ट बटन रीडिंग का अद्यतन चार्ट प्रदर्शित करता है: -

चार्ट डेटा, CSV प्रारूप में, आपके Android मोबाइल पर /pfodAppRawData/Mulitmeter.txt के अंतर्गत एक फ़ाइल में सहेजा जाता है, जिसे बाद में आपके कंप्यूटर पर स्थानांतरित किया जा सकता है और आगे की गणना और चार्टिंग के लिए एक स्प्रेडशीट में आयात किया जा सकता है।

चरण 10: स्केच संशोधन विस्तार से

  1. pfodVC820MeterParser.zip लाइब्रेरी डाउनलोड करें और फिर Arduino IDE खोलें और स्केच में क्लिक करें → लाइब्रेरी शामिल करें → इस लाइब्रेरी को अपने IDE में जोड़ने के लिए.zip जोड़ें।
  2. स्केच में pfodVC820MeterParser लाइब्रेरी जोड़ें। स्केच → लाइब्रेरी शामिल करें → pfodVC820MeterParser पर क्लिक करें। यह स्केच के शीर्ष पर शामिल कथनों को जोड़ देगा।
  3. संपादित करें pfodParser_codeGenerated parser("V1"); pfodParser_codeGenerated पार्सर (""); यह pfodApp में मेनू कैशिंग को अक्षम कर देता है जिससे आपके मेनू परिवर्तन प्रदर्शित होंगे। मेनू कैशिंग को पुन: सक्षम करने के लिए अपने सभी परिवर्तनों को पूरा करने के बाद आप "V3" पर वापस जा सकते हैं।
  4. सॉफ़्टवेयर सीरियल और मल्टीमीटर के लिए ऑब्जेक्ट बनाने के लिए इन पंक्तियों को जोड़ें। pfodVC820MeterParser मीटर;
  5. सेटअप के अंत में () Serial1.begin(२४००) जोड़ें; मीटर। कनेक्ट (और सीरियल 1);
  6. लूप के ऊपर () अहस्ताक्षरित लंबे वैलिडरीडिंगटाइमर = 0 जोड़ें; कास्ट अहस्ताक्षरित लंबा VALID_READINGS_TIMEOUT = 5000; // 5secs bool haveValidReadings = true; // मान्य रीडिंग होने पर सत्य पर सेट करें int माप प्रकार = मीटर। NO_READING; और लूप के शीर्ष पर () if (meter.haveReading ()) {if (meter.isValid ()) {validReadingTimer = मिलिस (); हैवेलिड रीडिंग्स = सच; } इंट न्यू टाइप = मीटर.गेट टाइप (); अगर (माप प्रकार! = नया प्रकार) {// आउटपुट नए डेटालॉगिंग शीर्षक पार्सर.प्रिंट (एफ ("सेकंड, ")); parser.println (meter.getTypeAsStr ()); } मापन प्रकार = नया प्रकार; } अगर ((मिली () - वैध रीडिंग टाइमर) > VALID_READINGS_TIMEOUT) { haveValidReadings = false; // पिछले 5 सेकंड में कोई नया मान्य पठन नहीं}
  7. आगे लूप में नीचे की ओर parser.print(F("{=Multimeter|time (secs)|Plot_1~~~||}")); parser.print(F("{=Multimeter|time (secs)|Meter Reading~~~")) के साथ; parser.print(meter.getTypeAsStr()); पार्सर.प्रिंट (एफ ("||}"));
  8. लूप के निचले भाग में () SendData () को बदलें; के साथ अगर (haveValidReadings) {sendData (); }
  9. SendData() में parser.print(', '); बदलें parser.print (((फ्लोट) (प्लॉट_1_var-plot_1_varMin)) * प्लॉट_1_स्केलिंग + प्लॉट_1_varDisplayMin); parser.print (',') के साथ; parser.print(meter.getAsStr);
  10. SendMainMenu() में parser.print(F("~Label")) को बदलें; parser.print ('~') के साथ; अगर (haveValidReadings) {parser.print(meter.getDigits ()); parser.print(meter.getScalingAsStr ()); parser.print(meter.getTypeAsUnicode ()); } और { पार्सर.प्रिंट (एफ ("- - -")); }
  11. SendMainMenuUpdate() में parser.print(F("|!A"));parser.print('~'); जोड़ें। अगर (haveValidReadings) {parser.print(meter.getDigits ()); parser.print(meter.getScalingAsStr ()); parser.print(meter.getTypeAsUnicode ()); } और { पार्सर.प्रिंट (एफ ("- - -")); } मेनू कैशिंग का उपयोग करते समय पठन को अद्यतन करने के लिए।

निष्कर्ष

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

सिफारिश की: