سنسور های SHT10 از سری سنسور های اندازه گیری دما ور رطوبت شرکت سوئیسی Sensirion می باشند . این سنسور ها قادر به اندازه گیری دما و رطوبت با دقت بالا و به صورت کالیبره شده هستند . پایداری و دقت این سنسور ها ، آن ها را به یکی از گزینه های مناسب برای دستگاه های جوجه کشی ، مصارف آزمایشگاهی و هر شرایطی که نیاز به دقت بالا داشته باشد تبدیل کرد است. متاسفانه آخرین پارت این محصول نیمه دوم 2019 وارد بازار چین شد و پس از آن سنسور های سری جدید Sensirion جای این سنسور ها را گرفتند . هنوز هم می توان نمونه های اورجینال آن را پیدا کرد . تقریبا پس از یک سال بعد از توقف تولید این سنسور ، نمونه های چینی آن در بازار زیاد شد که نمونه های کپی شده می باشند . در شرایط حساسی همانند دستگاه های جوجه کشی تحت هیچ شرایطی از نمونه های چینی این سنسور استفاده نباید استفاده کرد . سنسنور های SHT10 از یک رابط سریال سنکرون شبیه به I2C استفاده می کنند . این نکته بسیار مهم است که رابط این سنسور I2C نمی باشد و تنها مشابه به این ارتباط است . سنسور های SHT10 دما را به صورت 14 و رطوبت را با رزولوشن 12 بیتی اندازه گیری می کنند که امکان تنظیم رزولوشن را نیز دارند .
در تصویر زیر پایه های این سنسور نشان داده شده است :
پین های VCC و GND به ترتیب تغذیه و زمین ماژول می باشند .
پین DATA نیز ورودی و خروجی دیتا می باشد همچنین پین SCK ورودی پالس ساعت است .
در تصویر زیر نحوه اتصال سنسور به MCU نشان داده شده است :
راه اندازی SHT10 با آردوینو :
جهت تست و راه اندازی SHT10 با آردوینو بهتر است از ماژول آن استفاده کنید . یا سنسور را بر روی هدر بر مخصوص نصب کنید . در تصویر زیر نحوه اتصاال سنسور به آردوینو نشان داده شده است . همچنین می توانید کد های زیر را بر روی برد خود آپلود کنید و سپس وارد Serial monitor آردوینو IDE شوید :
#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(9600); //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); }