DHT17 तापमान और आर्द्रता सेंसर एक लोकप्रिय और सस्ता सेंसर है जिसका उपयोग तापमान और सापेक्ष आर्द्रता की काफी विस्तृत श्रृंखला में किया जा सकता है। आइए देखें कि इसे Arduino से कैसे जोड़ा जाए और इससे डेटा कैसे पढ़ा जाए।
ज़रूरी
- - अरुडिनो;
- - DHT17 तापमान और आर्द्रता सेंसर।
अनुदेश
चरण 1
तो, DHT11 सेंसर में निम्नलिखित विशेषताएं हैं:
- मापा सापेक्ष आर्द्रता की सीमा - 20.90% 5% तक की त्रुटि के साथ, - मापा तापमान की सीमा - 0..50 डिग्री सेल्सियस 2 डिग्री तक की त्रुटि के साथ;
- आर्द्रता में परिवर्तन के लिए प्रतिक्रिया समय - 15 सेकंड तक, तापमान - 30 सेकंड तक;
- न्यूनतम मतदान अवधि 1 सेकंड है।
जैसा कि आप देख सकते हैं, DHT11 सेंसर बहुत सटीक नहीं है, और तापमान सीमा नकारात्मक मूल्यों को कवर नहीं करती है, जो हमारे जलवायु में ठंड के मौसम में बाहरी माप के लिए शायद ही उपयुक्त है। हालांकि, इसकी कम लागत, छोटे आकार और उपयोग में आसानी इन नुकसानों को आंशिक रूप से ऑफसेट करती है।
यह आंकड़ा सेंसर की उपस्थिति और उसके आयामों को मिलीमीटर में दिखाता है।
चरण दो
DHT11 तापमान और आर्द्रता सेंसर के माइक्रोकंट्रोलर के कनेक्शन आरेख पर विचार करें, विशेष रूप से, Arduino के लिए। छवि पर:
- MCU - माइक्रोकंट्रोलर (उदाहरण के लिए, Arduino या समान) या सिंगल बोर्ड कंप्यूटर (रास्पबेरी पाई या समान);
- DHT11 - तापमान और आर्द्रता सेंसर;
- डेटा - डेटा बस; यदि सेंसर से माइक्रोकंट्रोलर तक कनेक्टिंग केबल की लंबाई 20 मीटर से अधिक नहीं है, तो इस बस को 5, 1 kOhm रोकनेवाला के साथ बिजली की आपूर्ति में खींचने की सिफारिश की जाती है; यदि 20 मीटर से अधिक है, तो एक और उपयुक्त मूल्य (छोटा)।
- वीडीडी - सेंसर बिजली की आपूर्ति; ~ 3.0 से ~ 5.5 वोल्ट डीसी तक अनुमेय वोल्टेज; यदि बिजली की आपूर्ति ~ 3.3 वी का उपयोग किया जाता है, तो सलाह दी जाती है कि आपूर्ति तार का उपयोग 20 सेमी से अधिक न हो।
सेंसर में से एक - तीसरा - किसी भी चीज़ से जुड़ा नहीं है।
DHT11 सेंसर को अक्सर आवश्यक पाइपिंग - पुल-अप रेसिस्टर और फिल्टर कैपेसिटर के साथ एक पूर्ण असेंबली के रूप में बेचा जाता है।
चरण 3
आइए विचार की गई योजना को एक साथ रखें। मैं एक तर्क विश्लेषक को सर्किट से भी जोड़ूंगा ताकि मैं सेंसर के साथ संचार के समय आरेख का अध्ययन कर सकूं।
चरण 4
आइए सरल तरीके से चलते हैं: DHT11 सेंसर के लिए लाइब्रेरी डाउनलोड करें ("स्रोत" अनुभाग में लिंक), इसे मानक तरीके से स्थापित करें (इसे Arduino विकास वातावरण की / पुस्तकालयों / निर्देशिका में अनपैक करना)।
आइए ऐसा सरल स्केच लिखें। आइए इसे Arduino में लोड करें। यह स्केच हर 2 सेकंड में कंप्यूटर के सीरियल पोर्ट पर DHT11 सेंसर से पढ़े गए RH और तापमान संदेशों को आउटपुट करेगा।
चरण 5
अब, तर्क विश्लेषक से प्राप्त समय आरेख का उपयोग करते हुए, आइए जानें कि सूचना का आदान-प्रदान कैसे किया जाता है।
DHT11 तापमान और आर्द्रता सेंसर माइक्रोकंट्रोलर के साथ संचार करने के लिए सिंगल-वायर सीरियल इंटरफ़ेस का उपयोग करता है। एक डेटा एक्सचेंज में लगभग 40 एमएस लगते हैं और इसमें शामिल हैं: माइक्रोकंट्रोलर से 1 अनुरोध बिट, सेंसर प्रतिक्रिया का 1 बिट और सेंसर से 40 डेटा बिट्स। डेटा में शामिल हैं: नमी की जानकारी के 16 बिट्स, तापमान की जानकारी के 26 बिट्स और 8 चेक बिट्स।
आइए DHT11 सेंसर के साथ Arduino संचार के समय आरेख पर करीब से नज़र डालें।
चित्र से यह देखा जा सकता है कि आवेग दो प्रकार के होते हैं: लघु और दीर्घ। इस विनिमय प्रोटोकॉल में लघु दालें शून्य, लंबी दालों - वाले को दर्शाती हैं।
तो, पहले दो दालें Arduino के DHT11 के लिए अनुरोध हैं और, तदनुसार, सेंसर की प्रतिक्रिया। इसके बाद 16 बिट आर्द्रता आती है। इसके अलावा, वे बाइट्स में विभाजित हैं, उच्च और निम्न, बाईं ओर उच्च। यानी हमारे आंकड़े में नमी के आंकड़े इस प्रकार हैं:
0001000000000000 = 00000000 00010000 = 0x10 = 16% आरएच।
तापमान डेटा के समान:
0001011100000000 = 00000000 00010111 = 0x17 = 23 डिग्री सेल्सियस।
चेक बिट्स - चेकसम केवल 4 प्राप्त डेटा बाइट्स का योग है:
00000000 +
00010000 +
00000000 +
00010111 =
00100111 बाइनरी में या 16 + 23 = 39 दशमलव में।