विषयसूची:

HDC1000 और कण फोटॉन का उपयोग करके तापमान और आर्द्रता का मापन: 4 कदम
HDC1000 और कण फोटॉन का उपयोग करके तापमान और आर्द्रता का मापन: 4 कदम

वीडियो: HDC1000 और कण फोटॉन का उपयोग करके तापमान और आर्द्रता का मापन: 4 कदम

वीडियो: HDC1000 और कण फोटॉन का उपयोग करके तापमान और आर्द्रता का मापन: 4 कदम
वीडियो: Raspberry Pi HDC1000 Temperature Sensor Java Tutorial 2024, जून
Anonim
Image
Image

HDC1000 एकीकृत तापमान सेंसर के साथ एक डिजिटल आर्द्रता सेंसर है जो बहुत कम शक्ति पर उत्कृष्ट माप सटीकता प्रदान करता है। डिवाइस एक नए कैपेसिटिव सेंसर के आधार पर आर्द्रता को मापता है। आर्द्रता और तापमान सेंसर फ़ैक्टरी कैलिब्रेटेड हैं। यह पूर्ण -40 डिग्री सेल्सियस से + 125 डिग्री सेल्सियस तापमान सीमा के भीतर कार्यात्मक है।

इस ट्यूटोरियल में कण फोटॉन के साथ HDC1000 सेंसर मॉड्यूल के इंटरफेसिंग का चित्रण किया गया है। तापमान और आर्द्रता मूल्यों को पढ़ने के लिए, हमने I2c एडाप्टर के साथ कण का उपयोग किया है। यह I2C एडाप्टर सेंसर मॉड्यूल से कनेक्शन को आसान और अधिक विश्वसनीय बनाता है।

चरण 1: हार्डवेयर की आवश्यकता:

हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता

अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:

1. एचडीसी1000

2. कण फोटॉन

3. I2C केबल

4. कण फोटॉन के लिए I2C शील्ड

चरण 2: हार्डवेयर हुकअप:

हार्डवेयर हुकअप
हार्डवेयर हुकअप
हार्डवेयर हुकअप
हार्डवेयर हुकअप

हार्डवेयर हुकअप अनुभाग मूल रूप से सेंसर और कण फोटॉन के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:

HDC1000 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।

आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं।

आपको बस चार तार चाहिए! केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।

इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।

चरण 3: तापमान और आर्द्रता मापन के लिए कोड:

तापमान और आर्द्रता मापन के लिए कोड
तापमान और आर्द्रता मापन के लिए कोड

आइए अब कण कोड से शुरू करते हैं।

कण के साथ सेंसर मॉड्यूल का उपयोग करते समय, हम application.h और Spark_wiring_i2c.h लाइब्रेरी को शामिल करते हैं। "application.h" और Spark_wiring_i2c.h लाइब्रेरी में ऐसे कार्य हैं जो सेंसर और कण के बीच i2c संचार की सुविधा प्रदान करते हैं।

उपयोगकर्ता की सुविधा के लिए संपूर्ण कण कोड नीचे दिया गया है:

#शामिल

#शामिल

// HDC1000 I2C पता 0x40 (64) है

# परिभाषित करें Addr 0x40

डबल cTemp = ०.०, fTemp = ०.०, आर्द्रता = ०.०;

इंट अस्थायी = 0, हम = 0;

व्यर्थ व्यवस्था()

{

// चर सेट करें

Particle.variable("i2cdevice", "HDC1000");

कण। चर ("आर्द्रता", आर्द्रता);

पार्टिकल.वेरिएबल ("cTemp", cTemp);

// I2C संचार प्रारंभ करें

वायर.बेगिन ();

// सीरियल कम्युनिकेशन को इनिशियलाइज़ करें, बॉड रेट सेट करें = 9600

सीरियल.बेगिन (९६००);

// I2C ट्रांसमिशन शुरू करें

Wire.beginTransmission (Addr);

// कॉन्फ़िगरेशन रजिस्टर का चयन करें

वायर.राइट (0x02);

// तापमान, आर्द्रता सक्षम, संकल्प = 14-बिट्स, हीटर चालू

वायर.राइट (0x30);

// I2C ट्रांसमिशन बंद करो

वायर.एंडट्रांसमिशन ();

देरी (300);

}

शून्य लूप ()

{

अहस्ताक्षरित इंट डेटा [2];

// I2C ट्रांसमिशन शुरू करें

Wire.beginTransmission (Addr);

// अस्थायी माप आदेश भेजें

वायर.राइट (0x00);

// I2C ट्रांसमिशन बंद करो

वायर.एंडट्रांसमिशन ();

देरी (500);

// डेटा के 2 बाइट्स का अनुरोध करें

Wire.requestFrom (Addr, 2);

// डेटा के 2 बाइट्स पढ़ें

// अस्थायी एमएसबी, अस्थायी एलएसबी

अगर (वायर.उपलब्ध () == 2)

{

डेटा [0] = वायर.रीड ();

डेटा [1] = वायर.रीड ();

}

// डेटा कनवर्ट करें

अस्थायी = ((डेटा [0] * 256) + डेटा [1]);

cTemp = (अस्थायी / ६५५३६.०) * १६५.० - ४०;

fTemp = cTemp * १.८ + ३२;

// I2C ट्रांसमिशन शुरू करें

Wire.beginTransmission (Addr);

// आर्द्रता माप आदेश भेजें

वायर.राइट (0x01);

// I2C ट्रांसमिशन बंद करो

वायर.एंडट्रांसमिशन ();

देरी (500);

// डेटा के 2 बाइट्स का अनुरोध करें

Wire.requestFrom (Addr, 2);

// डेटा के 2 बाइट्स पढ़ें

// अस्थायी एमएसबी, अस्थायी एलएसबी

अगर (वायर.उपलब्ध () == 2)

{

डेटा [0] = वायर.रीड ();

डेटा [1] = वायर.रीड ();

}

// डेटा कनवर्ट करें

हम = ((डेटा [0] * 256) + डेटा [1]);

आर्द्रता = (हम / ६५५३६.०) * १००.०;

// डैशबोर्ड पर आउटपुट डेटा

Particle.publish ("सापेक्ष आर्द्रता:", स्ट्रिंग (आर्द्रता));

देरी (1000);

Particle.publish ("सेल्सियस में तापमान:", स्ट्रिंग (cTemp));

देरी (1000);

Particle.publish ("फ़ारेनहाइट में तापमान:", स्ट्रिंग (fTemp));

देरी (1000);

}

Particle.variable() फ़ंक्शन सेंसर के आउटपुट को स्टोर करने के लिए वेरिएबल बनाता है और Particle.publish() फ़ंक्शन साइट के डैशबोर्ड पर आउटपुट प्रदर्शित करता है।

सेंसर आउटपुट आपके संदर्भ के लिए ऊपर चित्र में दिखाया गया है।

चरण 4: अनुप्रयोग:

अनुप्रयोग
अनुप्रयोग

HDC1000 को हीटिंग, वेंटिलेशन और एयर कंडीशनिंग (HVAC), स्मार्ट थर्मोस्टैट्स और रूम मॉनिटर्स में नियोजित किया जा सकता है। यह सेंसर प्रिंटर, हैंडहेल्ड मीटर, मेडिकल डिवाइस, कार्गो शिपिंग के साथ-साथ ऑटोमोटिव विंडशील्ड डिफॉग में भी अपना आवेदन पाता है।

सिफारिश की: