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

سختافزار توضیح داده شده است
اجزای اصلی این پروژه شامل حساس(حس کننده) HTU21D و نمایشگر LCD است. HTU21D یک حساس(حس کننده) دیجیتال رطوبت و دما است که از طریق پروتکل I2C ارتباط برقرار میکند. این حساس(حس کننده) اندازهگیریهای دقیقی از دما به درجه سلسیوس یا فارنهایت و رطوبت نسبی به صورت درصد ارائه میدهد. حساس(حس کننده) معمولاً با ولتاژ 3.3V کار میکند اما میتواند با سیستمهای 5V نیز کار کند. نمایشگر LCD که ما استفاده خواهیم کرد یک LCD 16x2 با رابط I2C است. این نوع نمایشگر به فقط دو سیم برای ارتباط داده نیاز دارد که اتصال آن را به میکروکنترلرهایی مانند آردوینو آسانتر میکند. رابط I2C اجازه میدهد تا چندین دستگاه در یک باس متصل شوند و این امر باعث سادهتر شدن سیمکشی و کاهش تعداد پایههای استفاده شده میشود.
جزئیات برگه اطلاعات
| تولیدکننده | ادافروت |
|---|---|
| شماره قطعه | HTU21D-F |
| ولتاژ منطق/ورودی-خروجی | ۳.۳ ولت (معمولی) |
| ولتاژ تغذیه | ۱.۵ ولت تا ۳.۶ ولت |
| جریان خروجی | ۰.۵ میلی آمپر (معمولی) |
| جریان اوج | ۱.۵ میلی آمپر (حداکثر) |
| دامنه دما | -۴۰ تا ۱۲۵ درجه سانتیگراد |
| دامنه رطوبت | ۰ تا ۱۰۰ %RH |
| بسته | DFN-6 |
| یادداشتها / واریانتها | None |
- سطح ولتاژ صحیح را فراهم کنید تا از آسیب به حساس(حس کننده) جلوگیری شود.
- در صورت نیاز از مقاومتهای Pull-up بر روی خطوط SDA و SCL استفاده کنید.
- آدرس I2C را با یک اسکنر بررسی کنید تا از پیکربندی صحیح اطمینان حاصل کنید.
- خروجی حساس(حس کننده) را با احتیاط مدیریت کنید تا از بروز خطا در قرائت جلوگیری شود.
- حساس(حس کننده) را هنگام انجام اندازهگیریها از منابع حرارتی دور نگه دارید.
دستورالعملهای سیمکشی

برای اتصال حساس(حس کننده) HTU21D به آردوینو، پایه VCC حساس(حس کننده) را به خروجی ۳.۳ ولت آردوینو متصل کنید. سپس، پایه GND حساس(حس کننده) را به زمین آردوینو وصل کنید. پایه SDA که برای انتقال داده استفاده میشود، باید به پایه A4 آردوینو متصل شود. به همین ترتیب، پایه SCL که برای سیگنال ساعت استفاده میشود، به پایه A5 آردوینو متصل کنید. اطمینان حاصل کنید که LCD شما به درستی متصل شده باشد؛ آدرس I2C برای LCD در این تنظیم معمولاً ۰x3F است. اگر از نوع دیگری از LCD یا آدرس I2C متفاوتی استفاده میکنید، مطمئن شوید که شِفر (کود) را به طور متناسب تنظیم کنید. پس از سیمکشی، حتماً بررسی کنید که اتصالات شل نباشند قبل از روشن کردن آردوینو.
نمونههای شِفر (کود) و راهنمایی
در شِفر (کود)، با وارد کردن کتابخانههای ضروری برای حساس(حس کننده) HTU21D و LCD شروع میکنیم:
#include
#include "Adafruit_HTU21DF.h"
#include
این محیط را برای استفاده از حساس(حس کننده) و نمایشگر فراهم میکند. کتابخانه `Adafruit_HTU21DF` عملکرد حساس(حس کننده) را مدیریت میکند، در حالی که کتابخانه `LiquidCrystal_I2C` نمایشگر LCD را کنترل میکند. در مرحله بعد، ما یک نمونه برای هر دو حساس(حس کننده) و LCD ایجاد میکنیم:
Adafruit_HTU21DF htu = Adafruit_HTU21DF();
LiquidCrystal_I2C lcd(0x3F, 16, 2);
اینجا،htuشیء مربوط به حساس(حس کننده) HTU21D است وlcdشیء برای نمایشگر LCD است. آدرس I2C برای LCD به 0x3F تنظیم شده است که ممکن است نیاز به تأیید آن بر اساس پیکربندی شما داشته باشید.setup()تابع، ما LCD را راهاندازی کرده و بررسی میکنیم که آیا حساس(حس کننده) عملیاتی است:
void setup() {
lcd.begin();
lcd.backlight();
if (!htu.begin()) {
lcd.print("Sensor missing");
while (1);
}
lcd.print("HTU21D Ready");
}
این شِفر (کود) LCD را راهاندازی میکند و وجود حساس(حس کننده) را بررسی میکند. اگر حساس(حس کننده) شناسایی نشود، عبارت "حساس(حس کننده) یافت نشد" نمایش داده شده و برنامه متوقف میشود.loop()در این تابع، به طور مداوم مقادیر دما و رطوبت را میخوانیم و آنها را نمایش میدهیم:
void loop() {
lcd.clear();
lcdDisplay(0, 0, "Celsius: ", 10, 0, getHTU('C'), 'd');
lcdDisplay(0, 1, "Humidity: ", 10, 1, getHTU('H'), '%');
delay(5000);
}
در این بخش، ما السیدی را پاک میکنیم، سپس فراخوانی میکنیمlcdDisplay()عملکردی برای نمایش دما به درجه سلسیوس و رطوبت.getHTU()تابعی دما یا رطوبت را بر اساس خصیصه وارد شده برمیگرداند.
نمایش / چه انتظاری باید داشته باشید
هنگامی که تنظیمات کامل شد و شِفر (کود) به آردوینو بارگذاری شد، LCD باید دمای جاری را به درجه سانتیگراد و رطوبت نسبی نمایش دهد. اگر همهچیز به درستی متصل شده باشد، مقادیر هر چند ثانیه یکبار بهروز میشوند. مراقب مشکلات رایج باشید، مانند اتصالات معکوس یا آدرسهای نادرست I2C، که میتواند به نقصهای ارتباطی حساس(حس کننده) منجر شود (در ویدیو در 05:00).
برچسبهای زمانی ویدئو
- ۰۰:۰۰- مقدمه
- ۰۱:۳۰- دستورالعملهای سیمکشی
- ۰۳:۱۵- توضیح شِفر (کود)
- ۰۴:۵۰- نمایش
- ۰۵:۴۰- نتیجه گیری
این آموزش بخشی از: سنسور رطوبت و دمای نسبی دیجیتال HTU21D
- درس 35-1: استفاده از حساس(حس کننده) دما HTU21D
- درس 35-2: استفاده از حساس(حس کننده) دما HTU21D - شِفر (کود) سفارشی
- درس 35: استفاده از حساس(حس کننده) دمای HTU21D با آردوینو
- درس ۳۶: استفاده از حساس(حس کننده) دما HTU21D با یک LCD در دوره آموزشی مرحله به مرحله آردوینو
- استفاده از دو حساس(حس کننده) رطوبت و دما HTU21DF دیگر با آردوینو
- نمایش دما از یک HTU21D به صورت نمودار میلهای بر روی یک LCD
- نحوه استفاده از حساس(حس کننده) رطوبت و دما HTU21DF با آردوینو (شِفر (کود) پایه)
- نحوه استفاده از حساس(حس کننده) رطوبت و دما HTU21DF با آردوینو (شِفر (کود) سفارشی)
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازون
-
ایبیHTU21D را از eBay خریداری کنیدebay.us
-
علیاکسپرسHTU21D یا SHT21 را از علیاکسپرس خریداری کنیدs.click.aliexpress.com
منابع و مراجع
-
خارجیکتابخانه Adafruit HTU21D (گیتهاب)github.com
فایلها📁
برگه مشخصات (pdf)
-
HTU21D_temerature_humidity_datasheet
HTU21D_temerature_humidity_datasheet.pdf0.96 MB