Home » فروشگاه » ماژول سنسور رطوبت و دما Gebra SHT35
محصول اوریجینال جبرابیت
سنسور های محیطی

ماژول سنسور رطوبت و دما Gebra SHT35

8.640.000 ریال

دسترسی: موجود در انبار

نوع ماژول

ماژول رطوبت و دما

ولتاژ تغذیه

3V3, 5V

جریان مصرفی

10 mA to 30 mA (Typ. 20 mA)

نوع خروجی

I2C, Digital

محدوده سنجش دما

-40°C to +125°

حساسیت سنجش دما

± 0.1°C

محدوده سنجش رطوبت

0 to 100 %RH

حساسیت سنجش رطوبت

± 1.5%RH

ابعاد

Gebra small(36.29mm x 32.72mm)

دمای کاری

-40°C to +125°

مروری بر SHT35

SHT3x-DIS ها نسل بعدی سنسورهای دما و رطوبت Sensirion هستند که بر روی یک تراشه سنسور CMOSens جدید ساخته شده اند که در قلب پلت فرم جدید رطوبت و دما Sensirion قرار دارد. برخی از ویژگی‌های آنها شامل پردازش سیگنال پیشرفته، دو آدرس I2C متمایز و قابل انتخاب توسط کاربر و سرعت ارتباط تا 1 مگاهرتز است. این سنسورها در پکیج  DFN  ساخته میشوند و به همین دلیل میتوانند در کاربردهای مختلفی مورد استفاده قرار گیرند  بعلاوه، محدوده وسیع ولتاژ تغذیه این سنسورها( 2.4 ولت تا 5.5 ولت)، سازگاری آنها را با موقعیت های مختلف تضمین می کند.

ویژگی‌های فنی

  • Output Type: Digital-I2C
  • Temprature Range: -40°C to +125°
  • Humidity range: 0 to 100 %RH
  • For more specifications, please refer to datasheet
  • با توجه به اینکه دسترسی به پایه‌های سنسور دشوار است، کاربران برای توسعه سخت‌افزاری و نرم‌افزاری این سنسور به یک برد ابتدایی (starter board) و درایور نیاز دارند. برای راحتی کاربران، GebraMS برد ماژول سنسور رطوبت و دما Gebra SHT35 را طراحی کرده است. کاربران می‌توانند به کمک این برد، به مهم‌ترین پایه‌های سنسور به‌راحتی دسترسی پیدا کنند.
  • کافی است برد ماژول سنسور رطوبت و دما Gebra SHT35 را روی برد (Breadboard) قرار دهید و سپس با یکی از بردهای Arduino، Raspberry Pi یا Discovery و با اعمال ولتاژ مناسب، آن را راه‌اندازی کنید.
  • ما به‌ویژه استفاده از Gebra STM32F303 را توصیه می‌کنیم؛ چرا که این برد دارای رگولاتور داخلی ۳.۳ ولت است و ترتیب پایه‌های آن با تمامی ماژول‌های Gebra هماهنگ است (استاندارد GEBRABUS)، بنابراین می‌توانید برد ماژول سنسور رطوبت و دما Gebra SHT35 را مستقیماً به سوکت مربوطه متصل کرده و بدون نیاز به سیم‌کشی، برنامه‌نویسی را آغاز کنید.

GebraBit SHT35 ماژول

  • GebraBit SHT35 ماژول دیجیتال اندازه‌گیری دما و رطوبت است که با ولتاژهای تغذیه  3V3 و 5V کار می‌کند که کاربران می‌توانند به راحتی از طریق جامپر سلکتور روی ماژول، ولتاژ مورد نظر خود را انتخاب کنند همچنین  می‌توانند از طریق پروتکل I2C، با GebraBit SHT35 ارتباط برقرار کرده و قادر به تنظیم آدرس I2C از طریق جامپر سلکتور تعبیه شده روی ماژول، می‌باشند.
  • یکی دیگر از ویژگی‌های مهم GebraBit SHT35 این است که به راحتی می‌توان از طریق پین های RST و INT ماژول ، به پینRST  و پین وقفه سنسور دسترسی داشته و از آنها برای ریست ماژول و  ایجاد وقفه، برای نشان دادن وضعیت هشدار سنسور، استفاده کرد.

ویژگی‌های ماژول GebraBit SHT35

  • User-selectable module power supply voltage between 3V3 and 5V
  • Selectable I2C address
  • Access to Reset pin of SHT35
  • ON/OFF LED indicator
  • GebraBit Pin Compatible with GEBRABUS
  • It can be used as a daughter board of GebraBit MCU Modules
  • Featuring Castellated pad (Assembled as SMD Part)
  • Separatable screw parts to reduce the size of the board
  • Package: GebraBit small (36.29mm x 32.72mm)

معرفی بخش های ماژول

سنسور SHT35

  • سنسور رطوبت و دمای این ماژول بوده که در بالای ماژول قرار گرفته و مدار آن طراحی شده است.

جامپر سلکتور VCC SEL

  • با توجه به وضعیت مقاومت  0R این جامپر ، ولتاژ اصلی تغذیه سنسور از بین  “5V” و “3V3” انتخاب میشود

جامپر سلکتور ADD SEL

  • سنسور SHT35 توانایی پاسخگویی به 2 آدرس I²C مجزا را دارد. این ویژگی اجازه می دهد تا بتوان  چندین سنسور SHT35 را به یک شبکه I²C وصل کرد و از تضاد آدرس با سایر اجزا جلوگیری میکند. تنها محدودیت این ویژگی، این است که این سطح باید از وضعیت شروع I2C تا پایان ارتباط ثابت بماند.
  • به همین منظور جامپر سلکتور ADD SEL  روی ماژول GebraBit SHT35 تعبیه گردیده تا کاربر  بتواند به راحتی با تغییر وضعیت مقاومت 0R این جامپر، آدرس I2C سنسور را تغییر داده و چندین سنسور SHT35 را به شبکه I2C یکسان متصل کند.

LED تغذیه

