جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
HYT939 هو مستشعر رطوبة رقمي يعمل على بروتوكول اتصال I2C. الرطوبة هي عامل محوري عندما يتعلق الأمر بالنظم الطبية والمختبرات ، لذلك من أجل تحقيق هذه الأهداف ، حاولنا ربط HYT939 مع التوت باي. في هذا البرنامج التعليمي ، تم توضيح واجهة وحدة الاستشعار HYT939 مع فوتون الجسيمات.
لقراءة قيم الرطوبة ، استخدمنا الفوتون الجسيمي مع محول I2c هذا المحول I2C يجعل الاتصال بوحدة المستشعر أسهل وأكثر موثوقية. الميزة الأساسية لإنترنت الأشياء (IoT).
الخطوة 1: الأجهزة المطلوبة:
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. HYT939
2. جسيم الفوتون
3. كابل I2C
4. I2C Shield للفوتون الجزيئي
الخطوة 2: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر وفوتون الجسيمات. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل HYT939 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك. كل ما تحتاجه هو أربعة أسلاك!
مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: كود قياس الرطوبة:
لنبدأ الآن برمز الجسيمات.
أثناء استخدام وحدة المستشعر مع Arduino ، نقوم بتضمين مكتبة application.h و spark_wiring_i2c.h. تحتوي مكتبة "application.h" و spark_wiring_i2c.h على الوظائف التي تسهل اتصال i2c بين المستشعر والجسيم.
يتم توفير رمز الجسيمات بالكامل أدناه لراحة المستخدم:
#يشمل
#يشمل
// عنوان HYT939 I2C هو 0x28 (40)
#define Addr 0x28
رطوبة مزدوجة = 0.0 ، cTemp = 0.0 ، fTemp = 0.0 ؛
الإعداد باطل()
{
// تعيين متغير
Particle.variable ("i2cdevice"، "HYT939") ؛
Particle.variable ("cTemp" ، cTemp) ؛
متغير الجسيمات ("الرطوبة" ، الرطوبة) ؛
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// تهيئة الاتصال التسلسلي
Serial.begin (9600) ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [4] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// إرسال أمر الوضع العادي
Wire.write (0x80) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
تأخير (300) ؛
// طلب 4 بايت من البيانات من الجهاز
Wire.request From (Addr، 4) ؛
// قراءة 4 بايت من البيانات
// الرطوبة msb ، الرطوبة lsb ، temp msb ، temp lsb
إذا كان (Wire.available () == 4)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
}
// تحويل البيانات إلى 14 بت
الرطوبة = (((البيانات [0] & 0x3F) * 256.0) + البيانات [1]) * (100.0 / 16383.0) ؛
cTemp = (((data [2] * 256.0) + (data [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40 ؛
fTemp = (cTemp * 1.8) + 32 ؛
// إخراج البيانات إلى لوحة القيادة
Particle.publish ("الرطوبة النسبية هي:" ، سلسلة (الرطوبة)) ؛
تأخير (1000) ؛
Particle.publish ("درجة الحرارة بالدرجة المئوية:" ، سلسلة (cTemp)) ؛
تأخير (1000) ؛
Particle.publish ("درجة الحرارة بالفهرنهايت:" ، سلسلة (fTemp)) ؛
تأخير (1000) ؛
}
تنشئ الدالة Particle.variable () المتغيرات لتخزين إخراج المستشعر وتعرض وظيفة Particle.publish () الإخراج على لوحة القيادة بالموقع.
يظهر خرج المستشعر في الصورة أعلاه للرجوع إليها.
الخطوة 4: التطبيقات:
يتم استخدام HYT939 باعتباره مستشعر رطوبة رقمي فعال في الأنظمة الطبية ، أجهزة الأوتوكلاف. قياس نقطة الندى بالضغط وأنظمة التجفيف تجد أيضًا استخدام وحدة المستشعر هذه. في مختبرات مختلفة حيث يكون مستوى الرطوبة المناسب معلمة محورية لإجراء التجارب ، يمكن نشر هذا المستشعر هناك لقياسات الرطوبة.