فهرست مطالب:

رزبری پای HTS221 سنسور رطوبت و دما نسبی جاوا: 4 مرحله
رزبری پای HTS221 سنسور رطوبت و دما نسبی جاوا: 4 مرحله

تصویری: رزبری پای HTS221 سنسور رطوبت و دما نسبی جاوا: 4 مرحله

تصویری: رزبری پای HTS221 سنسور رطوبت و دما نسبی جاوا: 4 مرحله
تصویری: What is Stemma QT? #adafruit #stemma 2024, جولای
Anonim
Image
Image

HTS221 یک حسگر دیجیتالی خازنی فوق العاده جمع و جور برای رطوبت و درجه حرارت نسبی است. این شامل یک عنصر سنجش و یک سیگنال ترکیبی از مدار مجتمع خاص (ASIC) برای ارائه اطلاعات اندازه گیری از طریق رابط های سریال دیجیتال است. این سنسور با ویژگی های فراوان یکی از مناسب ترین سنسورها برای اندازه گیری بحرانی رطوبت و دما است. در اینجا تظاهرات با کد جاوا با استفاده از Raspberry Pi آمده است.

مرحله 1: آنچه شما نیاز دارید..

آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!

1. تمشک پای

2. HTS221

3. کابل I²C

4. I²C Shield برای رزبری پای

5. کابل اترنت

مرحله 2: اتصالات:

اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات

یک سپر I2C برای تمشک pi بگیرید و آن را به آرامی روی پایه های gpio تمشک pi فشار دهید.

سپس یک سر کابل I2C را به سنسور HTS221 و سر دیگر را به سپر I2C وصل کنید.

همچنین کابل اترنت را به pi وصل کنید یا می توانید از ماژول WiFi استفاده کنید.

اتصالات در تصویر بالا نشان داده شده است.

مرحله 3: کد:

کد
کد

کد پایتون برای HTS221 را می توانید از مخزن github-Dcube Store ما بارگیری کنید

در اینجا پیوند مربوط به آن است:

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

ما از کتابخانه pi4j برای کد جاوا استفاده کرده ایم ، مراحل نصب pi4j در تمشک 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) ؛

// control control1 را انتخاب کنید

// روشن ، مسدود کردن به روز رسانی داده ها ، نرخ داده o/p = 1 هرتز

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

موضوع. خواب (500) ؛

// مقادیر Calibration را از حافظه غیر فرار دستگاه بخوانید

// مقادیر کالیبراسیون رطوبت

بایت 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]؛ device.read (0x28 | 0x80 ، داده ، 0 ، 4) ؛

// تبدیل داده ها

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

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

if (دما> 32767)

{

دما -= 65536 ؛

}

رطوبت مضاعف = ((1.0 * H1) - (1.0 * H0)) * (1.0 * همهم - 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 را می توان در محصولات مختلف مصرفی مانند رطوبت ساز هوا و یخچال و غیره استفاده کرد. این سنسور همچنین کاربرد خود را در عرصه وسیع تری از جمله اتوماسیون خانه هوشمند ، اتوماسیون صنعتی ، تجهیزات تنفسی ، ردیابی دارایی و کالا پیدا می کند.

توصیه شده: