Arduino ile SHT11 Sıcaklık ve Nem Sensörü Kullanımı

Arduino ile SHT11 Sıcaklık ve Nem Sensörü Kullanımı Nasıl Yapılır?

Bu devremizde Arduino Uno ve SHT11 Sıcaklık ve Nem Sensörü ile sıcaklık ve nem ölçümü için örnek devre yapacağız.

Kullanacağımız malzemeler:

SHT11 Sıcaklık ve Nem Sensörü Özellikleri

SHT1x nem sensörü serisi (SHT10, SHT11 ve SHT15 dahil) Sensirion’un yüzey monte edilebilir bağıl nem sensörleri ailesidir. Nem sensörleri sensör elemanlarını artı sinyal işlemeyi küçük bir ayak izi ile birleştirir ve tamamen kalibre edilmiş bir dijital çıkış sağlar. Sıcaklık, bir bant aralığı sensörü ile ölçülürken, bağıl nemi ölçmek için eşsiz bir kapasitif sensör elemanı kullanılır. Onun CMOSens® teknolojisi mükemmel güvenilirlik ve uzun vadeli istikrar garanti eder. Nem sensörleri, bir 14-bit-analog-dijital dönüştürücü ve bir seri arayüz devresine sorunsuz bir şekilde bağlanır. Bu, üstün sinyal kalitesi, hızlı tepki süresi ve harici rahatsızlıklara karşı duyarsızlığa neden olur (EMC).

SHT11 Teknik Özellikleri

  • Oda sıcaklığında, +/-0.5°C hassasiyetinde -40 dan 100 dereceye kadar, 12 bit veya 14 bit sıcaklık verisi.
  • +/-3% doğrulukta 8 bit veya 12 bit nem verisi.
  • Beklemede 400nA maksimum akım.
  • Besleme gerilimi aralığı 2,4 ila 5,5 V
  • I2C veri bağlantı protokolü

sht11

sht11-arduino-baglanti-semasi-3

 

Bağlantıları şemaya uygun yaptıktan sonra kodumuzu Arduino uno kartımıza yükleyip test edebiliriz.

LCD bağlantıları

LCD    – Arduino Uno

VCC    – 5V

GND   – GND

RS      – 7

RW     – GND

EN      – 6

D4      – 5

D5      – 4

D6      – 3

D7      – 2

 

SHT11 – Arduino Uno

1 – 9

2 – VCC

3 – GND

4 – 8

Vo pini 10K potans ın orta bacağına, potansın 1. Bacağı gnd 3. Bacağıda 5V ye bağlanmalıdır.

Kütüphaneleri aşağıdaki linklerden indirip Arduino programına kurabilirsiniz.

SHT11 Arduino UNO Kodu

#include
#include
LiquidCrystal lcd(7,6,5,4,3,2);
#define dataPin 8
#define clockPin 9
SHT1x sht1x(dataPin, clockPin);
void setup()
{
lcd.begin(16, 2);
Serial.begin(9600); // Open serial connection to report values to host
}
void loop()
{
float temp_c;
int humidity;
// Read values from the sensor
temp_c = sht1x.readTemperatureC();
humidity = sht1x.readHumidity();
// Print the values to the serial port
Serial.print("Temperature: ");
Serial.print(temp_c, DEC);
Serial.print("C / ");
Serial.print("F. Humidity: ");
Serial.print(humidity);
Serial.println("%");
lcd.setCursor(0,0);
lcd.print("OLCUM DEGERLERI ");
lcd.setCursor(0,1);
lcd.print("S:");
lcd.print(temp_c);
lcd.print((char)223);
lcd.print("C ");
lcd.print("N:");
lcd.print(humidity);
lcd.print("%");
delay(2000);
}