درس 35-2: استفاده از حساس(حس کننده) دما HTU21D - شِفر (کود) سفارشی

درس 35-2: استفاده از حساس(حس کننده) دما HTU21D - شِفر (کود) سفارشی

در این آموزش، ما به بررسی نحوه استفاده از حساس(حس کننده) دما HTU21D با آردوینو برای اندازه‌گیری دما و رطوبت خواهیم پرداخت. HTU21D یک حساس(حس کننده) قابل اعتماد و کم‌مصرف است که از طریق I2C ارتباط برقرار می‌کند و ادغام آن در پروژه‌های شما را آسان می‌سازد. در پایان این درس، شما شِفر (کود) فعالی خواهید داشت که دما را به درجه سلسیوس، فارنهایت و کلوین، و همچنین رطوبت نسبی اندازه‌گیری می‌کند.

HTU21D module

قبل از اینکه به سیم‌کشی و کدنویسی بپردازیم، فهم اجزای مرتبط ضروری است. حساس(حس کننده) HTU21D به حداقل اتصالات نیاز دارد: تغذیه، زمین و دو سیم I2C برای انتقال داده. این سادگی آن را برای کاربردهای مختلف، از ایستگاه‌های هواشناسی تا دستگاه‌های خانه هوشمند، گزینه‌ای عالی می‌سازد. برای راهنمایی بصری، به ویدیو در زمان 03:45 مراجعه کنید.

تجهیزات توضیح داده شده

الاجزای اصلی در این پروژه حساس(حس کننده) HTU21D است که دما و رطوبت را اندازه‌گیری می‌کند. این حساس(حس کننده) می‌تواند در ولتاژهای بین 1.5V تا 3.6V کار کند، که آن را برای کاربردهای مختلف چندمنظوره می‌سازد. این حساس(حس کننده) قرائت‌های با دقت بالا ارائه می‌دهد، با اندازه‌گیری‌های دما که از -40°C تا +125°C و اندازه‌گیری‌های رطوبت با دقت 0.04% متغیر است.

علاوه بر این، حساس(حس کننده) از ارتباط I2C استفاده می‌کند که نیاز به دو پایه دارد: SDA (خط داده) و SCL (خط ساعت). این امکان ادغام آسان با آردوینو و سایر میکروکنترلرها را بدون نیاز به سیم‌کشی پیچیده فراهم می‌کند. کتابخانه آداFruit تعامل با حساس(حس کننده) را ساده می‌کند و بازیابی داده و پروتکل‌های ارتباطی را به آسانی مدیریت می‌کند.

جزئیات برگه داده

تولید کنندهتی ای کانکتویتی
شماره قطعهHTU21D-F
ولتاژ منطق/ورودی-خروجی1.5 - 3.6 ولت
ولتاژ تأمین۳.۳ ولت
مصرف جاری (بیکار)۰.۰۲ میکروآمپر (معمولی)
مصرف کنونی (فعال)۴۵۰ میکروآمپر (معمولی)
محدوده دما-۴۰ تا +۱۲۵ درجه سانتی‌گراد
محدوده رطوبت۰ تا ۱۰۰٪ رطوبت نسبی
قطعنامه۰.۰۴ %RH؛ ۰.۰۱ °C
بستهDFN شش پینی

  • اطمینان حاصل کنید که منبع تغذیه صحیح باشد تا از آسیب دیدن حساس(حس کننده) جلوگیری شود.
  • در صورت عدم ادغام، از مقاومت‌های بکش بالا بر روی خطوط SDA و SCL استفاده کنید.
  • اتصالات حساس(حس کننده) را کوتاه نگه دارید تا اغتشاش (نویز) را به حداقل برسانید.
  • ولتاژ را در حین کار مانیتور کنید تا ثبات حفظ شود.
  • استفاده از یک خازن برای جداسازی نزدیک پایه‌های تغذیه را در نظر بگیرید.

دستورالعمل‌های سیم‌کشی

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor

