elektrik port üyelik servisleri elektrik port üyelik servisleri

Arduino ile HIH-4030 Nem Sensörü

Her zaman nemli ortamları deneyimlesek de nem oranı doğru bir şekilde tahmin edebileceğimiz bir şey değildir. Bunun nedeni ise nem hakkında konuşurken bağıl nemden bahsetmemiz. Bağıl nem sıcaklığa bağlıdır. Bu nedenden dolayı tek başına sıcaklık değiştiğinde bile bağıl nemin değeri değişir. Bu sebepten nem değerini tahmin etmek zordur. Fakat HIH-4030 Nem Sensörü ile bağıl nemi ölçmek gayet basit. HIH-4030 düşük güçle çalışan ve analog çıktı veren bir sensördür.



A- A+
22.02.2015 tarihli yazı 2942 kez okunmuştur.
Devre Tasarımı


HIH-4030 nem sensörünüzü Arduinonuza bağlamak çok kolay. Yalnızca yapmanız gereken 5V/Toprak ile güç verip sensörünüzü Arduinonuzdaki analog pine bağlamak olacak. İsterseniz 3.3V ile de güç verebilirsiniz. Eğer böyle bir şeye karar verdiyseniz yapmanız gerek kodunuzdaki “supplyVolt” değerini 5 den 3.3 e çevirmelisiniz.
 



 

► İlginizi Çekebilir :  Arduino ile TEMT6000 Ortamsal Işık Sensörü


 

Programlama

 

Not: Bağıl nemi bulabilmek için ölçeceğiniz ortamdaki gerçek sıcaklık değerini bilmeniz gerekiyor.

Bundan dolayı sensörünüzü bir termometre ile kullanmanız gerekiyor. Sizin için bu olayı basitleştirmek gerekirse kodumuzdaki nemi bulabilmek için kullandığımız fonksiyona aktardığımız bir sıcaklık sabiti bulunuyor. Kodumuzda nemi bulurken işte bu sıcaklık sabitini termometreniz ile ölçtüğünüz sıcaklık değeri ile değiştirmeniz yararınıza olacaktır.


Not: HIH-4030 Nem Sensörü ışığa karşı duyarlı bir sensör bundan dolayı sensörünüzde ölçüm yaparken en iyi performansı alabilmek için sensörünüzü parlak ışıktan korumalısınız.

Kullanmanızı Tavsiye Ettiğimiz Termometreler.
-TMP102
-DS18B20


Kod:
 

int HIH4030_Pin = A0; //analog pin 0
 
void setup(){
  Serial.begin(9600);
}
 
void loop(){
 
  //bağıl nemi doğru hesaplayabilmek için sıcaklığa ihtiyacımız var.
  float temperature = 25; //buradaki değeri termometrenizde bulduğunuz sıcaklık değeri ile değiştirmelisiniz
  float relativeHumidity  = getHumidity(temperature);
 
  Serial.println(relativeHumidity);
 
  delay(100); //çıktımızı rahat okumak için yavaşlatır.
}
 
 
float getHumidity(float degreesCelsius){
  //Bağıl nemi hesaplar
  float supplyVolt = 5.0;
 
  // Sensördeki değeri okur:
  int HIH4030_Value = analogRead(HIH4030_Pin);
  float voltage = HIH4030_Value/1023. * supplyVolt; // convert to voltage value
 
  // çıktı voltaj değerini bağıl neme dönüştürür
  // Eşitlik HIH-4030/31 verisafasından çekilmiştir.
  // Bu eşitlik sensörünüze kalibre edilmemiştir.
  float sensorRH = 161.0 * voltage / supplyVolt - 25.8;
  float trueRH = sensorRH / (1.0546 - 0.0026 * degreesCelsius); //sıcaklığı düzenler
 
  return trueRH;
}



Kaynak:

►bildr.org

Fatih YÖRÜK Fatih YÖRÜK Yazar Hakkında Tüm yazıları Mesaj gönder Yazdır



ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar