جدول المحتويات:

قياس درجة الحرارة والرطوبة باستخدام HDC1000 والفوتون الجزيئي: 4 خطوات
قياس درجة الحرارة والرطوبة باستخدام HDC1000 والفوتون الجزيئي: 4 خطوات

فيديو: قياس درجة الحرارة والرطوبة باستخدام HDC1000 والفوتون الجزيئي: 4 خطوات

فيديو: قياس درجة الحرارة والرطوبة باستخدام HDC1000 والفوتون الجزيئي: 4 خطوات
فيديو: Raspberry Pi Project: Smart Plant Pi 2024, يوليو
Anonim
Image
Image

HDC1000 عبارة عن مستشعر رطوبة رقمي مع مستشعر درجة حرارة مدمج يوفر دقة قياس ممتازة عند طاقة منخفضة للغاية. يقيس الجهاز الرطوبة بناءً على مستشعر سعوي جديد. تمت معايرة مستشعرات الرطوبة ودرجة الحرارة في المصنع. تعمل في نطاق درجة حرارة كاملة تتراوح بين -40 درجة مئوية و + 125 درجة مئوية.

في هذا البرنامج التعليمي ، تم توضيح واجهة وحدة استشعار HDC1000 مع فوتون الجسيمات. لقراءة قيم درجة الحرارة والرطوبة ، استخدمنا الجسيمات مع محول I2c. يجعل محول I2C هذا الاتصال بوحدة المستشعر أسهل وأكثر موثوقية.

الخطوة 1: الأجهزة المطلوبة:

الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة

تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:

1. HDC1000

2. جسيم الفوتون

3. كابل I2C

4. I2C Shield للفوتون الجسيمي

الخطوة 2: ربط الأجهزة:

ربط الأجهزة
ربط الأجهزة
ربط الأجهزة
ربط الأجهزة

يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر وفوتون الجسيمات. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:

سيعمل HDC1000 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.

خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك.

كل ما تحتاجه هو أربعة أسلاك! مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.

هذه الوصلات موضحة في الصور أعلاه.

الخطوة الثالثة: كود قياس درجة الحرارة والرطوبة:

كود لقياس درجة الحرارة والرطوبة
كود لقياس درجة الحرارة والرطوبة

لنبدأ الآن برمز الجسيمات.

أثناء استخدام وحدة المستشعر مع الجسيمات ، نقوم بتضمين مكتبة application.h و spark_wiring_i2c.h. تحتوي مكتبة "application.h" و spark_wiring_i2c.h على الوظائف التي تسهل اتصال i2c بين المستشعر والجسيم.

يتم توفير رمز الجسيمات بالكامل أدناه لراحة المستخدم:

#يشمل

#يشمل

// عنوان HDC1000 I2C هو 0x40 (64)

#define Addr 0x40

cTemp مزدوج = 0.0 ، fTemp = 0.0 ، الرطوبة = 0.0 ؛

كثافة العمليات = 0 ، همهمة = 0 ؛

الإعداد باطل()

{

// تعيين متغير

Particle.variable ("i2cdevice"، "HDC1000") ؛

متغير الجسيمات ("الرطوبة" ، الرطوبة) ؛

Particle.variable ("cTemp" ، cTemp) ؛

// تهيئة اتصال I2C

Wire.begin () ؛

// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600

Serial.begin (9600) ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// حدد سجل التكوين

Wire.write (0x02) ؛

// درجة الحرارة ، الرطوبة ممكنة ، الدقة = 14 بت ، السخان يعمل

Wire.write (0x30) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

تأخير (300) ؛

}

حلقة فارغة()

{

بيانات int غير الموقعة [2] ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// أرسل أمر قياس درجة الحرارة

Wire.write (0x00) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

تأخير (500) ؛

// طلب 2 بايت من البيانات

Wire.request From (Addr، 2) ؛

// قراءة 2 بايت من البيانات

// temp msb، temp lsb

إذا (Wire.available () == 2)

{

البيانات [0] = Wire.read () ،

البيانات [1] = Wire.read () ،

}

// تحويل البيانات

temp = ((data [0] * 256) + data [1]) ؛

cTemp = (درجة الحرارة / 65536.0) * 165.0 - 40 ؛

fTemp = cTemp * 1.8 + 32 ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// أرسل أمر قياس الرطوبة

Wire.write (0x01) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

تأخير (500) ؛

// طلب 2 بايت من البيانات

Wire.request From (Addr، 2) ؛

// قراءة 2 بايت من البيانات

// temp msb، temp lsb

إذا (Wire.available () == 2)

{

البيانات [0] = Wire.read () ،

البيانات [1] = Wire.read () ،

}

// تحويل البيانات

hum = ((data [0] * 256) + data [1]) ؛

الرطوبة = (hum / 65536.0) * 100.0 ؛

// إخراج البيانات إلى لوحة القيادة

Particle.publish ("الرطوبة النسبية:" ، السلسلة (الرطوبة)) ؛

تأخير (1000) ؛

Particle.publish ("درجة الحرارة بالدرجة المئوية:" ، سلسلة (cTemp)) ؛

تأخير (1000) ؛

Particle.publish ("درجة الحرارة بالفهرنهايت:" ، سلسلة (fTemp)) ؛

تأخير (1000) ؛

}

تنشئ الدالة Particle.variable () المتغيرات لتخزين إخراج المستشعر وتعرض وظيفة Particle.publish () الإخراج على لوحة القيادة بالموقع.

يظهر خرج المستشعر في الصورة أعلاه للرجوع إليها.

الخطوة 4: التطبيقات:

التطبيقات
التطبيقات

يمكن استخدام HDC1000 في التدفئة والتهوية وتكييف الهواء (HVAC) وأجهزة الترموستات الذكية وشاشات الغرفة. يجد هذا المستشعر أيضًا تطبيقه في الطابعات والعدادات المحمولة والأجهزة الطبية وشحن البضائع وكذلك مزيل الضباب عن الزجاج الأمامي للسيارات.

موصى به: