نمایش دما از یک HTU21D به صورت نمودار میله‌ای بر روی یک LCD

نمایش دما از یک HTU21D به صورت نمودار میله‌ای بر روی یک LCD

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

HTU21D module

برای کسانی که به یک راهنمای بصری نیاز دارند، حتماً ویدیویی که با این آموزش مرتبط است را بررسی کنید (در ویدیو در ۰۰:۰۰).

توضیح سخت‌افزار

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

ماجیول HTU21D از یک رابط I2C ساده استفاده می‌کند که آن را به راحتی به میکروکنترلرهایی مانند آردوینو متصل و ارتباط برقرار می‌کند. نمایشگر LCD 1602 نیز از I2C استفاده می‌کند که با کاهش تعداد پایه‌های مورد نیاز برای اتصال به آردوینو، سیم‌کشی را ساده‌تر می‌سازد. این امر امکان ایجاد یک تنظیمات تمیزتر را فراهم می‌آورد در حالی که همچنان خروجی بصری واضحی را ارائه می‌دهد.

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

تولیدکنندهادو فرانک
شماره قطعهHTU21D
ولتاژ منطقی/ورودی و خروجی۳.۳ ولت (معمولی)
ولتاژ تغذیه1.5 - 3.6 ولت
محدوده دما-۴۰ تا ۱۲۵ درجه سلسیوس
دامنه رطوبت0 تا 100 %RH
قطعنامه۰٫۰۱ °C / ۰٫۰۴ %RH
ارتباطاتI2C
بسته۴ پایه LGA

  • از ولتاژ ۳.۳ ولت برای تغذیه HTU21D استفاده کنید؛ اتصال به ۵ ولت می‌تواند به آن آسیب برساند.
  • اطمینان حاصل کنید که از مقاومت‌های کشش مناسب در خطوط I2C (SDA و SCL) استفاده شده است.
  • در حین آزمایش، حساس(حس کننده) را از منابع حرارتی دور نگه دارید.
  • آدرس صحیح I2C را با استفاده از یک اسکتچ اسکنر I2C بررسی کنید.
  • اطمینان حاصل کنید که ال‌سی‌دی به درستی با آدرس صحیح inicialized شده است.

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

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD

برای اتصال حساس(حس کننده) HTU21D و نمایشگر LCD 1602، این مراحل را با دقت دنبال کنید:

ابتدا حساس(حس کننده) HTU21D را وصل کنید. پایه اول (VCC) را به پایه ۳.۳ ولت روی آردوینو متصل کنید. پایه دوم (GND) باید به زمین (GND) آردوینو متصل شود. پایه سوم (SDA) به پایه A4 آردوینو متصل است و پایه چهارم (SCL) به پایه A5 وصل می‌شود. اطمینان حاصل کنید که از رنگ‌های مناسب سیم‌ها برای وضوح استفاده کنید: قرمز برای VCC، سیاه برای GND، نارنجی برای SDA و زرد برای SCL.

سپس، برای صفحه نمایش LCD 1602، پایه VCC را به پایه 5 ولت روی آردوینو و پایه GND را به زمین وصل کنید. پایه SDA LCD باید به همان پایه A4 که برای HTU21D استفاده شده وصل شود و پایه SCL باید به پایه A5 متصل شود. این تنظیم اجازه می‌دهد تا هم حساس(حس کننده) و هم نمایشگر از طریق پروتکل I2C با یکدیگر ارتباط برقرار کنند.

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

در شِفر (کود)، اولین قدم شامل کردن کتابخانه‌های ضروری برای حساس(حس کننده) و LCD است. خط#include برای ارتباط I2C ضروری است، در حالی که#include "Adafruit_HTU21DF.h"حساس(حس کننده) HTU21D را راه‌اندازی می‌کند. خط بعدی یک نمونه از کلاس HTU21D ایجاد می‌کند:

Adafruit_HTU21DF htu = Adafruit_HTU21DF();

این خط، حساس(حس کننده) را برای استفاده در برنامه تنظیم می‌کند و به ما این امکان را می‌دهد که بعداً به روش‌های آن برای خواندن مقادیر دما و رطوبت دسترسی داشته باشیم.

در داخلsetup()تابع، ما مانیتور سریالی و نمایشگر LCD را راه اندازی می کنیم. خطوط زیر بررسی می کنند که آیا حساس(حس کننده) به درستی کار می کند:

if (htu.begin()) {
    lcd.print("HTU21DF Bargraph");  
} else {
    lcd.print("missing HTU21DF"); 
    while(1); // Pause forever.
}

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

In theloop()کارکرد، دما خوانده شده و نمایش داده می‌شود. خطfloat T = getHTU('H');دمای یا رطوبت را بر اساس پارامتر وارد شده بازیابی می‌کند. سپس مقدار بازیابی شده بر روی LCD نمایش داده می‌شود:

lcd.setCursor (0,1); 
lcd.print(T); // print  
lcd.print((char)223); // prints degree symbol
lcd.print("C"); //

این شِفر (کود) نشانگر را در خط دوم LCD قرار می‌دهد و مقدار دما را به همراه نماد درجه چاپ می‌کند. استفاده از(char)223این یک ترفند مفید برای نمایش نماد درجه بر روی LCD است.

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

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

زمان‌بندی ویدئو

  • ۰۰:۰۰- مقدمه
  • ۰۱:۳۰- توضیح سیم‌کشی
  • ۰۰:۳۰- بررسی شِفر (کود)
  • 04:00- نمایش
  • ۰۵:۳۰- نتیجه گیری

تصاویر

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
214-Arduino code using HTU21D-F Humidity & Temperature on LCD bargraph
زبان: C++
کپی شد!

فایل‌ها📁

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