विषयसूची:
- चरण 1: हार्डवेयर की आवश्यकता:
- चरण 2: हार्डवेयर हुकअप:
- चरण 3: आर्द्रता और तापमान मापन के लिए कोड:
- चरण 4: अनुप्रयोग:
वीडियो: HTS221 और कण फोटॉन का उपयोग करके आर्द्रता और तापमान मापन: 4 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
HTS221 सापेक्षिक आर्द्रता और तापमान के लिए एक अल्ट्रा कॉम्पैक्ट कैपेसिटिव डिजिटल सेंसर है। इसमें डिजिटल सीरियल इंटरफेस के माध्यम से माप की जानकारी प्रदान करने के लिए एक सेंसिंग तत्व और एक मिश्रित सिग्नल एप्लिकेशन विशिष्ट एकीकृत सर्किट (एएसआईसी) शामिल है। इतनी सारी विशेषताओं के साथ एकीकृत यह महत्वपूर्ण आर्द्रता और तापमान माप के लिए सबसे उपयुक्त सेंसरों में से एक है।
इस ट्यूटोरियल में कण फोटॉन के साथ HTS221 सेंसर मॉड्यूल की इंटरफेसिंग का चित्रण किया गया है। आर्द्रता और तापमान मूल्यों को पढ़ने के लिए, हमने I2c एडाप्टर के साथ कण का उपयोग किया है। यह I2C एडाप्टर सेंसर मॉड्यूल से कनेक्शन को आसान और अधिक विश्वसनीय बनाता है।
चरण 1: हार्डवेयर की आवश्यकता:
अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:
1. एचटीएस221
2. कण फोटॉन
3. I2C केबल
4. कण फोटॉन के लिए I2C शील्ड
चरण 2: हार्डवेयर हुकअप:
हार्डवेयर हुकअप अनुभाग मूल रूप से सेंसर और कण फोटॉन के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:
HTS221 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।
आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं।
आपको बस चार तार चाहिए! केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।
इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।
चरण 3: आर्द्रता और तापमान मापन के लिए कोड:
आइए अब कण कोड से शुरू करते हैं।
कण के साथ सेंसर मॉड्यूल का उपयोग करते समय, हम application.h और Spark_wiring_i2c.h लाइब्रेरी को शामिल करते हैं। "application.h" और Spark_wiring_i2c.h लाइब्रेरी में ऐसे कार्य हैं जो सेंसर और कण के बीच i2c संचार की सुविधा प्रदान करते हैं।
उपयोगकर्ता की सुविधा के लिए संपूर्ण कण कोड नीचे दिया गया है:
#शामिल
#शामिल
// HTS221 I2C पता 0x5F है
# परिभाषित करें Addr 0x5F
दोहरी आर्द्रता = ०.०;
डबल cTemp = ०.०;
डबल fTemp = ०.०;
इंट अस्थायी = 0;
व्यर्थ व्यवस्था()
{
// चर सेट करें
Particle.variable("i2cdevice", "HTS221");
कण। चर ("आर्द्रता", आर्द्रता);
पार्टिकल.वेरिएबल ("cTemp", cTemp);
// 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];
के लिए (इंट मैं = 0; मैं < 2; मैं ++)
{
// 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);
अस्थायी = (वैल [3] * 256) + वैल [2]; cTemp = (((T1 - T0) / 8.0) * (अस्थायी - T2)) / (T3 - T2) + (T0 / 8.0);
fTemp = (cTemp * १.८) + ३२;
// डैशबोर्ड पर आउटपुट डेटा
Particle.publish ("सापेक्ष आर्द्रता:", स्ट्रिंग (आर्द्रता));
देरी (1000);
Particle.publish ("सेल्सियस में तापमान:", स्ट्रिंग (cTemp));
देरी (1000);
Particle.publish ("फ़ारेनहाइट में तापमान:", स्ट्रिंग (fTemp));
देरी (1000);
}
Particle.variable() फ़ंक्शन सेंसर के आउटपुट को स्टोर करने के लिए वेरिएबल बनाता है और Particle.publish() फ़ंक्शन साइट के डैशबोर्ड पर आउटपुट प्रदर्शित करता है।
सेंसर आउटपुट आपके संदर्भ के लिए ऊपर चित्र में दिखाया गया है।
चरण 4: अनुप्रयोग:
HTS221 को विभिन्न उपभोक्ता उत्पादों जैसे एयर ह्यूमिडिफ़ायर और रेफ्रिजरेटर आदि में नियोजित किया जा सकता है। यह सेंसर स्मार्ट होम ऑटोमेशन, औद्योगिक स्वचालन, श्वसन उपकरण, संपत्ति और सामान ट्रैकिंग सहित व्यापक क्षेत्र में भी अपना आवेदन पाता है।
सिफारिश की:
HTS221 और Arduino Nano का उपयोग करके आर्द्रता और तापमान मापन: 4 चरण
HTS221 और Arduino Nano का उपयोग करके आर्द्रता और तापमान मापन: HTS221 सापेक्ष आर्द्रता और तापमान के लिए एक अल्ट्रा कॉम्पैक्ट कैपेसिटिव डिजिटल सेंसर है। इसमें डिजिटल सीरियल के माध्यम से माप की जानकारी प्रदान करने के लिए एक सेंसिंग तत्व और एक मिश्रित सिग्नल एप्लिकेशन विशिष्ट एकीकृत सर्किट (एएसआईसी) शामिल है
MCP9803 और कण फोटॉन का उपयोग करके तापमान मापन: 4 कदम
MCP9803 और कण फोटॉन का उपयोग कर तापमान मापन: MCP9803 एक 2-तार उच्च सटीकता तापमान सेंसर है। वे उपयोगकर्ता-प्रोग्राम करने योग्य रजिस्टरों के साथ सन्निहित हैं जो तापमान संवेदन अनुप्रयोगों की सुविधा प्रदान करते हैं। यह सेंसर अत्यधिक परिष्कृत बहु-क्षेत्र तापमान निगरानी प्रणाली के लिए उपयुक्त है।
STS21 और कण फोटॉन का उपयोग करके तापमान मापन: 4 कदम
STS21 और पार्टिकल फोटॉन का उपयोग करके तापमान मापन: STS21 डिजिटल तापमान सेंसर बेहतर प्रदर्शन और एक अंतरिक्ष बचत पदचिह्न प्रदान करता है। यह डिजिटल, I2C प्रारूप में कैलिब्रेटेड, रेखीयकृत सिग्नल प्रदान करता है। इस सेंसर का निर्माण CMOSens तकनीक पर आधारित है, जो बेहतर
HIH6130 और कण फोटॉन का उपयोग करके आर्द्रता और तापमान मापन: 4 कदम
HIH6130 और कण फोटॉन का उपयोग करके आर्द्रता और तापमान मापन: HIH6130 डिजिटल आउटपुट के साथ एक आर्द्रता और तापमान सेंसर है। ये सेंसर ± 4% आरएच का सटीकता स्तर प्रदान करते हैं। उद्योग-अग्रणी दीर्घकालिक स्थिरता के साथ, सही तापमान-मुआवजा डिजिटल I2C, उद्योग-अग्रणी विश्वसनीयता, ऊर्जा दक्षता
HDC1000 और कण फोटॉन का उपयोग करके तापमान और आर्द्रता का मापन: 4 कदम
HDC1000 और कण फोटॉन का उपयोग करके तापमान और आर्द्रता का मापन: HDC1000 एकीकृत तापमान सेंसर के साथ एक डिजिटल आर्द्रता सेंसर है जो बहुत कम शक्ति पर उत्कृष्ट माप सटीकता प्रदान करता है। डिवाइस एक नए कैपेसिटिव सेंसर के आधार पर आर्द्रता को मापता है। आर्द्रता और तापमान सेंसर चेहरे