آردوینو پروژه های آردوینو

راه اندازی SHT15 رطوبت و دماسنج دیجیتال با آردوینو

دماسنج و رطوبت سنج آردوینو sht 15
نوشته شده توسط علیرضا قربانی

SHT15 یک سنسور دیجیتال ساخت کمپانی Sensirion برای اندازه‌گیری رطوبت است که میزان رطوبت را به صورت کاملا کالیبره شده اندازه‌گیری می‌کند. به خاطر این که چیزی که توسط این سنسور اندازه‌گیری می‌شود ، رطوبت نسبی محیط است و رطوبت نیز به دما وابسته است پس  می‌توان به وسیله‌ی SHT15 علاوه بر اندازه‌گیری میزان رطوبت نسبی محیط ، دما را نیز اندازه‌گیری نمود در واقع  با استفاده از این سنسور دیگر نیاز به استفاده از سنسور دما به صورت جداگانه نخواهد بود. در این آموزش قصد داریم طریقه‌ اتصال سنسور SHT 15 به آردوینو و کدنویسی آن را آموزش دهیم پس در ادامه‌ی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

 


سنسور دما رطوبت SHT15


سنسور SHT15 یک سنسور دما و رطوبت دیجیتال است که توسط شرکت Sensirion AG توسعه داده شده است، یک شرکت سوئیسی متخصص در فناوری سنسورها. این سنسور قسمتی از سری سنسورهای SHTxx شرکت Sensirion می‌باشد که در بسیاری از برنامه‌ها برای اندازه‌گیری شرایط محیطی استفاده می‌شود.سنسور SHT15 به خاطر دقت، قابلیت اعتماد و مصرف کم انرژی‌اش شناخته می‌شود. این سنسور از یک سنسور رطوبت ظرفیتی و یک سنسور دمای بازهٔ گپی برای اندازه‌گیری رطوبت نسبی (RH) و دما به ترتیب استفاده می‌کند. خروجی این سنسور به صورت دیجیتال است، که باعث می‌شود ارتباط با میکروکنترلرها و دستگاه‌های الکترونیکی ساده‌تر شود.سنسور SHT15 از طریق پروتکل I2C (Inter-Integrated Circuit) ارتباط برقرار می‌کند که اجازه می‌دهد به راحتی در سیستم‌های الکترونیکی یکپارچه شود. این سنسور خروجی کالیبره و خطی‌سازی شده را ارائه می‌دهد و نیازی به مدارهای کالیبراسیون اضافی ندارد که فرآیند یکپارچه‌سازی را ساده‌تر می‌کند.سنسور SHT15 در محیط‌های مختلفی از جمله ایستگاه‌های هواشناسی، سیستم‌های نظارت محیطی، کنترل HVAC (گرمایش، تهویه و تهویه هوا)، اتوماسیون صنعتی و انواع الکترونیک مصرفی مورد استفاده قرار گرفته است.

 


ویژگی‌های سنسور تشخیص رطوبت و دما SHT15


  • ولتاژ کاری ۲٫۴ الی ۵٫۵٫ ولت
  • رنج اندازه گیری رطوبت ۰ تا ۱۰۰ درصد RH
  • دقت اندازه‌گیری رطوبت  مثبت و منفی ۲ درصد RH (در بازه ۱۰ تا ۹۰ درصد RH)
  • رنج اندازه‌گیری دما : منفی ۴۰ الی ۱۲۳٫۸ درجه سانتی‌گراد
  • دقت اندازه گیری دما: ۰٫۳± درجه سانتی‌گراد
  • توان متوسط ۱۵۰ میکرووات
  •  زمان پاسخ‌گویی رطوبت ۸ ثانیه
  • زمان پاسخ‌گویی  سریع

 


اتصال SHT15 به آردوینو


 

sht-arduino

اتصال sht15 به آردوینو

 

sht15 برای برقراری ارتباط  با میکروکنترلر از اتصال دو سیمه شبیه I2C بهره می‌گیرد ولی پروتکل I2C نمی‌باشد(فقط شبیه I2C). بنابراین ما قادر نخواهیم بود تا از خطوط اختصاصی I2C آردوینو برای برقراری بین سنسور و آردوینو استفاده کنیم. جنبه‌ی منفی این کار این است که گرفتن اطلاعات از این  سنسور کمی کند می‌باشد و جنبه‌ی مثبت این است که می‌توانید به طور دلخواه آن را به هر کدام از دو پین دیجیتال  که می‌خواهید متصل کنید که ما در این پروژه از پین‌های دیجیتال ۲ و ۳ استفاده می‌کنیم.

 

اتصال sht15 به میکروکنترلر

اتصال sht15 به میکروکنترلر

 

 

قبل از اینکه SHT15 را لحیم کنید…

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

 

 

بعد از اینکه sht15 را لحیم کردید …

