विषयसूची:

Arduino UNO के साथ DS18B20 सेंसर का अंशांकन: 3 चरण (चित्रों के साथ)
Arduino UNO के साथ DS18B20 सेंसर का अंशांकन: 3 चरण (चित्रों के साथ)

वीडियो: Arduino UNO के साथ DS18B20 सेंसर का अंशांकन: 3 चरण (चित्रों के साथ)

वीडियो: Arduino UNO के साथ DS18B20 सेंसर का अंशांकन: 3 चरण (चित्रों के साथ)
वीडियो: Algae CO2 Scrubber Project Run-through - 2 Years Later 2024, जुलाई
Anonim
Arduino UNO. के साथ DS18B20 सेंसर का अंशांकन
Arduino UNO. के साथ DS18B20 सेंसर का अंशांकन
Arduino UNO. के साथ DS18B20 सेंसर का अंशांकन
Arduino UNO. के साथ DS18B20 सेंसर का अंशांकन
Arduino UNO. के साथ DS18B20 सेंसर का अंशांकन
Arduino UNO. के साथ DS18B20 सेंसर का अंशांकन

अस्वीकरण:

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

चरण 1: अपना डिवाइस तैयार करें

अपना डिवाइस तैयार करें
अपना डिवाइस तैयार करें

यहां एक सूची दी गई है कि आपको क्या चाहिए:

  1. अरुडिनो यूएनओ (या मेगा)
  2. DS18B20 सेंसर
  3. 4kOhm - 5kOhm प्रतिरोध (मैंने 5k1Ohm का इस्तेमाल किया)
  4. मूल्यों को पढ़ने के लिए एलसीडी स्क्रीन (आप लैपटॉप का उपयोग भी कर सकते हैं और उन्हें सीरियल मॉनिटर पर पढ़ सकते हैं)
  5. एक स्केच जो सेंसर का उपयोग करता है और किसी तरह मान दिखाता है

सबसे पहले आपको अपने मॉड्यूल और सेंसर को अपने कंट्रोलर से कनेक्ट करना होगा। मैं आपके लिए वेब पर खोज करने के लिए 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 सेंसर या आपके द्वारा उपयोग किए जाने वाले किसी अन्य सेंसर को कैसे कैलिब्रेट करना है! मज़े करो!

सिफारिश की: