Keyestudio SHT31 Sıcaklık ve Nem Modülü
Keyestudio SHT31 Sıcaklık ve Nem Modülü
Bu modül, esas olarak, SHT3X serisi sıcaklık ve nem sensörüne ait olan SHT31 sıcaklık ve nem sensörünü kullanır. SHT2X serisinin sıcaklık ve nem sensörü ile karşılaştırıldığında, SHT3X serisi daha akıllı, daha güvenilir ve daha doğru sonuçlar verir. Daha güçlü işlevselliklere ve daha yüksek sinyal işleme kapasitelerine erişebilirler. Aynı zamanda, SHT3X serisi, gelişmiş sinyal işleme, iki benzersiz ve kullanıcı tarafından seçilebilen I2C adresi, programlanabilir sıcaklık ve nem limitlerine sahip bir alarm modu ve 1 MHz'e kadar iletişim hızları gibi bazı yeni özellikler sunar.
Özellikleri
- SHT31 sıcaklık ve nem sensörünü kullanma
- Yüksek güvenilirlik ve uzun istikrar
- Güvenilir teknoloji
- Yüksek sinyal işleme yeteneği
- Düşük sinyal gürültüsü
- Çeşitli uygulamalara uyarlanabilir
Teknik Özellikleri
- Çalışma gerilimi: 3.3 - 5 V
- Çıkış: I2C çıkış arayüzü
- Nem Çalışma Aralığı: 0 - 100% RH
- Sıcaklık Çalışma Aralığı: -40℃ to 125℃ (-40°F to 257°F)
- Nem doğruluğu: ±2% RH (0 - 100% RH)
- Sıcaklık doğruluğu: ±0.2°C (-40℃ to 90℃)
- Nem tepki süresi: 8 seconds (tau63%)
Bağlantı Şeması
Test etmek için bu modülü UNO kartına bağlayabilirsiniz. SLC pinini A5'e, SDA pini A4'e, 5V'u 5V'a, GND'yi GND'ye bağlayın. Aşağıda gösterildiği gibi.
Örnek Kod
Aşağıda test kodu mevcuttur. Bunu Arduino board'a yükleyebilirsiniz (*Kodu, Kaynaklar bölümünden indirebilirsiniz):
// Distributed with a free-will license.
// Use it any way you want, profit or free, provided it fits in the licenses of its associated works.
// SHT30
// This code is designed to work with the SHT30_I2CS I2C Mini Module available from ControlEverything.com.
// https://www.controleverything.com/content/Humidity?sku=SHT30_I2CS#tabs-0-product_tabset-2
#include// SHT30 I2C address is 0x44(68) #define Addr 0x44 void setup() { // Initialise I2C communication as MASTER Wire.begin(); // Initialise serial communication, set baud rate = 9600 Serial.begin(9600); delay(300); } void loop() { unsigned int data[6]; // Start I2C Transmission Wire.beginTransmission(Addr); // Send measurement command Wire.write(0x2C); Wire.write(0x06); // Stop I2C transmission Wire.endTransmission(); delay(500); // Request 6 bytes of data Wire.requestFrom(Addr, 6); // Read 6 bytes of data // cTemp msb, cTemp lsb, cTemp crc, humidity msb, humidity lsb, humidity 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 float cTemp = ((((data[0] * 256.0) + data[1]) * 175) / 65535.0) - 45; //float fTemp = (cTemp * 1.8) + 32; float fTemp = ((((data[0] * 256.0) + data[1]) * 315) / 65535.0) - 49; float humidity = ((((data[3] * 256.0) + data[4]) * 100) / 65535.0); // Output data to serial monitor Serial.print("Relative Humidity : "); Serial.print(humidity); Serial.println(" %RH"); Serial.print("Temperature in Celsius : "); Serial.print(cTemp); Serial.println(" C"); Serial.print("Temperature in Fahrenheit : "); Serial.print(fTemp); Serial.println(" F"); delay(500); }
Sonuç Örneği
Kablolamadan sonra, kodu board'a yükleyin, Arduino IDE'nin seri monitörünü açın ve baud hızını 9600 olarak ayarlayın, son olarak ekranda gösterilen mevcut sıcaklık ve nem değerini görmelisiniz. Aşağıda görebilirsiniz. Verilerin farklı ortamlara göre değişeceğini unutmayınız.