فهرست مطالب:
تصویری: آردوینو نانو - آموزش حسگر رطوبت و دما نسبی HTS221: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
HTS221 یک حسگر دیجیتالی خازنی فوق العاده جمع و جور برای رطوبت و درجه حرارت نسبی است. این شامل یک عنصر سنجش و یک سیگنال ترکیبی از مدار مجتمع خاص (ASIC) برای ارائه اطلاعات اندازه گیری از طریق رابط های سریال دیجیتال است. این سنسور با ویژگی های فراوان یکی از مناسب ترین سنسورها برای اندازه گیری بحرانی رطوبت و دما است. در اینجا تظاهرات با arduino nano است.
مرحله 1: آنچه شما نیاز دارید..
1. آردوینو نانو
2. HTS221
3. کابل I²C
4. I²C Shield برای آردوینو نانو
مرحله 2: اتصالات:
یک سپر I2C برای آردوینو نانو بگیرید و آن را به آرامی روی پین های نانو فشار دهید.
سپس یک سر کابل I2C را به سنسور HTS221 و سر دیگر را به سپر I2C وصل کنید.
اتصالات در تصویر بالا نشان داده شده است.
مرحله 3: کد:
کد آردوینو برای HTS221 را می توانید از مخزن github ما- DCUBE Community بارگیری کنید.
در اینجا پیوند مربوط به آن است:
github.com/DcubeTechVentures/HTS221/blob/master/Arduino/HTS221.ino
ما کتابخانه Wire.h را برای تسهیل ارتباط I2c سنسور با برد آردوینو قرار می دهیم.
همچنین می توانید کد را از اینجا کپی کنید ، به صورت زیر آمده است:
// با مجوز اراده آزاد توزیع می شود.
// از آن به هر نحوی که می خواهید استفاده کنید ، سودمند یا رایگان ، مشروط بر اینکه در مجوز آثار مربوط به آن متناسب باشد.
// HTS221
// این کد برای کار با ماژول کوتاه HTS221_I2CS I2C طراحی شده است
#عبارتند از
// آدرس HTS221 I2C 0x5F است
#تعریف Addr 0x5F
void setup ()
{
// راه اندازی ارتباط I2C به عنوان MASTER
Wire.begin ()؛
// برقراری ارتباط سریالی ، تنظیم نرخ باود = 9600
Serial.begin (9600)؛
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// میانگین ثبت نام پیکربندی را انتخاب کنید
Wire.write (0x10) ؛
// نمونه دما متوسط = 256 ، نمونه رطوبت متوسط = 512
Wire.write (0x1B) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// control control1 را انتخاب کنید
Wire.write (0x20) ؛
// روشن ، به روز رسانی مداوم ، سرعت خروجی داده = 1 هرتز
Wire.write (0x85) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
تأخیر (300) ؛
}
حلقه خالی ()
{
اطلاعات int بدون علامت [2] ؛
بدون امضا int val [4]؛
بدون علامت int H0، H1، H2، H3، T0، T1، T2، T3 ، خام ؛
// مقادیر بارندگی رطوبت
برای (int i = 0 ؛ i <2؛ i ++)
{
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write ((48 + i)) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 1 بایت داده
سیم. درخواست از (Addr، 1)؛
// 1 بایت داده را بخوانید
if (Wire.available () == 1)
{
داده = Wire.read ()؛
}
}
// تبدیل داده های رطوبت
H0 = داده [0] / 2 ؛
H1 = داده [1] / 2 ؛
برای (int i = 0 ؛ i <2؛ i ++)
{
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write ((54 + i)) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 1 بایت داده
سیم. درخواست از (Addr، 1)؛
// 1 بایت داده را بخوانید
if (Wire.available () == 1)
{
داده = Wire.read ()؛
}
}
// تبدیل داده های رطوبت
H2 = (داده [1] * 256.0) + داده [0] ؛
برای (int i = 0 ؛ i <2؛ i ++)
{
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write ((58 + i)) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 1 بایت داده
سیم. درخواست از (Addr، 1)؛
// 1 بایت داده را بخوانید
if (Wire.available () == 1)
{
داده = Wire.read ()؛
}
}
// تبدیل داده های رطوبت
H3 = (داده [1] * 256.0) + داده [0] ؛
// مقادیر فراخوانی دما
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write (0x32) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 1 بایت داده
سیم. درخواست از (Addr، 1)؛
// 1 بایت داده را بخوانید
if (Wire.available () == 1)
{
T0 = Wire.read ()؛
}
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write (0x33) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 1 بایت داده
سیم. درخواست از (Addr، 1)؛
// 1 بایت داده را بخوانید
if (Wire.available () == 1)
{
T1 = Wire.read ()؛
}
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write (0x35) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 1 بایت داده
سیم. درخواست از (Addr، 1)؛
// 1 بایت داده را بخوانید
if (Wire.available () == 1)
{
raw = Wire.read ()؛
}
خام = خام & 0x0F؛
// مقادیر فراخوانی دما را به 10 بیت تبدیل کنید
T0 = ((خام و 0x03) * 256) + T0 ؛
T1 = ((خام و 0x0C) * 64) + T1 ؛
برای (int i = 0 ؛ i <2؛ i ++)
{
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write ((60 + i)) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 1 بایت داده
سیم. درخواست از (Addr، 1)؛
// 1 بایت داده را بخوانید
if (Wire.available () == 1)
{
داده = Wire.read ()؛
}
}
// تبدیل داده ها
T2 = (داده [1] * 256.0) + داده [0] ؛
برای (int i = 0 ؛ i <2؛ i ++)
{
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write ((62 + i)) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 1 بایت داده
سیم. درخواست از (Addr، 1)؛
// 1 بایت داده را بخوانید
if (Wire.available () == 1)
{
داده = Wire.read ()؛
}
}
// تبدیل داده ها
T3 = (داده [1] * 256.0) + داده [0] ؛
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ارسال ثبت داده
Wire.write (0x28 | 0x80) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 4 بایت داده
سیم. درخواست از (Addr، 4)؛
// خواندن 4 بایت داده
// رطوبت msb ، رطوبت lsb ، دما msb ، دما lsb
if (Wire.available () == 4)
{
val [0] = Wire.read ()؛
val [1] = Wire.read ()؛
val [2] = Wire.read ()؛
val [3] = Wire.read ()؛
}
// تبدیل داده ها
رطوبت شناور = (val [1] * 256.0) + val [0]؛
رطوبت = ((1.0 * H1) - (1.0 * H0)) * (1.0 * رطوبت - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0) ؛
int temp = (val [3] * 256) + val [2]؛
float cTemp = ((((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0) ؛
float fTemp = (cTemp * 1.8) + 32 ؛
// خروجی داده ها به مانیتور سریال
Serial.print ("رطوبت نسبی:") ؛
Serial.print (رطوبت) ؛
Serial.println ("٪ RH")؛
Serial.print ("دما در سانتیگراد:") ؛
Serial.print (cTemp) ؛ Serial.println ("C") ؛
Serial.print ("دما در فارنهایت:") ؛
Serial.print (fTemp) ؛
Serial.println ("F") ؛
تأخیر (500) ؛
}
مرحله 4: برنامه های کاربردی:
HTS221 را می توان در محصولات مختلف مصرفی مانند رطوبت ساز هوا و یخچال و غیره استفاده کرد. این سنسور همچنین کاربرد خود را در عرصه وسیع تری از جمله اتوماسیون خانه هوشمند ، اتوماسیون صنعتی ، تجهیزات تنفسی ، ردیابی دارایی و کالا پیدا می کند.
توصیه شده:
اندازه گیری رطوبت و دما با استفاده از HIH6130 و آردوینو نانو: 4 مرحله
اندازه گیری رطوبت و دما با استفاده از HIH6130 و آردوینو نانو: HIH6130 یک سنسور رطوبت و دما با خروجی دیجیتال است. این سنسورها سطح دقت ± 4 R RH را ارائه می دهند. با ثبات بلند مدت در صنعت ، I2C دیجیتال واقعی با جبران دما ، قابلیت اطمینان پیشرو در صنعت ، بهره وری انرژی
اندازه گیری دما و رطوبت با استفاده از HDC1000 و آردوینو نانو: 4 مرحله
اندازه گیری دما و رطوبت با استفاده از HDC1000 و آردوینو نانو: HDC1000 یک سنسور رطوبت دیجیتالی با سنسور دمای یکپارچه است که دقت اندازه گیری عالی را در توان بسیار کم فراهم می کند. این دستگاه رطوبت را بر اساس سنسور خازنی جدید اندازه گیری می کند. سنسورهای رطوبت و درجه حرارت
اندازه گیری رطوبت و دما با استفاده از HTS221 و آردوینو نانو: 4 مرحله
اندازه گیری رطوبت و دما با استفاده از HTS221 و آردوینو نانو: HTS221 یک سنسور دیجیتالی خازنی فوق العاده جمع و جور برای رطوبت و دما نسبی است. این شامل یک عنصر حسگر و یک مدار سیگنال مختلط مخصوص مدار مجتمع (ASIC) برای ارائه اطلاعات اندازه گیری از طریق سریال دیجیتال است
رزبری پای HTS221 سنسور رطوبت و دما نسبی جاوا: 4 مرحله
Raspberry Pi HTS221 Relative and Temperature Sensor Java Java: HTS221 یک سنسور دیجیتالی خازنی فوق العاده جمع و جور برای رطوبت و درجه حرارت نسبی است. این شامل یک عنصر حسگر و یک مدار سیگنال مختلط مخصوص مدار مجتمع (ASIC) برای ارائه اطلاعات اندازه گیری از طریق سریال دیجیتال است
دما ، رطوبت نسبی ، فشارسنج اتمسفر با استفاده از Raspberry Pi و TE Connectivity MS8607-02BA01: 22 مرحله (همراه با تصاویر)
دما ، رطوبت نسبی ، فشارسنج اتمسفر با استفاده از Raspberry Pi و TE Connectivity MS8607-02BA01: مقدمه: در این پروژه به شما نشان خواهم داد که چگونه می توانید یک سیستم ورود به سیستم را به صورت مرحله ای برای رطوبت دما و فشار اتمسفر ایجاد کنید. این پروژه بر اساس تراشه حسگر محیطی Raspberry Pi 3 Model B و TE Connectivity MS8607-02BA طراحی شده است