موضوعاتی که در این مقاله به آنها پرداخته خواهد شد :
ویژگی های سنسور دما و رطوبت SHT20
ماژول دما و رطوبت SHT2x کالیبره کامل، با مصرف برق بسیار کم و سرعت پاسخگویی بالا است. این سنسور ترکیبی از حسگر رطوبت خازنی و سنسور دمای باند سیلیکونی است.
ویژگی های کلیدی عبارتند از:
محدوده اندازه گیری دما: -40 تا +125 درجه سانتیگراد
دقت اندازه گیری دما: 0.3 درجه سانتی گراد
محدوده اندازه گیری رطوبت: 0 تا 100٪
دقت اندازه گیری رطوبت: 3% RH
پروتکل ارتباطی: I2C
پایه ها (pinout) سنسور دما و رطوبت SHT20
این ماژول دارای 4 پین است:
VCC: منبع تغذیه ماژول – 2.1-3.6 ولت
GND: زمین
SDA: ورودی/خروجی داده سریال برای پروتکل I2C
SCL: ورودی کلاک سریال برای پروتکل I2C
سنسورهای SHT2x شامل یک سنسور رطوبت از نوع خازنی، یک سنسور دمای فاصله باند و مدار مجتمع آنالوگ و دیجیتال هستند که همه بر روی یک تراشه CMOSens® قرار داده شده است . این ویژگی ها ، سنسور بی نظیری را از نظر دقت و پایداری و همچنین حداقل مصرف انرژی به همراه دارد.
هر سنسور به صورت جداگانه کالیبره و آزمایش می شود. علاوه بر این، وضوح SHT2x را می توان با دستور نرم افزاری تغییر داد (8/12 بیت تا 12/14 بیت برای RH/T).
راه اندازی سنسور دما و رطوبت SHT2x با STM32 و کدویژن
کتابخانه و مثال برای راه اندازی سنسورهای رطوبت و دما sht20,sht21,sht25 با stm32 و codevision تهیه شده است .
کتابخانه و مثال برای stm32 توسط هر دو نرم افزار stm32cubeide و Keil موجود می باشد و توسط توابع HAL نوشته شده است .
توابع کتابخانه سنسور رطوبت و دما sht2x برای stm32 و کدویژن یکسان می باشد و به شرح زیر می باشد .
#define SHT2x_I2C_ADDR 0x40 #define SHT2x_HOLD_MASTER 1 #define SHT2x_READ_TEMP_HOLD 0xe3 #define SHT2x_READ_RH_HOLD 0xe5 #define SHT2x_READ_TEMP_NOHOLD 0xf3 #define SHT2x_READ_RH_NOHOLD 0xf5 #define SHT2x_WRITE_REG 0xe6 #define SHT2x_READ_REG 0xe7 #define SHT2x_SOFT_RESET 0xfe #define SHT2x_TIMEOUT 1000 /*----------------------------------------------------------------------------*/ typedef enum SHT2x_Resolution { RES_14_12 = 0x00, RES_12_8 = 0x01, RES_13_10 = 0x80, RES_11_11 = 0x81, } SHT2x_Resolution; /*----------------------------------------------------------------------------*/ void SHT2x_Init(void); void SHT2x_SoftReset(void); void SHT2x_SetResolution(SHT2x_Resolution res); uint8_t SHT2x_ReadUserReg(void); uint16_t SHT2x_GetRaw(uint8_t cmd); float SHT2x_GetTemperature(uint8_t hold); float SHT2x_GetHumidity(uint8_t hold); float SHT2x_CelsiusToFahrenheit(float celsius); float SHT2x_CelsiusToKelvin(float celsius);
تصویر زیر نحوه استفاده از توابع برای خواندن رطوبت و دما از سنسور sht20 توسط نرم افزار کدویژن می باشد:
تصویر زیر نمایش مقدار رطوبت و دمای سنسور sht20 توسط STM32 می باشد:
همچنین بخوانید: آموزش راه اندازی سنسور رطوبت و دما SHT3x