विषयसूची:
वीडियो: Arduino नैनो - HTS221 सापेक्षिक आर्द्रता और तापमान सेंसर ट्यूटोरियल: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
HTS221 सापेक्षिक आर्द्रता और तापमान के लिए एक अल्ट्रा कॉम्पैक्ट कैपेसिटिव डिजिटल सेंसर है। इसमें डिजिटल सीरियल इंटरफेस के माध्यम से माप की जानकारी प्रदान करने के लिए एक सेंसिंग तत्व और एक मिश्रित सिग्नल एप्लिकेशन विशिष्ट एकीकृत सर्किट (एएसआईसी) शामिल है। इतनी सारी विशेषताओं के साथ एकीकृत यह महत्वपूर्ण आर्द्रता और तापमान माप के लिए सबसे उपयुक्त सेंसरों में से एक है। यहाँ arduino नैनो के साथ प्रदर्शन है।
चरण 1: आपको क्या चाहिए..
1. अरुडिनो नैनो
2. एचटीएस221
3. आई²सी केबल
4. Arduino नैनो के लिए I²C शील्ड
चरण 2: कनेक्शन:
Arduino Nano के लिए एक I2C शील्ड लें और इसे धीरे से नैनो के पिनों पर धकेलें।
फिर I2C केबल के एक सिरे को HTS221 सेंसर से और दूसरे सिरे को I2C शील्ड से कनेक्ट करें।
ऊपर की तस्वीर में कनेक्शन दिखाए गए हैं।
चरण 3: कोड:
HTS221 के लिए Arduino कोड हमारे github रिपॉजिटरी- DCUBE कम्युनिटी से डाउनलोड किया जा सकता है।
यहाँ उसी के लिए लिंक है:
github.com/DcubeTechVentures/HTS221/blob/master/Arduino/HTS221.ino
हम Arduino बोर्ड के साथ सेंसर के I2c संचार की सुविधा के लिए लाइब्रेरी Wire.h शामिल करते हैं।
आप यहां से भी कोड कॉपी कर सकते हैं, यह इस प्रकार दिया गया है:
// एक फ्री-विल लाइसेंस के साथ वितरित किया गया।
// इसे किसी भी तरह से उपयोग करें, लाभ या मुफ्त, बशर्ते यह इसके संबंधित कार्यों के लाइसेंस में फिट बैठता है।
// एचटीएस२२१
// यह कोड HTS221_I2CS I2C मिनी मॉड्यूल के साथ काम करने के लिए डिज़ाइन किया गया है
#शामिल
// HTS221 I2C पता 0x5F है
# परिभाषित करें Addr 0x5F
व्यर्थ व्यवस्था()
{
// I2C संचार को मास्टर के रूप में प्रारंभ करें
वायर.बेगिन ();
// सीरियल कम्युनिकेशन शुरू करें, बॉड रेट सेट करें = 9600
सीरियल.बेगिन (९६००);
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// औसत कॉन्फ़िगरेशन रजिस्टर चुनें
वायर.राइट (0x10);
// तापमान औसत नमूने = 256, आर्द्रता औसत नमूने = 512
वायर.राइट (0x1B);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// नियंत्रण रजिस्टर का चयन करें1
वायर.राइट (0x20);
// पावर ऑन, निरंतर अपडेट, डेटा आउटपुट दर = 1 हर्ट्ज
वायर.राइट (0x85);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
देरी (300);
}
शून्य लूप ()
{
अहस्ताक्षरित इंट डेटा [2];
अहस्ताक्षरित इंट वैल [4];
अहस्ताक्षरित int H0, H1, H2, H3, T0, T1, T2, T3, रॉ;
// आर्द्रता कैलिब्रेशन मान
के लिए (इंट मैं = 0; मैं < 2; मैं ++)
{
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट ((48 + i));
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा का 1 बाइट पढ़ें
अगर (वायर.उपलब्ध () == 1)
{
डेटा = वायर.रीड ();
}
}
// आर्द्रता डेटा कनवर्ट करें
एच0 = डेटा [0] / 2;
एच1 = डेटा [1] / 2;
के लिए (इंट मैं = 0; मैं < 2; मैं ++)
{
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट ((५४ + i));
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा का 1 बाइट पढ़ें
अगर (वायर.उपलब्ध () == 1)
{
डेटा = वायर.रीड ();
}
}
// आर्द्रता डेटा कनवर्ट करें
H2 = (डेटा [1] * 256.0) + डेटा [0];
के लिए (int i = 0; i <2; i++)
{
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट ((58 + i));
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा का 1 बाइट पढ़ें
अगर (वायर.उपलब्ध () == 1)
{
डेटा = वायर.रीड ();
}
}
// आर्द्रता डेटा कनवर्ट करें
H3 = (डेटा [1] * 256.0) + डेटा [0];
// तापमान कैलिब्रेशन मान
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट (0x32);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा का 1 बाइट पढ़ें
अगर (वायर.उपलब्ध () == 1)
{
T0 = वायर.रीड ();
}
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट (0x33);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा का 1 बाइट पढ़ें
अगर (वायर.उपलब्ध () == 1)
{
T1 = वायर.रीड ();
}
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट (0x35);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा का 1 बाइट पढ़ें
अगर (वायर.उपलब्ध () == 1)
{
कच्चा = वायर.रीड ();
}
कच्चा = कच्चा और 0x0F;
// तापमान कैलिब्रेशन मानों को 10-बिट्स में बदलें
T0 = ((कच्चा और 0x03) * 256) + T0;
T1 = ((कच्चा और 0x0C) * 64) + T1;
के लिए (इंट मैं = 0; मैं < 2; मैं ++)
{
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट ((60 + i));
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा का 1 बाइट पढ़ें
अगर (वायर.उपलब्ध () == 1)
{
डेटा = वायर.रीड ();
}
}
// डेटा कनवर्ट करें
T2 = (डेटा [1] * 256.0) + डेटा [0];
के लिए (इंट मैं = 0; मैं < 2; मैं ++)
{
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट ((62 + i));
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा का 1 बाइट पढ़ें
अगर (वायर.उपलब्ध () == 1)
{
डेटा = वायर.रीड ();
}
}
// डेटा कनवर्ट करें
T3 = (डेटा [1] * 256.0) + डेटा [0];
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर भेजें
वायर.राइट (0x28 | 0x80);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 4 बाइट्स का अनुरोध करें
Wire.requestFrom (Addr, 4);
// डेटा के 4 बाइट्स पढ़ें
// आर्द्रता एमएसबी, आर्द्रता एलएसबी, अस्थायी एमएसबी, अस्थायी एलएसबी
अगर (वायर.उपलब्ध () == 4)
{
वैल [0] = वायर.रीड ();
वैल [1] = वायर.रीड ();
वैल [2] = वायर.रीड ();
वैल [3] = वायर.रीड ();
}
// डेटा कनवर्ट करें
फ्लोट आर्द्रता = (वैल [1] * 256.0) + वैल [0];
आर्द्रता = ((1.0 * H1) - (1.0 * H0)) * (1.0 * आर्द्रता - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
इंट टेम्प = (वैल [३] * २५६) + वैल [२];
फ्लोट cTemp = (((T1 - T0) / 8.0) * (अस्थायी - T2)) / (T3 - T2) + (T0 / 8.0);
फ्लोट fTemp = (cTemp * १.८) + ३२;
// सीरियल मॉनिटर को आउटपुट डेटा
सीरियल.प्रिंट ("सापेक्ष आर्द्रता:");
सीरियल.प्रिंट (आर्द्रता);
Serial.println ("% RH");
सीरियल.प्रिंट ("सेल्सियस में तापमान:");
सीरियल.प्रिंट (cTemp); सीरियल.प्रिंट्लन ("सी");
Serial.print ("फ़ारेनहाइट में तापमान:");
सीरियल.प्रिंट (fTemp);
सीरियल.प्रिंट्लन ("एफ");
देरी (500);
}
चरण 4: अनुप्रयोग:
HTS221 को विभिन्न उपभोक्ता उत्पादों जैसे एयर ह्यूमिडिफ़ायर और रेफ्रिजरेटर आदि में नियोजित किया जा सकता है। यह सेंसर स्मार्ट होम ऑटोमेशन, औद्योगिक स्वचालन, श्वसन उपकरण, संपत्ति और सामान ट्रैकिंग सहित व्यापक क्षेत्र में भी अपना आवेदन पाता है।
सिफारिश की:
Arduino नैनो - SI7050 तापमान सेंसर ट्यूटोरियल: 4 कदम
Arduino Nano - SI7050 तापमान सेंसर ट्यूटोरियल: SI7050 एक डिजिटल तापमान सेंसर है जो I2C संचार प्रोटोकॉल पर काम करता है और संपूर्ण ऑपरेटिंग वोल्टेज और तापमान सीमा पर उच्च सटीकता प्रदान करता है। सेंसर की यह उच्च सटीकता उपन्यास सिग्नल प्रोसेसिंग और गुदा
Arduino नैनो - TCN75A तापमान सेंसर ट्यूटोरियल: 4 कदम
Arduino Nano - TCN75A तापमान सेंसर ट्यूटोरियल: TCN75A एक दो-तार सीरियल तापमान सेंसर है जिसे तापमान-से-डिजिटल कनवर्टर के साथ शामिल किया गया है। इसे उपयोगकर्ता प्रोग्राम योग्य रजिस्टरों के साथ शामिल किया गया है जो तापमान-संवेदन अनुप्रयोगों के लिए लचीलापन प्रदान करते हैं। रजिस्टर सेटिंग्स उपयोगकर्ताओं को अनुमति देती हैं
Arduino नैनो - STS21 तापमान सेंसर ट्यूटोरियल: 4 कदम
Arduino नैनो - STS21 तापमान सेंसर ट्यूटोरियल: STS21 डिजिटल तापमान सेंसर बेहतर प्रदर्शन और एक अंतरिक्ष बचत पदचिह्न प्रदान करता है। यह डिजिटल, I2C प्रारूप में कैलिब्रेटेड, रेखीयकृत सिग्नल प्रदान करता है। इस सेंसर का निर्माण CMOSens तकनीक पर आधारित है, जो बेहतर
Arduino नैनो - TMP100 तापमान सेंसर ट्यूटोरियल: 4 कदम
Arduino नैनो - TMP100 तापमान सेंसर ट्यूटोरियल: TMP100 उच्च-सटीकता, कम-शक्ति, डिजिटल तापमान सेंसर I2C मिनी मॉड्यूल। TMP100 विस्तारित तापमान माप के लिए आदर्श है। यह डिवाइस कैलिब्रेशन या बाहरी घटक सिग्नल कंडीशनिंग की आवश्यकता के बिना ± 1 डिग्री सेल्सियस की सटीकता प्रदान करता है। वह
Arduino के साथ DHT11 तापमान सेंसर का उपयोग कैसे करें और तापमान गर्मी और आर्द्रता प्रिंट करें: 5 कदम
Arduino और प्रिंट तापमान गर्मी और आर्द्रता के साथ DHT11 तापमान सेंसर का उपयोग कैसे करें: DHT11 सेंसर का उपयोग तापमान और आर्द्रता को मापने के लिए किया जाता है। वे बहुत लोकप्रिय इलेक्ट्रॉनिक्स शौक़ीन हैं। DHT11 आर्द्रता और तापमान सेंसर आपके DIY इलेक्ट्रॉनिक्स परियोजनाओं में आर्द्रता और तापमान डेटा जोड़ना वास्तव में आसान बनाता है। यह प्रति