با توجه به وضعیت جامپر VCC SEL و اعمال ولتاژ به ماژول توسط پین مربوطه، LED ماژول روشن می شود.

پین‌های ماژول GebraBit SHT35

پین های تغذیه

  • 3V3 و 5V : این پین‌ها می توانند با توجه به وضعیت جامپرسلکتور VCC SEL، تغذیه اصلی سنسور و سطح منطق(Logic Level) ارتباط دیجیتال(I2C ) سنسور را تامین کند.
  • GND : این پین زمین مشترک برای تغذیه و سطح منطق(Logic Level) سنسور می باشد.

پین‌های I2C

  • SDA : این پین، پین دیتای ارتباط I2C می باشد، که به پین دیتای متناظر در میکروکنترلر(پردازنده) ، متصل می شود.با توجه به وضعیت جامپر VCC SEL ،می توانید از سطح منطق(Logic Level) با ولتاژ 5V یا 3V3  استفاده کنید.
  • SCL : این پین، پین کلاک ارتباط I2C می باشد، که به پین کلاک متناظر در میکروکنترلر(پردازنده) ، متصل می شود.با توجه به وضعیت جامپر VCC SEL ،می توانید از سطح منطق(Logic Level) با ولتاژ 5V یا 3V3 استفاده کنید.

دیگر پین ها

  • Reset : از پین RST می توان برای تنظیم مجدد سنسور استفاده کرد. حداقل پالس 1 میکروثانیه برای reset سنسور لازم است.
  • INT : پین Interrupt (وقفه) سنسور SHT35 بوده که با توجه به دیتاشیت سنسور، کاربر می تواند شرایط وقوع وقفه،حالات و روش های وقوع وقفه و … را تنظیم کند.

اتصال به پردازنده

اتصال I2C با GebraBit STM32F303

برای اتصال I2C ماژول GebraBit SHT35به ماژول میکروکنترلرGebraBit STM32F303 بعد از تعریف کردن SDA و SCL روی پین های PB9 و PB8 (برای راحتی کار در STMCUBEMX)مراحل زیر را دنبال کنید:

  • پین “3V3” ماژول SHT35 را به پین “3V3” خروجی ماژول میکروکنترلر متصل کنید.(سیم قرمز)
  • پین “GND” ماژول SHT35 را به پین “GND” ماژول میکروکنترلر متصل کنید.(سیم سیاه)
  • پین “SCL” ماژول SHT35 را به پین PB8 ماژول میکروکنترلر (SCL) متصل کنید.(سیم آبی)
  • پین “SDA” ماژول SHT35 را به پین PB9 ماژول میکروکنترلر (SDA) متصل کنید.(سیم زرد)

توجه: با توجه به اینکه پین PA14 ماژول میکروکنترلرGebraBit STM32F303 برای پروگرام کردن میکروکنترلر استفاده میشود،تنظیم I2C بر روی پین های PA14 و PA15 در این ورژن مقدور نمی باشد،لذا در اتصال I2C به ماژول میکروکنترلرGebraBit STM32F303 در این ورژن ، ماژول GebraBit SHT35 نمی تواند به صورت Pin to Pin بر روی آن قرار گیرد.

اتصال I2C با GebraBit ATMEGA32A

با توجه به اینکه پین های I2C میکروکنترلر ATMEGA32A بر اساس استاندارد GEBRABUS متناظر با پین های I2C  دیگر ماژول های GEBRABIT می باشد،  ماژول GebraBit SHT35 را به صورت Pin to Pin بر روی ماژول GebraBit ATMEGA32A قرار داده و به راحتی با ماژول GebraBit SHT35 از طریق I2C ارتباط برقرار کنید:

توجه: در صورت استفاده از ماژول‌های میکروکنترلریGebraBit  توجه داشته باشید که جامپر سلکتورVCC SEL ماژول GebraBit SHT35روی “3V3” باشد تا راحت تر بتوانید با گرفتن ولتاژ”3V3” از ماژول میکروکنترلری ، ماژول سنسور مورد نظر را راه اندازی کنید.

اتصال I2C با ARDUINO UNO