برای اتصال حساس(حس کننده) دما HTU21D، ابتدا به برق و زمین وصل کنید. پایه چپ حساس(حس کننده) را به یک منبع 3.3 ولت متصل کنید و اطمینان حاصل کنید که می‌تواند ولتاژ مورد نیاز را تحمل کند. پایه دوم، که معمولاً با رنگ قرمز علامت‌گذاری شده است، باید به زمین متصل شود.

سپس، پایه SDA حساس(حس کننده) را به پایه متصل کنیدA4در آردوینو، که به عنوان خط داده برای ارتباط I2C عمل می‌کند. سپس، پایه SCL را به پایه وصل کنیدA5که به عنوان خط ساعت عمل می‌کند. اطمینان حاصل کنید که این اتصالات محکم هستند، زیرا کابل‌های شل می‌توانند منجر به مقادیر ناپیوسته یا عدم ارتباط با حساس(حس کننده) شوند.

نمونه‌های شِفر (کود) و راهنمایی

در شِفر (کود)، ما با وارد کردن کتابخانه‌های لازم و راه‌اندازی حساس(حس کننده) شروع می‌کنیم. خطAdafruit_HTU21DF htu = Adafruit_HTU21DF();یک نمونه از کلاس حساس(حس کننده) را ایجاد می‌کند. درsetup()عملکرد، ارتباط سریال را شروع کرده و بررسی می‌کنیم که آیا حساس(حس کننده) به درستی متصل است.

void setup() {
  Serial.begin(9600);
  if (!htu.begin()) {
    Serial.println("Couldn't find sensor!");
    while (1);
  }
}

این بخش بررسی می‌کند که آیا حساس(حس کننده) به درستی کار می‌کند یا خیر. در غیر این صورت، یک پیام خطا چاپ کرده و برنامه را متوقف می‌کند. درloop()در این تابع، ما مقادیر دما و رطوبت را به‌صورت مداوم می‌خوانیم.

void loop() {
    Serial.print(getHTU('C'));
    Serial.print("C");
    Serial.print(getHTU('H'));
    Serial.println("%");
    delay(1000);
}

اینجا، تابعgetHTU()با پارامترهای مختلف فراخوانی می‌شود تا دما را به درجه سلسیوس و رطوبت دریافت کند. تأخیر تضمین می‌کند که اندازه‌گیری‌ها هر ثانیه انجام شوند و خروجی مناسب و صاف بر روی نمایشگر مسلسل ارائه شود. شِفر (کود) کامل برای مرجع در زیر مقاله موجود است.

نمایشگاه / چه انتظاری باید داشت

پس از اینکه همه چیز به درستی سیم‌کشی شد و شِفر (کود) بارگذاری شد، باید شاهد خوانش دما و رطوبت در نمایشگر مسلسل باشید. دما به سانتی‌گراد نمایش داده می‌شود و پس از آن درصد رطوبت مربوطه نمایش می‌یابد. اگر به حساس(حس کننده) گرما اعمال کنید، باید شاهد افزایش دما به طور متناسب باشید (در ویدیو در :15).

مراقب محدودیت‌های حساس(حس کننده) باشید؛ اگر دما از ۱۲۵ درجه سانتی‌گراد تجاوز کند، ممکن است نتایج نادرستی ارائه دهد یا صفر را نمایش دهد. همیشه اطمینان حاصل کنید که اتصالات شما محکم هستند و حساس(حس کننده) به درستی تغذیه شده است تا از بروز هر گونه مشکل در حین عملکرد جلوگیری شود.

زمانبندی ویدیوها

  • ۰۰:۰۰مقدمه
  • ۰۳:۴۵سیم‌کشی حساس(حس کننده)
  • ۰۵:۳۰مسیرنمای شِفر (کود)
  • ۱۰:۱۵نمونشگرایی
  • ۱۲:۰۰نتیجه‌گیری

تصاویر

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
513-Lesson 35: Using HTU21D Temperature Sensor | Arduino Step-by-Step Course
زبان: C++
کپی شد!

مواردی که ممکن است به آن‌ها نیاز داشته باشید

فایل‌ها📁

برگه مشخصات (pdf)