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

Raspberry Pi HTS221 الرطوبة النسبية ومستشعر درجة الحرارة جافا تعليمي: 4 خطوات
Raspberry Pi HTS221 الرطوبة النسبية ومستشعر درجة الحرارة جافا تعليمي: 4 خطوات

فيديو: Raspberry Pi HTS221 الرطوبة النسبية ومستشعر درجة الحرارة جافا تعليمي: 4 خطوات

فيديو: Raspberry Pi HTS221 الرطوبة النسبية ومستشعر درجة الحرارة جافا تعليمي: 4 خطوات
فيديو: Raspberry Pi HTS221 Relative Humidity and Temperature Sensor Python Tutorial 2024, يوليو
Anonim
Image
Image

HTS221 عبارة عن مستشعر رقمي سعوي مدمج للغاية للرطوبة النسبية ودرجة الحرارة. وهو يتضمن عنصر استشعار ودائرة متكاملة خاصة بتطبيق إشارة مختلطة (ASIC) لتوفير معلومات القياس من خلال السطوح البينية التسلسلية الرقمية. مدمج مع العديد من الميزات ، يعد هذا أحد أكثر أجهزة الاستشعار ملاءمةً لقياسات الرطوبة ودرجة الحرارة الحرجة. هذا هو العرض التوضيحي برمز جافا باستخدام Raspberry Pi.

الخطوة 1: ماذا تحتاج..

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

1. Raspberry Pi

2. HTS221

3. كابل I²C

4. I²C Shield لـ Raspberry Pi

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

الخطوة الثانية: التوصيلات:

روابط
روابط
روابط
روابط
روابط
روابط
روابط
روابط

خذ درع I2C لـ Raspberry Pi وادفعه برفق فوق دبابيس gpio الخاصة بـ Raspberry Pi.

ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر HTS221 والطرف الآخر بغطاء I2C.

قم أيضًا بتوصيل كبل Ethernet بـ pi أو يمكنك استخدام وحدة WiFi.

تظهر الاتصالات في الصورة أعلاه.

الخطوة الثالثة: الكود:

الشفرة
الشفرة

يمكن تنزيل كود python الخاص بـ HTS221 من مستودع جيثب الخاص بنا-Dcube Store

هنا هو الرابط لنفسه:

github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java

لقد استخدمنا مكتبة pi4j لرمز جافا ، وخطوات تثبيت pi4j على Raspberry Pi موصوفة هنا:

pi4j.com/install.html

يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:

// موزعة بترخيص الإرادة الحرة.

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

// HTS221

// تم تصميم هذا الرمز للعمل مع الوحدة المصغرة HTS221_I2CS I2C.

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

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

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

استيراد java.io. IOException ؛

يطرح الفئة العامة HTS221 {public static void main (String args ) Exception

{

// إنشاء I2CBus

حافلة I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ؛

// احصل على جهاز I2C ، عنوان HTS221 I2C هو 0x5F (95)

جهاز I2CDevice = bus.getDevice (0x5F) ،

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

// عينات متوسط درجة الحرارة = 16 ، عينة متوسط الرطوبة = 32

device.write (0x10 ، (بايت) 0x1B) ؛

// حدد سجل التحكم 1

// التشغيل ، حظر تحديث البيانات ، معدل البيانات o / p = 1 هرتز

device.write (0x20 ، (بايت) 0x85) ؛

Thread.sleep (500) ؛

// اقرأ قيم المعايرة من الذاكرة غير المتطايرة للجهاز

// قيم معايرة الرطوبة

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

// قراءة 1 بايت من البيانات من العنوان 0x30 (48)

val [0] = (بايت) device.read (0x30) ؛

// قراءة 1 بايت من البيانات من العنوان 0x31 (49)

val [1] = (بايت) device.read (0x31) ؛

int H0 = (val [0] & 0xFF) / 2 ؛

int H1 = (val [1] & 0xFF) / 2 ؛

// قراءة 1 بايت من البيانات من العنوان 0x36 (54)

val [0] = (بايت) device.read (0x36) ؛

// قراءة 1 بايت من البيانات من العنوان 0x37 (55)

val [1] = (بايت) device.read (0x37) ؛

int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF) ؛

// قراءة 1 بايت من البيانات من العنوان 0x3A (58)

val [0] = (بايت) device.read (0x3A) ؛

// قراءة 1 بايت من البيانات من العنوان 0x3B (59)

val [1] = (بايت) device.read (0x3B) ؛

int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF) ؛

// قيم معايرة درجة الحرارة

// قراءة 1 بايت من البيانات من العنوان 0x32 (50)

int T0 = ((بايت) device.read (0x32) & 0xFF) ؛

// قراءة 1 بايت من البيانات من العنوان 0x33 (51)

int T1 = ((بايت) device.read (0x33) & 0xFF) ؛

// قراءة 1 بايت من البيانات من العنوان 0x35 (53)

int raw = ((بايت) device.read (0x35) & 0x0F) ؛

// قم بتحويل قيم معايرة درجة الحرارة إلى 10 بت

T0 = ((خام & 0x03) * 256) + T0 ؛

T1 = ((خام & 0x0C) * 64) + T1 ؛

// قراءة 1 بايت من البيانات من العنوان 0x3C (60)

val [0] = (بايت) device.read (0x3C) ؛

// قراءة 1 بايت من البيانات من العنوان 0x3D (61)

val [1] = (بايت) device.read (0x3D) ؛

int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF) ؛

// قراءة 1 بايت من البيانات من العنوان 0x3E (62)

val [0] = (بايت) device.read (0x3E) ؛

// قراءة 1 بايت من البيانات من العنوان 0x3F (63)

val [1] = (بايت) device.read (0x3F) ؛

int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF) ؛

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

// hum msb، hum lsb، temp msb، temp lsb

بايت بيانات = بايت جديد [4] ؛ قراءة الجهاز (0x28 | 0x80 ، بيانات ، 0 ، 4) ؛

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

هموم int = ((data [1] & 0xFF) * 256) + (data [0] & 0xFF) ؛

int temp = ((data [3] & 0xFF) * 256) + (data [2] & 0xFF) ؛

إذا (درجة الحرارة> 32767)

{

درجة الحرارة - = 65536 ؛

}

رطوبة مزدوجة = ((1.0 * H1) - (1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0) ؛

مزدوج cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0) ؛

مزدوج fTemp = (cTemp * 1.8) + 32 ؛

// إخراج البيانات للشاشة

System.out.printf ("الرطوبة النسبية:٪.2f ٪٪ RH٪ n" ، الرطوبة) ؛

System.out.printf ("درجة الحرارة بالدرجة المئوية:٪.2f C٪ n"، cTemp)؛

System.out.printf ("درجة الحرارة بالفهرنهايت:٪.2f F٪ n"، fTemp)؛

}

}

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

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

موصى به: