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

$6,93

نوع ماژول

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

ولتاژ تغذیه

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) کنید.

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

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

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

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

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

توجه!

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

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

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