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

مراقبة درجة الحرارة والرطوبة باستخدام SHT25 و Raspberry Pi: 5 خطوات
مراقبة درجة الحرارة والرطوبة باستخدام SHT25 و Raspberry Pi: 5 خطوات

فيديو: مراقبة درجة الحرارة والرطوبة باستخدام SHT25 و Raspberry Pi: 5 خطوات

فيديو: مراقبة درجة الحرارة والرطوبة باستخدام SHT25 و Raspberry Pi: 5 خطوات
فيديو: ☑️ DHT11 أردوينو للمبتدئين - (25) فهم حساس الحرارة و الرطوبة 2024, شهر نوفمبر
Anonim
Image
Image

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

هذا هو السبب ، في هذا البرنامج التعليمي سنشرح عمل مستشعر الرطوبة ودرجة الحرارة SHT25 باستخدام raspberry pi. في هذا البرنامج التعليمي الخاص يتم عرض عملها باستخدام كود جافا.

الأجهزة التي ستحتاجها لهذا الغرض هي:

1. SHT25

2. Raspberry Pi

3. كابل I2C

4. I2C درع لتوت العليق بي

الخطوة 1: نظرة عامة حول SHT25:

ماذا تحتاج….!!
ماذا تحتاج….!!

بادئ ذي بدء ، لنبدأ بالفهم الأساسي للمستشعر والبروتوكول الذي يعمل عليه.

SHT25 I2C حساس الرطوبة ودرجة الحرارة ± 1.8٪ RH ± 0.2 ° C I2C الوحدة النمطية الصغيرة. إنها رطوبة عالية الدقة ومستشعر درجة الحرارة أصبح معيارًا صناعيًا من حيث عامل الشكل والذكاء ، مما يوفر إشارات مستشعرات خطية ومعايرة بتنسيق رقمي I2C. يعد هذا المستشعر مدمجًا بدائرة تناظرية ورقمية متخصصة ، وهو أحد أكثر الأجهزة كفاءة في قياس درجة الحرارة والرطوبة.

بروتوكول الاتصال الذي يعمل عليه المستشعر هو I2C. I2C تعني الدائرة المتكاملة. إنه بروتوكول اتصال يتم فيه الاتصال من خلال خطوط SDA (البيانات التسلسلية) و SCL (الساعة التسلسلية). يسمح بتوصيل أجهزة متعددة في نفس الوقت. إنه أحد أبسط بروتوكولات الاتصال وأكثرها كفاءة.

الخطوة الثانية: ماذا تحتاج….

ماذا تحتاج….!!
ماذا تحتاج….!!
ماذا تحتاج….!!
ماذا تحتاج….!!
ماذا تحتاج….!!
ماذا تحتاج….!!

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

1. استشعار الرطوبة ودرجة الحرارة SHT25

2. التوت باي

3. كابل I2C

4. I2C Shield لـ Raspberry Pi

5. كابل إيثرنت

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

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

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

  • سيعمل SHT25 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
  • خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك. كل ما تحتاجه هو أربعة أسلاك!
  • مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.

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

الخطوة 4: كود جافا لمراقبة درجة الحرارة والرطوبة:

كود جافا لمراقبة درجة الحرارة والرطوبة
كود جافا لمراقبة درجة الحرارة والرطوبة
كود جافا لمراقبة درجة الحرارة والرطوبة
كود جافا لمراقبة درجة الحرارة والرطوبة

تتمثل ميزة استخدام raspberry pi في أنه يوفر لك مرونة لغة البرمجة التي تريد برمجة اللوحة من أجل واجهة المستشعر معها. بتسخير هذه الميزة في هذا المنتدى ، نعرض هنا برمجته في Java. يمكن تنزيل كود Java الخاص بـ SHT25 من مجتمع github الخاص بنا وهو Dcube Store.

ولسهولة المستخدمين ، نقوم بشرح الكود هنا أيضًا:

كخطوة أولى في الترميز ، تحتاج إلى تنزيل مكتبة pi4j في حالة java ، لأن هذه المكتبة تدعم الوظائف المستخدمة في الكود. لذلك ، لتنزيل المكتبة يمكنك زيارة الرابط التالي:

pi4j.com/install.html

يمكنك نسخ كود جافا العامل لهذا المستشعر من هنا أيضًا:

استيراد com.pi4j.io.i2c. I2CBus ؛

استيراد com.pi4j.io.i2c. I2CDevice ؛ استيراد com.pi4j.io.i2c. I2CFactory ؛ استيراد java.io. IOException ؛ يلقي الفئة العامة SHT25 {public static void main (String args ) Exception {// Create I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1)؛ // احصل على جهاز I2C ، عنوان SHT25 I2C هو 0x40 (64) I2CDevice device = Bus.getDevice (0x40) ؛ // إرسال أمر قياس درجة الحرارة ، NO HOLD master device.write ((byte) 0xF3) ؛ Thread.sleep (500) ؛ // قراءة 2 بايت من البيانات // temp msb ، temp lsb byte data = بايت جديد [2] ؛ قراءة الجهاز (البيانات ، 0 ، 2) ؛ // تحويل البيانات المزدوجة cTemp = ((((البيانات [0] & 0xFF) * 256) + (البيانات [1] & 0xFF)) * 175.72) / 65536.0) - 46.85 ؛ مزدوج fTemp = (cTemp * 1.8) + 32 ؛ // أرسل أمر قياس الرطوبة ، لا يوجد HOLD master device.write ((byte) 0xF5) ؛ Thread.sleep (500) ؛ // قراءة 2 بايت من البيانات // الرطوبة msb ، الرطوبة lsb device.read (data ، 0 ، 2) ؛ // تحويل البيانات المزدوجة الرطوبة = (((((data [0] & 0xFF) * 256) + (data [1] & 0xFF)) * 125.0) / 65536.0) - 6 ؛ // إخراج البيانات لشاشة System.out.printf ("الرطوبة النسبية:٪.2f ٪٪ RH٪ n" ، الرطوبة) ؛ System.out.printf ("درجة الحرارة بالدرجة المئوية:٪.2f C٪ n"، cTemp)؛ System.out.printf ("درجة الحرارة في Farhenheit:٪.2f F٪ n"، fTemp)؛ }}

يظهر إخراج الكود أيضًا في الصورة أعلاه.

المكتبة التي تسهل اتصال i2c بين المستشعر واللوحة هي pi4j ، وتساعد حزمها المختلفة I2CBus و I2CDevice و I2CFactory على إنشاء الاتصال.

استيراد com.pi4j.io.i2c. I2CBus ؛

استيراد com.pi4j.io.i2c. I2CDevice ؛ استيراد com.pi4j.io.i2c. I2CFactory ؛ استيراد java.io. IOException ؛

هذا الجزء من الكود يجعل المستشعر يعمل لقياس درجة الحرارة وقياس الرطوبة عن طريق كتابة الأوامر المعنية باستخدام وظيفة الكتابة () ثم قراءة البيانات باستخدام وظيفة القراءة ().

device.write ((بايت) 0xF3) ؛

Thread.sleep (500) ؛

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

// temp msb، temp lsb

بايت بيانات = بايت جديد [2] ؛

قراءة الجهاز (البيانات ، 0 ، 2) ؛

// إرسال أمر قياس الرطوبة ، لا يوجد سيد HOLD

device.write ((بايت) 0xF5) ؛

Thread.sleep (500) ؛

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

// الرطوبة msb ، الرطوبة lsb

قراءة الجهاز (البيانات ، 0 ، 2) ؛

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

يحتوي مستشعر درجة الحرارة والرطوبة النسبية SHT25 على العديد من التطبيقات الصناعية مثل مراقبة درجة الحرارة والحماية الحرارية الطرفية للكمبيوتر. لقد قمنا أيضًا بتوظيف هذا المستشعر في تطبيقات محطات الطقس وكذلك في نظام مراقبة الدفيئة.

موصى به: