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:
- Arduino Uno R3 DIP Klon
- SHT11 Sıcaklık ve Nem Ölçümü Sensörü
- 2×16 Karakter LCD Ekran I2C
- Breadboard
- 10K 1/4W Direnç
- Jumper Kablo
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ü
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);
}
Direnc.net Blog sayfamızda sürekli olarak yeni içerikler paylaşmaya devam edeceğiz. Lütfen sormak istediğiniz soruları yorum olarak bize gönderin!