برای اینکه بنوانید مقداری دقیق و کالیبره از این سنسور دریافت کنید ، لازم است سنسور حداقل ۱۲ ساعت در رطوبت بالای ۷۵٪ نگهداری شود تا به پلیمر درون سنسور اجازه‌ی آب‌رسانی داده شود. اگر شما این کار را انجام ندهید ، ممکن است هنگامی که سنسور شما در معرض شرایط محیطی قرار گیرد نتیجه‌ای  نادرستی از خود نشان دهد. همچنین برای بهبود عمل‌کرد این سنسور توصیه می‌شود که سنسور را به مدت ۵ روز در محیطی با رطوبت بالای ۴۰٪ قرار دهید.( من نمیدانم که شما چگونه قصد دارید این کار را انجام دهید اما به گفته‌ی یک نفر از  از دوستان : آن را در یک محفظه‌ی فشرده‌ی قفل شده با یک حوله‌ی مرطوب بدون هیچ‌گونه تماسی به مدت ۱۲ ساعت قرار دهید ?   )

 

 


کد آردوینو


کتابخانه‌ی مخصوص سنسور‌های SHT10 , SHT11 , SHT15 را از لینک  زیر دانلود کنید و طبق آموزش آن را به نرم افزار آردوینو خود اضافه کنید.

دانلود کتابخانه سنسور SHT1x

آموزش نصب کتابخانه در arduino

 

معرفی توابع و کلاس ها

 

قبل از هر کاری می‌بایست از کلاس SHT یک کلاس بسازیم و dataPin  , clockPin را طبق اتصالات مدار به عنوان آرگمان ورودی به آن وارد کنید.

 

SHT1x sht1x(dataPin, clockPin);

 

برای خواندن دما دوتابع وجود دارد که یکی دما را بر حسب درچه فارنهایت و دیگیری بر حسب درجه سانتی گراد برمی‌گرداند برای مثال:

 

float tempC = sht1x.readTemperatureC();

float tempF = sht1x.readTemperatureF();

 

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

#include <SHT1x.h>

// Specify data and clock connections and instantiate SHT1x object
#define dataPin  10
#define clockPin 11
SHT1x sht1x(dataPin, clockPin);

void setup()
{
   Serial.begin(38400); // Open serial connection to report values to host
   Serial.println("Starting up");
}

void loop()
{
  float temp_c;
  float temp_f;
  float humidity;

  // Read values from the sensor
  temp_c = sht1x.readTemperatureC();
  temp_f = sht1x.readTemperatureF();
  humidity = sht1x.readHumidity();

  // Print the values to the serial port
  Serial.print("Temperature: ");
  Serial.print(temp_c, DEC);
  Serial.print("C / ");
  Serial.print(temp_f, DEC);
  Serial.print("F. Humidity: ");
  Serial.print(humidity);
  Serial.println("%");

  delay(2000);
}

 


تحلیل کد آردوینو SHT


این کد یک برنامه‌ی ساده برای خواندن دما و رطوبت از سنسور SHT1x و نمایش آنها در پورت سریال می‌باشد. این برنامه برای میکروکنترلر‌هایی که قابلیت ارتباط سریال دارند نوشته شده است.
برای اجرای این برنامه، ماژول سنسور SHT1x باید به دو پین مشخص شده در کد (dataPin و clockPin) متصل شود. این دو پین مربوط به ارتباط سریال برای خواندن داده‌ها از سنسور هستند.
  • #include <SHT1x.h>: این دستور، کتابخانه SHT1x را به برنامه اضافه می‌کند تا از توابع مربوط به خواندن دما و رطوبت از سنسور استفاده کنیم.

 

  • #define dataPin 10 و #define clockPin 11: این دو دستور، پین‌های مورد استفاده برای ارتباط با سنسور SHT1x را تعریف می‌کنند.

 

  • SHT1x sht1x(dataPin, clockPin);: این دستور یک شیء از کلاس SHT1x با استفاده از پین‌های تعریف شده می‌سازد که از آن برای انجام خواندن دما و رطوبت استفاده می‌شود.

 

  • در تابع setup(): اتصال سریال با سرعت ۳۸۴۰۰ بیت بر ثانیه برای ارتباط با کامپیوتر تعریف می‌شود.

 

  • در تابع loop(): دما و رطوبت از سنسور خوانده می‌شود و مقادیر آنها به صورت دسیمال (اعشاری) و با واحد درجه سانتی‌گراد و فارنهایت نمایش داده می‌شود. سپس مقدار رطوبت نیز نمایش داده می‌شود. این عملکرد به طور متناوب تکرار می‌شود و بین هر بار تکرار، دستور delay(2000) می‌گذارد که یک تاخیر حدوداً ۲ ثانیه‌ای ایجاد می‌کند تا داده‌ها با فاصله‌های زمانی تکرار شوند.

 


سخت افزار مورد نیاز


 

آردوینو UNO

سنسور دما و رطوبت دیجیتال SHT15

درباره نویسنده

علیرضا قربانی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۰ دیدگاه