विषयसूची:
- चरण 1: अपना डिवाइस तैयार करें
- चरण 2: दो बिंदु अंशांकन
- चरण 3: सही तरीके से प्राप्त मूल्यों का उपयोग करें
वीडियो: Arduino UNO के साथ DS18B20 सेंसर का अंशांकन: 3 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
अस्वीकरण:
चित्र में जो उपकरण आप देख रहे हैं उसका उपयोग फिल्म विकास प्रक्रिया के लिए थर्मोस्टेट के रूप में एक अन्य परियोजना में किया जाता है। आप उस परियोजना को यहां पा सकते हैं। एक सेंसर, या एक से अधिक को कैलिब्रेट करने के लिए, आपको बस वही चाहिए जो आपको इस प्रोजेक्ट में मिलेगा, और कुछ नहीं, और यह बहुत बुनियादी भी है! चलिए चलते हैं!
चरण 1: अपना डिवाइस तैयार करें
यहां एक सूची दी गई है कि आपको क्या चाहिए:
- अरुडिनो यूएनओ (या मेगा)
- DS18B20 सेंसर
- 4kOhm - 5kOhm प्रतिरोध (मैंने 5k1Ohm का इस्तेमाल किया)
- मूल्यों को पढ़ने के लिए एलसीडी स्क्रीन (आप लैपटॉप का उपयोग भी कर सकते हैं और उन्हें सीरियल मॉनिटर पर पढ़ सकते हैं)
- एक स्केच जो सेंसर का उपयोग करता है और किसी तरह मान दिखाता है
सबसे पहले आपको अपने मॉड्यूल और सेंसर को अपने कंट्रोलर से कनेक्ट करना होगा। मैं आपके लिए वेब पर खोज करने के लिए LCD का जटिल भाग छोड़ दूँगा, और मैं आपको केवल यह बताऊँगा कि सेंसर को कैसे जोड़ा जाए।
आमतौर पर वे सेंसर तीन रंगीन तारों के साथ आते हैं: काला, लाल, पीला। पहले दो ऊर्जा के लिए हैं और तीसरा डेटा के लिए है। काले को GNN से, लाल को Vcc (5V) से और पीले को एनालॉग इनपुट पर कनेक्ट करें, मान लें कि A0।
अब कनेक्शन को पूरा करने के लिए पीले और लाल रंग के बीच प्रतिरोध को कनेक्ट करें।
एलसीडी में भी प्लग इन करें (मैं केवल 4 तारों का उपयोग करने के लिए i2c कनेक्शन के साथ एक साधारण 16x2 एलसीडी का सुझाव देता हूं) और आप तारों और केबलों के साथ कर रहे हैं।
अब जो स्केच सुपर सरल है:
#शामिल "वनवायर.एच"
#include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 वनवायर OurWire1(ONE_WIRE_BUS_1); डलास तापमान सेंसर1(&ourWire1); #शामिल "LiquidCrystal_I2C.h"
लिक्विड क्रिस्टल_आई2सी एलसीडी (0x27, 16, 2); फ्लोट रॉवैल्यू = 0;
शून्य सेटअप () {lcd.init (); एलसीडी प्रकाश(); सेंसर1.बेगिन (); sensor1.setResolution(11); } शून्य लूप () { sensor1.requestTemperatures (); फ्लोट RawValue = sensor1.getTempCByIndex(0); LCD.setCursor(0, 0); LCD.print ("सेंस। 1"); एलसीडी.प्रिंट (रॉवैल्यू, 1); }
जैसा कि आप देख सकते हैं कि हम डलास तापमान पुस्तकालय और i2c कनेक्शन के साथ एक एलसीडी स्क्रीन का उपयोग करते हैं।
सेटअप में हम एलसीडी और सेंसर को शुरू करते हैं और लूप में हम केवल तापमान का अनुरोध करते हैं और एलसीडी पर दिखाने के लिए वेरिएबल रॉवेल्यू के अंदर वैल्यू स्टोर करते हैं।
यदि आप इसे और अधिक सरल रखना चाहते हैं, तो बस निम्न स्केच के साथ सीरियल मॉनिटर का उपयोग करें
#include "Wire.h"#include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire OurWire1(ONE_WIRE_BUS_1); डलास तापमान सेंसर1(&ourWire1);
फ्लोट रॉवैल्यू = 0;
व्यर्थ व्यवस्था(){
देरी (1000); सीरियल.बेगिन (९६००); सेंसर1.बेगिन (); sensor1.setResolution(11);
}
शून्य लूप () { sensor1.requestTemperatures (); फ्लोट RawValue = sensor1.getTempCByIndex(0); सीरियल.प्रिंट ("सेंस। 1"); Serial.println (रॉवेल्यू, 1); }
अब सेंसर को कैलिब्रेट करने के लिए प्रोजेक्ट के मूल में मेरा अनुसरण करें।
चरण 2: दो बिंदु अंशांकन
पहले कुछ जानने के लिए
थर्मो-सेंसर को कैलिब्रेट करने के लिए, आपको कुछ ऐसा मापना होगा, जिसका आप तापमान जानते हों। इसे घर पर करने का सरल तरीका है उबलते पानी और पिघलने वाली बर्फ का स्नान, जिसे "ट्रिपल-पॉइंट" स्नान भी कहा जाता है। उन मामलों में हम जानते हैं कि समुद्र तल पर पानी 100°C पर उबलता है। ध्यान रखें कि सटीक माप करने के लिए आपको अपनी ऊंचाई जाननी चाहिए और वहां उचित क्वथनांक की गणना करनी चाहिए।
आप इसे यहाँ देख सकते हैं!
ईमानदारी से कहूं तो आपको वायुमंडलीय दबाव की जांच करनी चाहिए न कि ऊंचाई की। लेकिन यह तरीका काफी सटीक है।
ट्रिपल-पॉइंट बाथ, या आइस बाथ, वह तापमान है जिस पर ठोस, तरल और गैस तीनों अवस्थाओं में पानी मौजूद होता है, वह तापमान 0, 01 ° C होता है। सरल बनाने के लिए हम 0°C का प्रयोग करेंगे।
सेंसर द्वारा पढ़े जाने वाले मूल्य और जो मूल्य होना चाहिए, उसे जानने के बाद, हम DS18B20 के कच्चे मूल्य को कुछ और सही में संशोधित कर सकते हैं।
नोट: आप सेंसर को कैलिब्रेट करने के लिए अधिक तापमान का उपयोग कर सकते हैं, बस इसे किसी अन्य पदार्थ में डाल दें, जिसके क्वथनांक को आप जानते हैं जैसे ईथर (३५ डिग्री सेल्सियस), पेंटेन (३६, १ डिग्री सेल्सियस), एसीटोन (५६ डिग्री सेल्सियस) या इथेनॉल (78, 37 डिग्री सेल्सियस), लेकिन वे उबलते पदार्थ उच्च ज्वलनशील गैसों का उत्पादन करते हैं! तो मत करो!
उबला पानी:
एक बर्तन में थोडा़ सा पानी डालकर उबाल आने तक गर्म करें (गैस के बुलबुले उठ रहे हैं और पानी अपने आप हिल रहा है)। अपने सेंसर को वहां डुबोएं जहां यह पानी के अलावा कुछ भी नहीं छूता है। कुछ मिनट प्रतीक्षा करें और एलसीडी या सीरियल मॉनिटर पढ़ें।
तापमान कम से कम एक मिनट तक समान रहना चाहिए। यदि हां, तो उस मान को लिख लें। वह आपका है: रॉहाई वैल्यू।
ट्रिपल-पॉइंट बाथ:
अब एक बड़ा गिलास लें (आपको न तो किसी बड़ी चीज की जरूरत है और न ही बर्तन की) और इसे बर्फ के टुकड़ों से बॉर्डर पर भर दें। छोटे आकार के बर्फ के टुकड़े का उपयोग करने का प्रयास करें। अब गिलास के 80% हिस्से को ठंडे पानी से भर दें। यदि लीवर नीचे जाने की कोशिश करता है तो बर्फ से फिर से भरें।
अब अपने सेंसर को पानी/बर्फ वाली चीज़ के अंदर रखें और डेढ़ मिनट प्रतीक्षा करें। वह तापमान पढ़ें जो कम से कम 30 सेकंड के लिए समान रहना चाहिए। यदि ऐसा है, तो इसे लिख लें, कि यह आपका रॉलो मान है।
चरण 3: सही तरीके से प्राप्त मूल्यों का उपयोग करें
तो, अब आपको कुछ महत्वपूर्ण मूल्य मिल गए हैं:
- कच्चा उच्च
- रॉलो
- संदर्भउच्च
- संदर्भनिम्न
उबलते पानी के लिए संदर्भ मूल्य स्पष्ट रूप से 99.9 डिग्री सेल्सियस (22 मीटर की ऊंचाई पर) और पिघलने वाले बर्फ स्नान के लिए 0 डिग्री सेल्सियस है। अब उन मानों के लिए श्रेणियों की गणना करें:
- RawRange = RawHigh - RawLow
- रेफरेंसरेंज = रेफरेंसहाई - रेफरेंस लो
अब आप किसी अन्य प्रोजेक्ट में उस सेंसर का उपयोग करने के लिए पूरी तरह तैयार हैं, यह सुनिश्चित करते हुए कि यह आपको एक सही माप देगा। कैसे? प्रोजेक्ट में आपको यहां मिले मूल्य का उपयोग करके आप उस सेंसर के साथ बनाएंगे।
अपने भविष्य के प्रोजेक्ट में आपको इसमें पढ़े गए मानों का उपयोग करना होगा और मैं इसे उन्हीं नामों का उपयोग करने का सुझाव देता हूं जिनका मैंने यहां उपयोग किया था।
शून्य सेटअप () अनुभाग से पहले चरों को इस तरह घोषित करें:
फ्लोट रॉहाई = 99.6; फ्लोट रॉलो = 0.5; फ्लोट रेफरेंस हाई = 99.9; फ्लोट रेफरेंसलो = 0; फ्लोट रॉरेंज = रॉहाई - रॉलो; फ्लोट रेफरेंसरेंज = रेफरेंस हाई - रेफरेंस लो;
हर बार जब आप सेंसर का उपयोग करेंगे, तो आप CorrectedValue की गणना के लिए निम्न सूत्र का उपयोग कर सकते हैं:
फ्लोट करेक्टेडवैल्यू = (((रॉवैल्यू - रॉलो) * रेफरेंसरेंज) / रॉरेंज) + रेफरेंस लो;
RawValue जाहिर तौर पर सेंसर की रीडिंग है।
इतना ही!
अब आप जानते हैं कि अपने DS18B20 सेंसर या आपके द्वारा उपयोग किए जाने वाले किसी अन्य सेंसर को कैसे कैलिब्रेट करना है! मज़े करो!
सिफारिश की:
ARDUINO भंग ऑक्सीजन सेंसर अंशांकन: 4 चरण
ARDUINO डिसॉल्व्ड ऑक्सीजन सेंसर कैलिब्रेशन: इस ट्यूटोरियल में, हम Arduino Uno.CALIBRATION थ्योरी का उपयोग करके एटलस साइंटिफिक के EZO डिसॉल्व्ड ऑक्सीजन (D.O) सेंसर को कैलिब्रेट करेंगे। कैलिब्रेशन का सबसे महत्वपूर्ण हिस्सा कैलिब्रेशन प्रक्रिया के दौरान रीडिंग देख रहा है। कैलिबर करना सबसे आसान है
ARDUINO लवणता सेंसर अंशांकन: 9 चरण
ARDUINO लवणता सेंसर कैलिब्रेशन: इस ट्यूटोरियल में, हम Arduino Uno.CALIBRATION थ्योरी का उपयोग करके एटलस साइंटिफिक के EZO लवणता/चालकता K1.0 सेंसर को कैलिब्रेट करेंगे। अंशांकन का सबसे महत्वपूर्ण हिस्सा अंशांकन प्रक्रिया के दौरान रीडिंग देख रहा है। सबसे आसान है
Arduino Uno के साथ ध्वनिक उत्तोलन चरण-दर-चरण (8-चरण): 8 चरण
Arduino Uno के साथ ध्वनिक उत्तोलन चरण-दर-चरण (8-चरण): अल्ट्रासोनिक ध्वनि ट्रांसड्यूसर L298N डीसी महिला एडाप्टर बिजली की आपूर्ति एक पुरुष डीसी पिन के साथ Arduino UNOBreadboardयह कैसे काम करता है: सबसे पहले, आप Arduino Uno पर कोड अपलोड करते हैं (यह डिजिटल से लैस एक माइक्रोकंट्रोलर है और कोड (C++) कन्वर्ट करने के लिए एनालॉग पोर्ट
रंग पहचान W/TCS230 सेंसर और Arduino [अंशांकन कोड शामिल]: 12 कदम
रंग पहचान W/TCS230 सेंसर और Arduino [अंशांकन कोड शामिल]: अवलोकनइस ट्यूटोरियल में, आप TCS230 सेंसर के बारे में जानेंगे और रंगों को पहचानने के लिए Arduino के साथ इसका उपयोग कैसे करें। इस ट्यूटोरियल के अंत में, आपको कलर पिकर पेन बनाने का एक आकर्षक विचार मिलेगा। इस पेन से आप वें के रंगों को स्कैन कर सकते हैं
6-अक्ष सेंसर मॉड्यूल FSP200 अंशांकन और परीक्षण: 6 चरण
6-अक्ष सेंसर मॉड्यूल FSP200 अंशांकन और परीक्षण: FSP200 एक 6-अक्ष जड़त्वीय माप इकाई प्रोसेसर है जो शीर्षक और दिशा आउटपुट प्रदान करता है। यह स्थिर और सटीक शीर्षक और दिशा के लिए एक्सेलेरोमीटर और जाइरो सेंसर का फ्यूजन करता है। FSP200 रोबोटिक जनसंपर्क में उपयोग के लिए उपयुक्त है