SHT15 یک سنسور دیجیتال ساخت کمپانی Sensirion برای اندازهگیری رطوبت است که میزان رطوبت را به صورت کاملا کالیبره شده اندازهگیری میکند. به خاطر این که چیزی که توسط این سنسور اندازهگیری میشود ، رطوبت نسبی محیط است و رطوبت نیز به دما وابسته است پس میتوان به وسیلهی SHT15 علاوه بر اندازهگیری میزان رطوبت نسبی محیط ، دما را نیز اندازهگیری نمود در واقع با استفاده از این سنسور دیگر نیاز به استفاده از سنسور دما به صورت جداگانه نخواهد بود. در این آموزش قصد داریم طریقه اتصال سنسور SHT 15 به آردوینو و کدنویسی آن را آموزش دهیم پس در ادامهی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.
سخت افزار مورد نیاز
سنسور دما و رطوبت دیجیتال SHT15
ویژگیهای سنسور تشخیص رطوبت و دما SHT15
- ولتاژ کاری ۲٫۴ الی ۵٫۵٫ ولت
- رنج اندازه گیری رطوبت ۰ تا ۱۰۰ درصد RH
- دقت اندازهگیری رطوبت مثبت و منفی ۲ درصد RH (در بازه ۱۰ تا ۹۰ درصد RH)
- رنج اندازهگیری دما : منفی ۴۰ الی ۱۲۳٫۸ درجه سانتیگراد
- دقت اندازه گیری دما: ۰٫۳± درجه سانتیگراد
- توان متوسط ۱۵۰ میکرووات
- زمان پاسخگویی رطوبت ۸ ثانیه
- زمان پاسخگویی سریع
اتصال SHT15 به آردوینو
sht15 برای برقراری ارتباط با میکروکنترلر از اتصال دو سیمه شبیه I2C بهره میگیرد ولی پروتکل I2C نمیباشد(فقط شبیه I2C). بنابراین ما قادر نخواهیم بود تا از خطوط اختصاصی I2C آردوینو برای برقراری بین سنسور و آردوینو استفاده کنیم. جنبهی منفی این کار این است که گرفتن اطلاعات از این سنسور کمی کند میباشد و جنبهی مثبت این است که میتوانید به طور دلخواه آن را به هر کدام از دو پین دیجیتال که میخواهید متصل کنید که ما در این پروژه از پینهای دیجیتال ۲ و ۳ استفاده میکنیم.
قبل از اینکه SHT15 را لحیم کنید…
اگر این سنسور را به صورت مازول در اختیار ندارید و قصد لحیم کردن آن را بر روی برد را دارید باید توجه داشته باشید که این سنسور به هیچ عنوان قابلیت شت و شو ندارد! در واقع برای لحیم کردن این برد نباید از روغن لحیم و محلول پاک کنندهی برد استفاده کنید و باید شدیدا مراقب باشید تا تحت هیچ شرایطی نگذارید این سنسور خیس شود.
بعد از اینکه sht15 را لحیم کردید …
برای اینکه بنوانید مقداری دقیق و کالیبره از این سنسور دریافت کنید ، لازم است سنسور حداقل ۱۲ ساعت در رطوبت بالای ۷۵٪ نگهداری شود تا به پلیمر درون سنسور اجازهی آبرسانی داده شود. اگر شما این کار را انجام ندهید ، ممکن است هنگامی که سنسور شما در معرض شرایط محیطی قرار گیرد نتیجهای نادرستی از خود نشان دهد. همچنین برای بهبود عملکرد این سنسور توصیه میشود که سنسور را به مدت ۵ روز در محیطی با رطوبت بالای ۴۰٪ قرار دهید.( من نمیدانم که شما چگونه قصد دارید این کار را انجام دهید اما به گفتهی یک نفر از از دوستان : آن را در یک محفظهی فشردهی قفل شده با یک حولهی مرطوب بدون هیچگونه تماسی به مدت ۱۲ ساعت قرار دهید ? )
کد نویسی
کتابخانهی مخصوص سنسورهای SHT10 , SHT11 , SHT15 را از لینک زیر دانلود کنید و طبق آموزش آن را به نرم افزار آردوینو خود اضافه کنید.
معرفی توابع و کلاس ها
قبل از هر کاری میبایست از کلاس 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); }
سلام ببخشید میشه پروژه نشون دادن دما ورطوبت رو با همین سنسور رو LCDبزارید
ممنون میشم
با سلام و تشکر از شما
کاربر گرامی در این خصوص لطفا به آموزش ماژول دما و رطوبت DHT11 از پکیج ۳۷ سنسور آردوینو با LCD مراجعه کنید. موارد شبیه هستند، کافیست کمی خودتان تلاش کنید.
سلام خسته نباشید این به جای سنسور sht15 می شود sht 11 بگذاریم
با سلام و تشکر از شما
دیتاشیتها را باید بررسی کنید. در صورتی که از یک کتابخانه استفاده میکنند و همسان هستند، ممکن است با همین کدها کار کند.
سلام ببخشید این کد ها را می توان روی اردوینو مگا نیز نصب کرد و باید به کدام پایه ها متصل باشد. ممنون
با سلام
بله محدودیتی وجود ندارد. از پایه ۱۰ و ۱۱ طبق کدها جهت اتصال به برد آردوینو Mega2560 استفاده کنید.
سلام میشه برای همین برنامه گزینه کالیبره گذاشت اگر میشه ممنون میشم راهنمایی کنید
با سلام
خیر، کدها را بایستی تغییر دهید.
با سلام و عرض خسته نباشید.
ببخشید میشه از همین کتابخانه برای سنسور معروف sht 20 استفاده کرد؟
با سلام
این مورد تست نشده است اما برای هر سنسور کتابخانه ی منحصر به فردی توسعه داده شده است که میتوانید از آن ها استفاده کنید.