SHT31 SICAKLIK VE NEM SENSÖR MODÜLÜ
SHT31 sıcaklık ve nem sensör modülü, I2C protokolü ile haberleşen sensördür. Sıcaklık ve nem değerini %2 hassasiyet ile ölçmektedir. 2.4V ve 5.5V aralığında çalışmaktadır. Ölçtüğü değere göre dijital çıkış verir.
![arduino sht31 sıcaklık ve nem sensörü](https://www.alpgenrobotics.com/image/catalog/urun/sensorler/m097-sht31-sicaklik/arduino-sht31-sicaklik-ve-nem-sensoru3.png)
Nerede Kullanılır?
Arduino ile robotik kodlama projelerinde sıcaklık ve nem ölçümü yapılan, akıllı tarım vb. projelerde kullanılabilir.
Çalışma Voltajı | 5V DC |
Data Çıkışı | Dijital |
En | 32.45mm |
Boy | 74.87mm |
Vida Delik Çapı | 3.2mm |
Örnek Proje Devre Şeması
Bu projede SHT31 sıcaklık ve nem sensörü modülünün ölçtüğü değerler 1 saniye aralıklarla seri porta yazdırılacaktır.
Bu projede SHT31 sıcaklık ve nem sensör modülü;
SHT31 Sıcaklık Ve Nem Sensör Modülü | Arduino Uno Breadboard |
DATA | D5 |
- | GND |
+ | 5V |
Örnek Proje Arduino Kodu
/* ALPGEN Robotics // SHT31 Sıcaklık ve Nem Sensörü Kullanımı// 06.08.2021 // Soru ve Yardım İçin: proje@alpgenrobotics.com// www.alpgenrobotics.com */#include<Wire.h>// SHT31 I2C address is 0x44(68)#defineAddr0x44voidsetup(){
// Initialise I2C communication as MASTER
Wire.begin();
// Initialise serial communication, set baud rate = 9600
Serial.begin(9600);
delay(300);}voidloop(){
unsignedintdata[6];
// Start I2C Transmission
Wire.beginTransmission(Addr);
// Send 16-bit command byte
Wire.write(0x2C);
Wire.write(0x06);
// Stop I2C transmission
Wire.endTransmission();
delay(300);
// Start I2C Transmission
Wire.beginTransmission(Addr);
// Stop I2C Transmission
Wire.endTransmission();
// Request 6 bytes of data
Wire.requestFrom(Addr,6);
// Read 6 bytes of data
// temp msb, temp lsb, temp crc, hum msb, hum lsb, hum crc
if(Wire.available()==6)
{
data[0]=Wire.read();
data[1]=Wire.read();
data[2]=Wire.read();
data[3]=Wire.read();
data[4]=Wire.read();
data[5]=Wire.read();
}
// Convert the data
inttemp=(data[0]*256)+data[1];
floatcTemp=-45.0+(175.0*temp/65535.0);
floatfTemp=(cTemp*1.8)+32.0;
floathumidity=(100.0*((data[3]*256.0)+data[4]))/65535.0;
// Output data to serial monitor
Serial.print("Temperature in Celsius :");
Serial.print(cTemp);
Serial.println(" C");
Serial.print("Temperature in Fahrenheit :");
Serial.print(fTemp);
Serial.println(" F");
Serial.print("Relative Humidity :");
Serial.print(humidity);
Serial.println(" %RH");
delay(500);}