فهرست مطالب:

اندازه گیری رطوبت و دما با استفاده از HTS221 و Raspberry Pi: 4 مرحله
اندازه گیری رطوبت و دما با استفاده از HTS221 و Raspberry Pi: 4 مرحله

تصویری: اندازه گیری رطوبت و دما با استفاده از HTS221 و Raspberry Pi: 4 مرحله

تصویری: اندازه گیری رطوبت و دما با استفاده از HTS221 و Raspberry Pi: 4 مرحله
تصویری: دماسنج و رطوبت سنج دیجیتالی HTC-2 2024, دسامبر
Anonim
Image
Image

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

در این آموزش ، رابط ماژول سنسور HTS221 با تمشک pi نشان داده شده است و برنامه نویسی آن با استفاده از زبان پایتون نیز نشان داده شده است. برای خواندن مقادیر رطوبت و دما ، ما از تمشک pi با یک آداپتور I2C استفاده کرده ایم. این آداپتور I2C اتصال به ماژول سنسور را آسان و قابل اعتماد می کند.

مرحله 1: سخت افزار مورد نیاز:

سخت افزار مورد نیاز
سخت افزار مورد نیاز
سخت افزار مورد نیاز
سخت افزار مورد نیاز
سخت افزار مورد نیاز
سخت افزار مورد نیاز

مواد مورد نیاز برای تحقق هدف ما شامل اجزای سخت افزاری زیر است:

1. HTS221

2. تمشک پای

3. کابل I2C

4. I2C Shield برای تمشک pi

5. کابل اترنت

مرحله 2: اتصال سخت افزاری:

اتصال سخت افزاری
اتصال سخت افزاری
اتصال سخت افزاری
اتصال سخت افزاری

بخش اتصال سخت افزاری اساساً اتصالات سیم کشی مورد نیاز بین سنسور و تمشک pi را توضیح می دهد. اطمینان از اتصالات صحیح ضروری ترین ضرورت در هنگام کار بر روی هر سیستم برای خروجی مورد نظر است. بنابراین ، اتصالات مورد نیاز به شرح زیر است:

HTS221 از طریق I2C کار خواهد کرد. در اینجا مثال نمودار سیم کشی است که نحوه اتصال هر رابط سنسور را نشان می دهد.

خارج از جعبه ، برد برای یک رابط I2C پیکربندی شده است ، بنابراین توصیه می کنیم در غیر این صورت آگنوستیک از این اتصال استفاده کنید.

تنها چیزی که نیاز دارید چهار سیم است! فقط چهار اتصال نیاز به پین های Vcc ، Gnd ، SCL و SDA دارد و این اتصالات با کمک کابل I2C متصل می شوند.

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

مرحله 3: کد اندازه گیری رطوبت و دما:

کد اندازه گیری رطوبت و دما
کد اندازه گیری رطوبت و دما

مزیت استفاده از تمشک pi این است که به شما انعطاف پذیری زبان برنامه نویسی را می دهد که در آن می خواهید بورد را برنامه ریزی کنید تا سنسور با آن ارتباط برقرار کند. با استفاده از این مزیت این برد ، ما در اینجا برنامه نویسی آن را در پایتون نشان می دهیم. کد پایتون برای HTS221 را می توان از انجمن github ما که کنترل همه چیز است بارگیری کرد.

و همچنین برای سهولت کاربران ، ما در اینجا کد را نیز توضیح می دهیم:

به عنوان اولین مرحله کدگذاری ، باید کتابخانه smbus را در مورد پایتون بارگیری کنید ، زیرا این کتابخانه از توابع مورد استفاده در کد پشتیبانی می کند. بنابراین ، برای بارگیری کتابخانه می توانید از لینک زیر دیدن کنید:

pypi.python.org/pypi/smbus-cffi/0.5.1

همچنین می توانید کد پایتون کارکرد این سنسور را از اینجا کپی کنید:

smbus وارد کنید

زمان واردات

# اتوبوس I2C بگیرید

bus = smbus. SMBus (1)

آدرس # HTS221 ، 0x5F (95)

# ثبت پیکربندی متوسط ، 0x10 (16)

# 0x1B (27) نمونه دما متوسط = 256 ، نمونه رطوبت متوسط = 512