برای اتصال I2C ماژول GebraBit SHT35به ARDUINO UNO مراحل زیر را دنبال کنید:

  • پین “3V3” ماژول SHT35 را به پین “3V3” خروجی برد ARDUINO UNO متصل کنید.(سیم قرمز)
  • پین “GND” ماژول SHT35 را به پین “GND” برد ARDUINO UNO متصل کنید.(سیم سیاه)
  • پین “SCL” ماژول SHT35 را به پین A4 برد  ARDUINO UNO( (SCLمتصل کنید.(سیم نارنجی)
  • پین “SDA” ماژول SHT35 را به پین A5 برد ARDUINO UNO( (SDAمتصل کنید.(سیم آبی)

نوع ماژول

ماژول رطوبت و دما

ولتاژ تغذیه

3V3, 5V

جریان مصرفی

10 mA to 30 mA (Typ. 20 mA)

نوع خروجی

I2C, Digital

محدوده سنجش دما

-40°C to +125°

حساسیت سنجش دما

± 0.1°C

محدوده سنجش رطوبت

0 to 100 %RH

حساسیت سنجش رطوبت

± 1.5%RH

ابعاد

Gebra small(36.29mm x 32.72mm)

دمای کاری

-40°C to +125°

هدف این پروژه چیست؟

هدف این پروژه، واسط کردن سنسور دما و رطوبت SHT35 با Arduino برای اندازه‌گیری و پایش دقیق شرایط محیطی است. SHT35 با ارائه اندازه‌گیری‌های دقیق دما و رطوبت نسبی، برای کاربردهایی مانند پایش اقلیم، کنترل کیفیت هوای داخلی و سیستم‌های کشاورزی ایده‌آل است. کاربران می‌توانند با خواندن داده‌ها به‌صورت لحظه‌ای، سیستم‌هایی طراحی کنند که به تغییرات دما و رطوبت واکنش دینامیک نشان می‌دهند و در کاربردهای مختلف محیطی و صنعتی عملکرد و اطمینان را افزایش می‌دهند.


در این آموزش چه چیزهایی خواهیم آموخت؟

  • اتصال سنسور SHT35 به Arduino و برقراری ارتباط I2C
  • استفاده از یک کتابخانه موجود برای ساده‌سازی یکپارچه‌سازی سنسور و ارتقاء درک پردازش داده‌های I2C
  • خواندن داده‌های دقیق دما و رطوبت از سنسور و تفسیر آنها برای کاربردهای واقعی
  • پیاده‌سازی پروژه‌های مبتنی بر سنسور برای پایش محیطی و کنترل اقلیم و کسب مهارت‌های عملی در ایجاد سیستم‌های واکنشی بر اساس شرایط محیطی

این راهنمای عملی، اطلاعات ارزشمندی درباره یکپارچه‌سازی سنسور با Arduino و پایش داده‌های لحظه‌ای محیطی ارائه می‌دهد.

برای شروع این پروژه به چه چیزهایی نیاز داریم؟

برای اجرای این پروژه به سخت‌افزار و نرم‌افزار نیاز داریم. عناوین این سخت‌افزارها و نرم‌افزارها در جدول زیر به شما ارائه شده است و می‌توانید با کلیک بر روی هر یک، آن را تهیه/دانلود کرده و برای شروع آماده شوید.

سخت افزارهای مورد نیازنرمافزارهای مورد نیاز
Arduino ProgrammerArduino IDE
Arduino Development Board- ( Arduino UNO )
ماژول سنسور رطوبت و دما Gebra SHT35

GebraMS برای راحتی شما، کتابخانه‌های ویژه‌ای را برای اکثر پروژه‌های آردوینو آماده کرده است.
شما باید کتابخانه آماده شده توسط GebraMS را دانلود کرده و آن را به Arduino IDE خود اضافه کنید.

ابتدا، همان‌طور که در تصویر زیر نشان داده شده است، ماژول Gebra SHT35 را به این صورت به Arduino UNO متصل می‌کنیم:

سورس کد

کتابخانه پروژه (Library)

جبرابیت علاوه بر طراحی ماژولار انواع حسگرها و قطعات مجتمع، برای سهولت در نصب و توسعه نرم‌افزار توسط کاربران، مجموعه‌ای از کتابخانه‌های ساختاریافته و مستقل از سخت‌افزار را به زبان C ارائه می‌دهد. در این راستا، کاربران می‌توانند کتابخانه‌ی مربوط به ماژول مورد نظر خود را در قالب فایل‌های “.h” و “.c” دانلود کنند.

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

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

USER REGISTER MAP

نقشه رجیستر یا دستورات سنسور در این بخش تعریف شده‌اند:

C
/************************************************
 *              USER REGISTER MAP               *
 ************************************************/
#define SHT35_SOFT_RESET_TIME                         5
#define SHT35_ADDRESS                                0x44
#define SHT35_READOUT_PERIODIC_MEASUREMENT_RESULT   0xE000
#define SHT35_ART                                   0x2B32
#define SHT35_BREAK_STOP                            0x3093
#define SHT35_SOFT_RESET                            0x30A2
#define SHT35_HEATER_ON                             0x306D
#define SHT35_HEATER_OFF                            0x3066
#define SHT35_READOUT_STATUS_REGISTER               0xF32D
#define SHT35_CLEAR_STATUS_REGISTER                 0x3041
/*----------------------------------------------*
 *           USER REGISTER MAP End              *
 *----------------------------------------------*/

SHT35_Ability Enum

توانایی فعال یا غیرفعال کردن بخش‌های مختلف سنسور در این enum تعریف شده است:

C
typedef enum Ability
{
	Disable = 0 ,
	Enable
}SHT35_Ability;

SHT35_Single_Shot_Mode Enum

مقادیر این enum برای انتخاب حالت‌های مختلف اندازه‌گیری سنسور در حالت Single Shot استفاده می‌شوند:

C
 typedef enum Single_Shot_Mode
  {
   SHT35_HIGH_REPEATABILITY_CLOCK_STRETCHING      =  0x2C06 ,
   SHT35_MEDIUM_REPEATABILITY_CLOCK_STRETCHING    =  0x2C0D ,
   SHT35_LOW_REPEATABILITY_CLOCK_STRETCHING       =  0x2C10 ,
   SHT35_HIGH_REPEATABILITY_NO_CLOCK_STRETCHING   =  0x2400 ,
   SHT35_MEDIUM_REPEATABILITY_NO_CLOCK_STRETCHING =  0x240B ,
   SHT35_LOW_REPEATABILITY_NO_CLOCK_STRETCHING    =  0x2416
  }SHT35_Single_Shot_Mode;

SHT35_Periodic_Data_Acquisition_Mode Enum

مقادیر این enum برای انتخاب حالت‌های مختلف جمع‌آوری داده‌های سنسور در حالت دوره‌ای (periodic mode) استفاده می‌شوند:

C
 typedef enum Periodic_Data_Acquisition_Mode
  {
   SHT35_HIGH_REPEATABILITY_0P5_MPS_FREQUENCY      =  0x2032 ,
   SHT35_MEDIUM_REPEATABILITY_0P5_MPS_FREQUENCY    =  0x2024 ,
   SHT35_LOW_REPEATABILITY_0P5_MPS_FREQUENCY       =  0x202F ,
   SHT35_HIGH_REPEATABILITY_1_MPS_FREQUENCY   	 =  0x2130 ,
   SHT35_MEDIUM_REPEATABILITY_1_MPS_FREQUENCY 	 =  0x2126 ,
   SHT35_LOW_REPEATABILITY_1_MPS_FREQUENCY    	 =  0x212D ,
   SHT35_HIGH_REPEATABILITY_2_MPS_FREQUENCY        =  0x2236 ,
  SHT35_MEDIUM_REPEATABILITY_2_MPS_FREQUENCY      =  0x2220 ,
  SHT35_LOW_REPEATABILITY_2_MPS_FREQUENCY         =  0x222B ,
  SHT35_HIGH_REPEATABILITY_4_MPS_FREQUENCY   	 =  0x2334 ,
  SHT35_MEDIUM_REPEATABILITY_4_MPS_FREQUENCY 	 =  0x2322 ,
  SHT35_LOW_REPEATABILITY_4_MPS_FREQUENCY    	 =  0x2329 ,
  SHT35_HIGH_REPEATABILITY_10_MPS_FREQUENCY   	 =  0x2737 ,
  SHT35_MEDIUM_REPEATABILITY_10_MPS_FREQUENCY 	 =  0x2721 ,
  SHT35_LOW_REPEATABILITY_10_MPS_FREQUENCY    	 =  0x272A
 }SHT35_Periodic_Mode;

SHT35_ Command_Status Enum

برای اطلاع از وضعیت دستورات ارسال‌شده به سنسور، از مقادیر این enum استفاده می‌شود:

C
 typedef enum Command_Status
 {
 	LAST_COMMAND_PROCESSED       = 0 ,
 	LAST_COMMAND_NOT_PROCESSED   = 1
 }SHT35_Command_Status;

SHT35_ Checksum_Status Enum

این enum برای اطلاع از وضعیت چکسام (checksum) استفاده می‌شود:

C
 typedef enum Checksum_Status
 {
 ECKSUM_CORRECT               = 0 ,
 	LAST_WRITE_CHECKSUM_FAILED  = 1
 }SHT35_Checksum_Status;

SHT35_Measurement_Time Enum

این enum برای انتخاب زمان تبدیل مقادیر داده استفاده می‌شود:

C
 typedef enum Measurement_Time
 {
   HIGH_REPEATABILITY_15_mS      =  15 ,
   MEDIUM_REPEATABILITY_6_mS     =  6  ,
   LOW_REPEATABILITY_4_mS        =  4  ,
 }SHT35_Measurement_Time;

SHT35_ Heater Enum

با استفاده از این enum، گرم‌کن داخلی سنسور روشن یا خاموش می‌شود:

C
 typedef enum Heater
 {
 	HEATER_ENABLE  = SHT35_HEATER_ON ,
 	HEATER_DISABLE = SHT35_HEATER_OFF
 }SHT35_Heater;

SHT35_Alert_Pending_Status Enum

با استفاده از این enum، وضعیت اعلان‌ها و هشدارهای سنسور بررسی می‌شود:

C
 typedef enum Alert_Pending_Status
 {
   NO_PENDING_ALERT   		  = 0,
   AT_LEAST_ONE_PENDING_ALERT   = 1
 } SHT35_Alert_Pending_Status;

SHT35_CRC_Status Enum

با استفاده از این enum، وضعیت بررسی CRC مشخص می‌شود:

C
 typedef enum CRC_Status
 {
 	CRC_ERROR = 0 ,
 	CRC_OK
 }SHT35_CRC_Status;

SHT35_Reset_Status Enum

با استفاده از این enum، وضعیت ریست سنسور مشخص می‌شود:

C
 typedef enum
 {
 	NOT_DETECTED = 0 ,
 	DETECTED
 }SHT35_Reset_Status;

SHT35 struct

تمام خصوصیات سنسور، ضرایب کالیبراسیون و داده‌های سنسور در این «struct» تعریف شده‌اند و همه اطلاعات و تنظیمات اعمال‌شده روی سنسور در این «structure» ذخیره می‌شوند و می‌توانید تغییرات هر بخش از سنسور را در محیط «Debug Session» مشاهده کنید.

C
 typedef	struct SHT35
  {
  	  uint8_t                       	   Register_Cache;
  	  SHT35_Reset				           RESET;
  	  uint16_t							   COMMAND;
  	  SHT35_Single_Shot_Mode               SINGLE_SHOT_MODE;
  	  SHT35_Periodic_Mode                  PERIODIC_MODE;
  	  SHT35_Measurement_Time               MEASUREMENT_TIME;
  	  HTU31D_Ability                       ART;
 	  uint16_t							   STATUS_REGISTER;
 	  SHT35_Alert_Pending_Status           ALERT_PENDING;
 	  SHT35_Heater			               ON_CHIP_HEATER;
 	  SHT35_Alert						   HUMIDITY_ALERT;
 	  SHT35_Alert						   TEMPERATURE_ALERT;
 	  SHT35_Command_Status                 COMMAND_STATUS;
 	  SHT35_Checksum_Status 	           CHECKSUM;
 	  uint8_t 							   SHT35_CRC;
 	  SHT35_CRC_Status			           CRC_CHECK;
 	  uint8_t                              ADC_RAW_DATA[ADC_RAW_DATA_BUFFER_SIZE];
 	  uint16_t                             RAW_TEMPERATURE;
 	  uint16_t							   RAW_HUMIDITY;
       float 							   TEMPERATURE;
 	  float 							   HUMIDITY;
 //	  double							   PARTIAL_PRESSURE;
 //	  double 							   DEW_POINT;
 }GebraBit_SHT35;

Declaration of functions

در انتهای این فایل، تمام توابع مربوط به خواندن و نوشتن در رجیسترهای SHT35، پیکربندی سنسور و دریافت داده‌ها از سنسور اعلام شده‌اند:

C
 /********************************************************
   *  Declare Read&Write SHT35 Register Values Functions *
   ********************************************************/
  extern void GB_SHT35_Write_Command(GebraBit_SHT35 * SHT35 , uint16_t cmd);
  /********************************************************
   *       Declare MS5611 Configuration Functions         *
   ********************************************************/
  extern void GB_SHT35_Soft_Reset ( GebraBit_SHT35 * SHT35 )  ;
  extern void GB_SHT35_CRC_Check( GebraBit_SHT35 * SHT35 , uint16_t value, uint8_t crc) ;
 extern void GB_SHT35_On_Chip_Heater ( GebraBit_SHT35 * SHT35 , SHT35_Heater heater )   ;
 extern void GB_SHT35_Read_Serial_Number ( GebraBit_SHT35 * SHT35  )    ;
 extern void GB_SHT35_Read_Diagnostic ( GebraBit_SHT35 * SHT35  )   ;
 extern void GB_SHT35_Configuration(GebraBit_SHT35 * SHT35)  ;
 extern void GB_SHT35_Start_Conversion ( GebraBit_SHT35 * SHT35   )   ;
 extern void GB_SHT35_Read_Raw_Temperature_Humidity( GebraBit_SHT35 * SHT35 )  ;
 extern void GB_SHT35_Temperature ( GebraBit_SHT35 * SHT35 )  ;
 extern void GB_SHT35_Humidity ( GebraBit_SHT35 * SHT35 )   ;
 extern void GB_SHT35_Dew_Point( GebraBit_SHT35 * SHT35  ) ;
 extern void GB_SHT35_initialize( GebraBit_SHT35 * SHT35 )  ;
 extern void GB_SHT35_Get_Data(GebraBit_SHT35 * SHT35);

فایل منبع Gebra_SHT35.c

این فایل به زبان C نوشته شده و تمامی توابع با جزئیات کامل کامنت‌گذاری شده‌اند. پارامترهای ورودی و مقادیر بازگشتی توابع به‌صورت واضح توضیح داده شده‌اند. بنابراین فقط به این توضیحات اکتفا می‌کنیم و کاربران را برای اطلاعات بیشتر مستقیماً به این فایل ارجاع می‌دهیم.

برنامه نمونه در Arduino

پس از اتصال ماژول به Arduino و افزودن کتابخانه به IDE، به مسیر زیر بروید:
File > Examples > GebraBit_SHT35 > Temp-Humid

توضیح فایل نمونه

enumها و توابع مورد نیاز ماژول Gebra SHT35 به ساختارها اضافه شده‌اند. در بخش بعدی، یک متغیر به نام SHT35_Module از نوع ساختار Gebra_SHT35 (که در هدر Gebra_SHT35 تعریف شده و در بخش توضیحات کتابخانه شرح داده شده است) برای پیکربندی ماژول Gebra SHT35 تعریف شده است:

C
GebraBit_SHT35 SHT35;

در بخش بعدی کد نوشته شده، با استفاده از توابع
GB_SHT35_initialize(&SHT35_Module)
و
GB_SHT35_Configuration(&SHT35_Module)
ماژول Gebra SHT35 را تنظیم می‌کنیم و در نهایت در بخش حلقه while برنامه، داده‌ها از سنسور خوانده شده و مقادیر رطوبت و دما به‌صورت پیوسته دریافت می‌شوند:

C
void setup() {
    Wire.begin();           // Initialize the I2C bus
    Serial.begin(9600);     // Initialize serial communication for debugging

    GB_SHT35_initialize(&SHT35); // Initialize the SHT35 sensor
    GB_SHT35_Configuration(&SHT35); // Configure the SHT35 sensor
}

void loop() {
    GB_SHT35_Get_Data(&SHT35); // Read data from the sensor

    Serial.print("Temperature: ");
    Serial.print(SHT35.TEMPERATURE);
    Serial.println(" °C");

    Serial.print("Humidity: ");
    Serial.print(SHT35.HUMIDITY);
    Serial.println(" %");

    delay(2000); // Delay between readings
}

The Sample file code text:

C
#include "GebraBit_SHT35.h"

GebraBit_SHT35 SHT35;

void setup() {
    Wire.begin();           // Initialize the I2C bus
    Serial.begin(9600);     // Initialize serial communication for debugging

    GB_SHT35_initialize(&SHT35); // Initialize the SHT35 sensor
    GB_SHT35_Configuration(&SHT35); // Configure the SHT35 sensor
}

void loop() {
    GB_SHT35_Get_Data(&SHT35); // Read data from the sensor

    Serial.print("Temperature: ");
    Serial.print(SHT35.TEMPERATURE);
    Serial.println(" °C");

    Serial.print("Humidity: ");
    Serial.print(SHT35.HUMIDITY);
    Serial.println(" %");

    delay(2000); // Delay between readings
}

Arduino خود را به کامپیوتر وصل کنید و برد Arduino خود را انتخاب کنید.

سپس کد نمونه را تأیید (Verify) و آپلود (Upload) کنید.

بعد از آپلود کردن کد، سریال مانیتور را باز کنید و می‌توانید مقادیر روشنایی را مشاهده کنید.

1. سنسور SHT35 چیست و چه کاربردی دارد؟

سنسور SHT35 یک حسگر دما و رطوبت دیجیتال از شرکت Sensirion است که با فناوری CMOSens® طراحی شده است. این سنسور قادر به اندازه‌گیری دقیق رطوبت (Relative Humidity) و دما با خروجی دیجیتال I²C می‌باشد. از SHT35 در دستگاه‌های هواشناسی، تجهیزات پزشکی، کنترل محیطی و اینترنت اشیا (IoT) استفاده می‌شود.
🔗 Reference: Official Datasheet – SHT35


2. محدوده اندازه‌گیری در سنسور SHT35 چقدر است؟

سنسور SHT35 می‌تواند دما را از –40°C تا +125°C و رطوبت را از 0 تا 100%RH اندازه‌گیری کند. این محدوده گسترده باعث می‌شود که SHT35 در محیط‌های صنعتی، کشاورزی و آزمایشگاهی قابل استفاده باشد. دقت (accuracy) آن تا ±0.1°C و ±1.5%RH است که نسبت به مدل‌های قبلی مانند SHT31 بسیار بهبود یافته است.
🔗 Reference: Official Datasheet – SHT35


3. ولتاژ کاری و توان مصرفی سنسور SHT35 چقدر است؟

سنسور SHT35 در محدوده ولتاژ 2.15V تا 5.5V کار می‌کند. جریان مصرفی در حالت اندازه‌گیری حدود 0.9 mA و در حالت sleep کمتر از 0.2 µA است. این مصرف پایین انرژی، SHT35 را برای سیستم‌های باتری‌خور و تجهیزات کم‌مصرف ایده‌آل می‌کند.
🔗 Reference: Official Datasheet – SHT35


4. نحوه ارتباط دیجیتال SHT35 با میکروکنترلر چگونه است؟

سنسور SHT35 از رابط دیجیتال I²C با دو خط SDA و SCL استفاده می‌کند. آدرس I²C به صورت پیش‌فرض 0x44 است و در صورت تغییر پایه ADDR به HIGH، به 0x45 تغییر می‌یابد. سرعت انتقال داده در حالت Fast Mode Plus تا 1 MHz می‌رسد که باعث ارتباط پایدار و سریع می‌شود.
🔗 Reference: Official Datasheet – SHT35


5. آیا سنسور SHT35 نیاز به کالیبراسیون (Calibration) دارد؟

سنسور SHT35 به‌صورت factory calibrated عرضه می‌شود و نیازی به کالیبراسیون مجدد ندارد. هر سنسور قبل از خروج از کارخانه Sensirion با استانداردهای ISO 17025 تست و تنظیم می‌شود. با این حال در کاربردهای صنعتی سنگین، پیشنهاد می‌شود هر ۲ سال یک‌بار دقت (accuracy) بررسی گردد.
🔗 Reference: Official Datasheet – SHT35


6. دقت (Accuracy) سنسور SHT35 در مقایسه با SHT31 چقدر بهتر است؟

سنسور SHT35 نسبت به SHT31 حدود 25٪ دقت بالاتری در اندازه‌گیری دارد. خطای اندازه‌گیری دما در SHT35 فقط ±0.1°C است، در حالی که در SHT31 حدود ±0.3°C می‌باشد. همچنین دقت رطوبت از ±2%RH به ±1.5%RH ارتقا یافته است. این تفاوت برای سیستم‌های کالیبراسیون دقیق بسیار مهم است.
🔗 Reference: Official Datasheet – SHT35


7. زمان پاسخ‌دهی (Response Time) سنسور SHT35 چقدر است؟

زمان پاسخ‌دهی (τ63%) برای SHT35 حدود 8 ثانیه در جریان هوا (1 m/s) است. این عدد نشان می‌دهد که SHT35 برای سیستم‌هایی که نیاز به پاسخ سریع به تغییرات محیطی دارند، مانند HVAC یا کنترل گلخانه، بسیار مناسب است.
🔗 Reference: Official Datasheet – SHT35


8. چگونه داده‌های سنسور SHT35 در Arduino خوانده می‌شوند؟

برای استفاده از SHT35 در Arduino، ابتدا باید کتابخانه رسمی Sensirion را نصب کنید. سپس با استفاده از توابع readTemperature() و readHumidity() می‌توان داده‌ها را دریافت کرد. ارتباط از طریق I²C برقرار می‌شود و کد نمونه در GitHub Sensirion موجود است.
🔗 Reference: Arduino Library – SHT35


9. روش خواندن داده از SHT35 در STM32 چگونه است؟

در STM32 از HAL I²C استفاده می‌شود. دستور ارسال به SHT35 معمولاً 0x2400 است که مربوط به High Repeatability Measurement می‌باشد. پس از ارسال، 6 بایت داده شامل دو مقدار 16 بیتی برای دما و رطوبت به همراه CRC بازمی‌گردد. CRC در SHT35 طبق Polynomial 0x31 محاسبه می‌شود.
🔗 Reference: Official Datasheet – SHT35


10. فرمول محاسبه دما و رطوبت از داده خام SHT35 چیست؟

برای محاسبه داده واقعی از مقدار خام (Raw Data)، باید از روابط زیر استفاده کرد:
T(°C) = -45 + 175 × (ST / 65535)
RH(%) = 100 × (SRH / 65535)
در این فرمول ST و SRH داده‌های 16 بیتی هستند که از سنسور SHT35 دریافت می‌شوند. این معادلات مستقیماً در دیتاشیت Sensirion ذکر شده‌اند.
🔗 Reference: Official Datasheet – SHT35


11. پدیده Self-Heating در SHT35 چیست و چگونه کاهش می‌یابد؟

سنسور SHT35 در حین نمونه‌برداری‌های مکرر ممکن است کمی گرم شود (self-heating). این گرمایش باعث خطای جزئی در اندازه‌گیری دما می‌شود. Sensirion توصیه می‌کند نرخ اندازه‌گیری (sampling rate) را کمتر از 1 Hz نگه دارید تا self-heating تأثیر ناچیزی داشته باشد.
🔗 Reference: Official Datasheet – SHT35


12. چگونه می‌توان drift طولانی‌مدت در SHT35 را جبران (Compensate) کرد؟

در طول زمان، drift در خروجی سنسور SHT35 می‌تواند تا ±0.25 %RH در سال ایجاد شود. برای جبران، می‌توان از مقایسه دوره‌ای با مرجع کالیبره‌شده و اعمال offset نرم‌افزاری استفاده کرد. استفاده از پوشش محافظ PTFE نیز باعث کاهش drift می‌شود.
🔗 Reference: Official Datasheet – SHT35


13. طراحی سخت‌افزاری مناسب برای SHT35 چگونه باید باشد؟

در طراحی PCB برای SHT35 باید مسیرهای SDA و SCL کوتاه باشند و خازن‌های Pull-up در حدود 10 kΩ استفاده شود. بهتر است حسگر در معرض جریان هوای آزاد باشد و در نزدیکی منابع گرما (MCU, Regulator) قرار نگیرد تا دقت دما حفظ شود.
🔗 Reference: Application Note – SHT35


14. حالت Alert Mode در سنسور SHT35 چگونه کار می‌کند؟

سنسور SHT35 دارای حالتی به نام Alert Mode است که با عبور مقدار RH یا دما از حد آستانه (threshold) مشخص، سیگنال هشدار تولید می‌کند. این قابلیت برای سیستم‌های HVAC و کنترل محیطی بسیار مفید است. آستانه‌ها از طریق رجیسترهای داخلی I²C تنظیم می‌شوند.
🔗 Reference: Application Note – Alert Mode SHT35


15. روش Reset کردن نرم‌افزاری در SHT35 چگونه است؟

برای ریست نرم‌افزاری سنسور SHT35 باید فرمان I²C به مقدار 0x30A2 ارسال شود. این دستور تمام تنظیمات داخلی را به حالت پیش‌فرض کارخانه برمی‌گرداند، بدون نیاز به قطع تغذیه. Reset باعث افزایش پایداری و حذف خطاهای موقتی در هنگام ارتباط می‌شود.
🔗 Reference: Official Datasheet – SHT35


16. آیا می‌توان SHT35 را در محیط با رطوبت اشباع (Condensing) استفاده کرد؟

سنسور SHT35 برای کار در محیط‌های با رطوبت بالا طراحی شده ولی در شرایط condensing humidity (100%RH) نیاز به محافظ دارد. استفاده از فیلتر PTFE یا فیلتر ePTFE از Sensirion توصیه می‌شود تا از نفوذ قطرات آب به سطح سنسور جلوگیری شود.
🔗 Reference: Product Page – SHT35


17. طول کابل مجاز برای ارتباط I²C با SHT35 چقدر است؟

در ارتباط I²C با سنسور SHT35، طول کابل معمولاً نباید از 20 تا 30 سانتی‌متر بیشتر شود. با استفاده از مقاومت‌های Pull-up مناسب (۴.۷ تا ۱۰ kΩ) و شیلد کابل، می‌توان طول را تا ۱ متر نیز افزایش داد. برای فواصل بیشتر، توصیه می‌شود از تقویت‌کننده I²C (مانند P82B715) استفاده شود.
🔗 Reference: Official Datasheet – SHT35


18. نحوه عملکرد CRC در داده‌های خروجی SHT35 چگونه است؟

هر اندازه‌گیری در سنسور SHT35 شامل دو مقدار داده (دما و رطوبت) و دو بایت CRC است. الگوریتم CRC-8 با Polynomial 0x31 (x⁸ + x⁵ + x⁴ + 1) و مقدار اولیه 0xFF محاسبه می‌شود. این سازوکار از انتقال داده‌های معیوب در ارتباط I²C جلوگیری می‌کند.
🔗 Reference: Official Datasheet – SHT35


19. زمان تبدیل (Conversion Time) در SHT35 چقدر است؟

در سنسور SHT35 زمان تبدیل (conversion time) به حالت انتخاب‌شده بستگی دارد. در حالت High Repeatability حدود 12 ms، در حالت Medium حدود 7 ms و در حالت Low حدود 4 ms است. این انعطاف به کاربر اجازه می‌دهد بین سرعت و دقت تعادل برقرار کند.
🔗 Reference: Official Datasheet – SHT35


20. رفتار سنسور SHT35 در برابر EMI/EMC چگونه است؟

حسگر SHT35 دارای طراحی مقاوم در برابر تداخل الکترومغناطیسی (EMI) و سازگار با استانداردهای EMC اروپا است. بدنه فلزی و طراحی CMOSens® باعث کاهش حساسیت به نویز می‌شود. استفاده از زمین (GND plane) و خازن بای‌پس نزدیک سنسور توصیه می‌شود.
🔗 Reference: Product Page – SHT35


21. نحوه استفاده از حالت Periodic Data Acquisition در SHT35 چیست؟

در حالت Periodic Mode، سنسور SHT35 به‌صورت خودکار در بازه‌های زمانی مشخص داده اندازه‌گیری می‌کند و آماده خواندن است. این حالت باعث کاهش مصرف توان و تأخیر نرم‌افزاری می‌شود. با ارسال دستور 0x2737 می‌توان اندازه‌گیری 10 Hz را فعال کرد.
🔗 Reference: Official Datasheet – SHT35


22. چه عواملی باعث کاهش accuracy در SHT35 می‌شوند؟

عوامل اصلی شامل گردوغبار، آلودگی شیمیایی، self-heating، یا استفاده در محیط‌های بسیار مرطوب هستند. برای حفظ accuracy سنسور SHT35 باید در محیط تمیز با تهویه مناسب نصب شود. استفاده از فیلتر PTFE و اندازه‌گیری با نرخ پایین‌تر نیز به کاهش drift کمک می‌کند.
🔗 Reference: Official Datasheet – SHT35


23. چه زمانی باید سنسور SHT35 جایگزین یا کالیبره شود؟

در شرایط استاندارد (25°C، 45%RH)، سنسور SHT35 پایداری بلندمدت بیش از ۱۰ سال دارد. اگر خطا در دما بیش از ±0.3°C یا در RH بیش از ±2%RH شود، پیشنهاد می‌شود دوباره کالیبره یا تعویض گردد. این فرآیند معمولاً هر 3 تا 5 سال انجام می‌شود.
🔗 Reference: Official Datasheet – SHT35


24. نحوه ذخیره‌سازی (Storage) مناسب سنسور SHT35 چگونه است؟

سنسور SHT35 باید در دمای بین 10°C تا 50°C و رطوبت کمتر از 60%RH نگهداری شود. برای نگهداری طولانی، قرار دادن در بسته آلومینیومی با ژل سیلیکا پیشنهاد می‌شود. شرایط ذخیره مناسب مانع از drift یا آلودگی سطحی می‌شود.
🔗 Reference: Official Datasheet – SHT35


25. آیا SHT35 خروجی آنالوگ دارد؟

خیر. سنسور SHT35 فقط خروجی دیجیتال از طریق رابط I²C دارد و سیگنال آنالوگ تولید نمی‌کند. برای کاربردهایی که خروجی ولتاژی لازم دارند، باید از مبدل دیجیتال به آنالوگ (DAC) در میکروکنترلر استفاده شود.
🔗 Reference: Product Page – SHT35


26. روش اطمینان از صحت ارتباط I²C با SHT35 چیست؟

برای اطمینان از صحت ارتباط، می‌توان از دستور Read Status Register (0xF32D) استفاده کرد. مقدار برگشتی شامل بیت خطا، Heater و Alert است. اگر CRC نیز صحیح باشد، ارتباط با SHT35 بدون خطا برقرار است.
🔗 Reference: Official Datasheet – SHT35


27. نحوه استفاده از Heater داخلی SHT35 چگونه است؟

سنسور SHT35 دارای heater داخلی برای حذف تراکم (condensation) است. با ارسال فرمان 0x306D می‌توان heater را فعال کرد. توان گرمایی بسیار کم (≈ 15 mW) است و موجب تغییر دما حدود 1 تا 2°C می‌شود. پس از خشک شدن، باید heater خاموش گردد.
🔗 Reference: Official Datasheet – SHT35


28. چه تفاوتی بین مدل‌های SHT35-DIS-B و SHT35-DIS-F وجود دارد؟

هر دو مدل از لحاظ عملکرد مشابه‌اند اما SHT35-DIS-F دارای پوشش محافظ PTFE Factory-Installed است. این پوشش مانع نفوذ گرد و رطوبت شدید می‌شود. مدل SHT35-DIS-B برای استفاده در محیط‌های کنترل‌شده و تمیز مناسب‌تر است.
🔗 Reference: Product Page – SHT35


29. نحوه تبدیل داده‌های خروجی SHT35 به واحدهای مهندسی چگونه است؟

داده خام دما و رطوبت از SHT35 به صورت 16-bit ارائه می‌شود. با فرمول‌های زیر می‌توان مقادیر واقعی را بدست آورد:
T = -45 + 175 × ST/65535
RH = 100 × SRH/65535
این فرمول‌ها در تمام مدل‌های SHT3x مشترک هستند.
🔗 Reference: Official Datasheet – SHT35


30. آیا SHT35 در برابر مواد شیمیایی مقاوم است؟

سنسور SHT35 نسبت به بسیاری از مواد شیمیایی بی‌اثر است، ولی قرار گرفتن طولانی در معرض بخارات الکل، اسید یا چسب‌های سیلیکونی می‌تواند باعث تغییر offset شود. Sensirion توصیه می‌کند از چسب‌های بدون VOC در اطراف حسگر استفاده شود.
🔗 Reference: Product Page – SHT35


31. چگونه SHT35 را در محیط با نویز زیاد (Noise) استفاده کنیم؟

در محیط‌های پر نویز، مسیرهای SDA و SCL باید کوتاه، دارای pull-up مقاوم و محافظت‌شده با GND باشند. استفاده از خازن بای‌پس 100 nF نزدیک پایه‌های VDD و GND در SHT35 ضروری است. شیلدینگ کابل‌ها باعث بهبود عملکرد می‌شود.
🔗 Reference: Official Datasheet – SHT35


32. آیا SHT35 برای اندازه‌گیری نقطه شبنم (Dew Point) مناسب است؟

بله، داده‌های خروجی دما و رطوبت از SHT35 می‌توانند برای محاسبه Dew Point استفاده شوند. فرمول تقریبی:
Td = T – ((100 – RH)/5)
برای محاسبات دقیق‌تر از معادله Magnus استفاده می‌شود. دقت دمای نقطه شبنم بستگی به accuracy دما و RH دارد.
🔗 Reference: Official Datasheet – SHT35


33. نحوه نصب فیزیکی مناسب برای SHT35 در دستگاه چیست؟

در نصب سنسور SHT35 باید مسیر جریان هوا در اطراف حسگر برقرار باشد. فاصله حداقل 5 میلی‌متر از برد اصلی و عدم قرارگیری در نزدیکی رگولاتور گرمایی ضروری است. نصب درون هوزینگ تهویه‌دار موجب بهبود accuracy می‌شود.
🔗 Reference: Application Note – SHT35


34. تفاوت اصلی SHT35 با SHT21 در چیست؟

سنسور SHT35 نسل جدید SHT21 است و از فناوری CMOSens® جدیدتر استفاده می‌کند. محدوده دمایی وسیع‌تر، دقت بالاتر و رابط سریع‌تر از جمله تفاوت‌هاست. SHT35 همچنین دارای CRC داخلی و heater می‌باشد که در SHT21 وجود ندارد.
🔗 Reference: Official Datasheet – SHT35


35. آیا سنسور SHT35 برای پروژه‌های IoT مناسب است؟

بله، سنسور SHT35 به دلیل مصرف انرژی پایین، رابط I²C و دقت بالا برای پروژه‌های اینترنت اشیا (IoT) ایده‌آل است. بسیاری از بردهای توسعه مانند ESP32 و Raspberry Pi به‌راحتی با SHT35 سازگار هستند. کتابخانه رسمی Arduino نیز راه‌اندازی را ساده کرده است.
🔗 Reference: Arduino SHT Library – SHT35

برای اطلاع دقیق از مقادیر کاری و حداکثر مقادیر مجاز آی‌سی‌ها، کاربران باید به دیتاشیت اصلی و رسمی آن قطعات مراجعه کنند

اگر هر یک از اسناد فنی ناقص یا اشتباه است، لطفاً به ما اطلاع دهید

با نظرات خود به تیم جبرا در بهبود کیفیت کمک کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توجه!

محصولات ما صرفاً برای اهداف تحقیقاتی و توسعه طراحی شده‌اند. جبرابیت صراحتاً اعلام می‌کند که در صورت استفاده کاربران از این محصولات در کاربردهای حساس و دقیق از جمله امور مالی یا مواردی که به جان و مال انسان آسیب می‌زنند، هیچ‌گونه مسئولیتی را نمی‌پذیرد.

برای اطلاع دقیق از مقادیر کاری و حداکثر مقادیر مجاز آی‌سی‌ها (IC)، کاربران باید حتماً به دیتاشیت اصلی و رسمی آن قطعات مراجعه کنند.

سبد خرید
پیمایش به بالا