bus.write_byte_data (0x5F ، 0x10 ، 0x1B)

آدرس # HTS221 ، 0x5F (95)

# ثبت کنترل را انتخاب کنید 1 ، 0x20 (32)

# 0x85 (133) روشن ، به روز رسانی مداوم ، سرعت خروجی داده = 1 هرتز

bus.write_byte_data (0x5F ، 0x20 ، 0x85)

زمان خواب (0.5)

آدرس # HTS221 ، 0x5F (95)

# مقادیر کالیبراسیون را از حافظه غیر فرار دستگاه بخوانید

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

# داده ها را از 0x30 (48) ، 1 بایت بخوانید

val = bus.read_byte_data (0x5F ، 0x30)

H0 = val / 2

# داده ها را از 0x31 (49) ، 1 بایت برگردانید

val = bus.read_byte_data (0x5F ، 0x31)

H1 = val /2

# داده ها را از 0x36 (54) ، 2 بایت برگردانید

val0 = bus.read_byte_data (0x5F ، 0x36)

val1 = bus.read_byte_data (0x5F ، 0x37)

H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# خواندن داده ها از 0x3A (58) ، 2 بایت

val0 = bus.read_byte_data (0x5F ، 0x3A)

val1 = bus.read_byte_data (0x5F ، 0x3B)

H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# مقادیر کالیبراسیون دما

# داده ها را از 0x32 (50) ، 1 بایت برگردانید

T0 = bus.read_byte_data (0x5F ، 0x32)

T0 = (T0 & 0xFF)

# داده ها را از 0x32 (51) ، 1 بایت برگردانید

T1 = bus.read_byte_data (0x5F ، 0x33)

T1 = (T1 & 0xFF)

# داده ها را از 0x35 (53) ، 1 بایت بخوانید

خام = bus.read_byte_data (0x5F ، 0x35)

خام = (خام & 0x0F)

# مقادیر کالیبراسیون دما را به 10 بیت تبدیل کنید

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

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

# داده ها را از 0x3C (60) ، 2 بایت برگردانید

val0 = bus.read_byte_data (0x5F ، 0x3C)

val1 = bus.read_byte_data (0x5F ، 0x3D)

T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# داده ها را از 0x3E (62) ، 2 بایت برگردانید

val0 = bus.read_byte_data (0x5F ، 0x3E)

val1 = bus.read_byte_data (0x5F ، 0x3F)

T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# داده ها را از 0x28 (40) با ثبت فرمان 0x80 (128) ، 4 بایت بخوانید

# رطوبت msb ، رطوبت lsb ، دما msb ، دما lsb

data = bus.read_i2c_block_data (0x5F ، 0x28 | 0x80 ، 4)

# تبدیل داده ها

رطوبت = (داده [1] * 256) + داده [0]

رطوبت = ((1.0 * H1) - (1.0 * H0)) * (1.0 * رطوبت - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)

temp = (داده [3] * 256) + داده [2]

اگر دما> 32767:

دما -= 65536

cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)

fTemp = (cTemp * 1.8) + 32

# خروجی داده ها به صفحه

چاپ "رطوبت نسبی:٪.2f ٪٪"٪ رطوبت

print "Temperature in Celsius:٪.2f C"٪ cTemp

print "دما در فارنهایت:٪.2f F"٪ fTemp

بخشی از کد ذکر شده در زیر شامل کتابخانه های مورد نیاز برای اجرای صحیح کدهای پایتون است.

smbus وارد کنید

زمان واردات

کد را می توان با تایپ دستور زیر در خط فرمان اجرا کرد.

$> پایتون HTS221.py

خروجی سنسور نیز در تصویر بالا برای ارجاع کاربر نشان داده شده است.

مرحله 4: برنامه های کاربردی:

برنامه های کاربردی
برنامه های کاربردی

HTS221 را می توان در محصولات مختلف مصرفی مانند رطوبت ساز هوا و یخچال و غیره استفاده کرد. این سنسور همچنین کاربرد خود را در عرصه وسیع تری از جمله اتوماسیون خانه هوشمند ، اتوماسیون صنعتی ، تجهیزات تنفسی ، ردیابی دارایی و کالا پیدا می کند.

توصیه شده: