İçindekiler:
- Adım 1: Donanım Gerekli:
- Adım 2: Donanım Bağlantısı:
- Adım 3: Sıcaklık ve Nem Ölçümü Kodu:
- Adım 4: Uygulamalar:
Video: HDC1000 ve Arduino Nano Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
HDC1000, çok düşük güçte mükemmel ölçüm doğruluğu sağlayan entegre sıcaklık sensörüne sahip bir dijital nem sensörüdür. Cihaz, yeni bir kapasitif sensöre dayalı olarak nemi ölçer. Nem ve sıcaklık sensörleri fabrikada kalibre edilmiştir. Tam -40°C ila +125°C sıcaklık aralığında çalışır.
Bu eğitimde, HDC1000 sensör modülünün arduino nano ile arayüzlenmesi gösterilmiştir. Sıcaklık ve nem değerlerini okumak için I2c adaptörlü arduino kullandık. Bu I2C adaptör sensör modülüne bağlantıyı daha kolay ve daha güvenilir hale getiriyor.
Adım 1: Donanım Gerekli:
Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:
1. HDC1000
2. Arduino Nano
3. I2C Kablosu
4. Arduino Nano için I2C Kalkanı
Adım 2: Donanım Bağlantısı:
Donanım bağlantısı bölümü, temel olarak sensör ve arduino nano arasında gerekli olan kablo bağlantılarını açıklar. İstenilen çıktı için herhangi bir sistem üzerinde çalışırken doğru bağlantıların sağlanması temel zorunluluktur. Yani, gerekli bağlantılar aşağıdaki gibidir:
HDC1000, I2C üzerinden çalışacaktır. Sensörün her bir arayüzünün nasıl bağlanacağını gösteren örnek kablo şeması buradadır.
Kutudan çıktığı gibi, kart bir I2C arayüzü için yapılandırılmıştır, bu nedenle, aksi takdirde agnostik iseniz bu bağlantıyı kullanmanızı öneririz.
Tek ihtiyacınız olan dört tel! Vcc, Gnd, SCL ve SDA pinlerinden sadece dört bağlantı gereklidir ve bunlar I2C kablosu yardımıyla bağlanır.
Bu bağlantılar yukarıdaki resimlerde gösterilmiştir.
Adım 3: Sıcaklık ve Nem Ölçümü Kodu:
Şimdi arduino koduyla başlayalım.
Sensör modülünü arduino ile kullanırken Wire.h kütüphanesini dahil ediyoruz. "Wire" kütüphanesi, sensör ve arduino kartı arasındaki i2c iletişimini kolaylaştıran fonksiyonları içerir.
Tüm arduino kodu, kullanıcının rahatlığı için aşağıda verilmiştir:
#Dahil etmek
// HDC1000 I2C adresi 0x40(64)
#define Addr 0x40
geçersiz kurulum()
{
// I2C iletişimini MASTER olarak başlat
Wire.begin();
// Seri iletişimi başlat, baud hızını ayarla = 9600
Seri.başla(9600);
// I2C iletişimini başlatır
Wire.beginTransmission(Adr);
// Yapılandırma kaydını seç
Wire.write(0x02);
// Sıcaklık, nem etkin, çözünürlük = 14 bit, ısıtıcı açık
Wire.write(0x30);
// I2C İletimini Durdur
Wire.endTransmission();
gecikme(300);
}
boşluk döngüsü()
{
imzasız int veri[2];
// I2C iletişimini başlatır
Wire.beginTransmission(Adr);
// Sıcaklık ölçüm komutu gönder
Wire.write(0x00);
// I2C İletimini Durdur
Wire.endTransmission();
gecikme(500);
// 2 bayt veri iste
Wire.requestFrom(Adr, 2);
// 2 bayt veri oku
// temp msb, temp lsb
if (Wire.available() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
}
// Verileri dönüştür
int temp = (veri[0] * 256) + veri[1];
float cTemp = (sıcaklık / 65536.0) * 165.0 - 40;
kayan nokta fTemp = cTemp * 1.8 + 32;
// I2C iletişimini başlatır
Wire.beginTransmission(Adr);
// Nem ölçüm komutu gönder
Wire.write(0x01);
// I2C İletimini Durdur
Wire.endTransmission();
gecikme(500);
// 2 bayt veri iste
Wire.requestFrom(Adr, 2);
// 2 bayt veri oku
// nem msb, nem lsb
if (Wire.available() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
}
// Verileri dönüştür
yüzer nem = (veri[0] * 256) + veri[1];
nem = (nem / 65536.0) * 100.0;
// Verileri seri monitöre çıkar
Serial.print("Bağıl Nem:");
Seri.print(nem);
Serial.println(" %RH");
Serial.print("Sıcaklık Santigrat Olarak:");
Seri.print(cTemp);
Serial.println("C");
Serial.print("Sıcaklık Fahrenhayt Olarak:");
Seri.print(fTemp);
Serial.println("F");
gecikme(500);
}
Tel kitaplığında Wire.write() ve Wire.read() komutları yazmak ve sensör çıkışını okumak için kullanılır.
Serial.print() ve Serial.println(), sensörün çıktısını Arduino IDE'nin seri monitöründe görüntülemek için kullanılır.
Sensörün çıkışı yukarıdaki resimde gösterilmektedir.
Adım 4: Uygulamalar:
HDC1000, ısıtma, havalandırma ve klima (HVAC), Akıllı Termostatlar ve Oda Monitörlerinde kullanılabilir. Bu sensör aynı zamanda Yazıcılar, Portatif Sayaçlar, Tıbbi Cihazlar, Kargo Nakliyesi ve Otomotiv Ön Cam Buğu Çözmesinde de uygulama bulur.
Önerilen:
DHT11 / DHT22 ve Arduino Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım
DHT11 / DHT22 ve Arduino Kullanarak Sıcaklık ve Nemi Ölçme: Bu Arduino Eğitiminde, Arduino kartı ile sıcaklık ve nemi ölçmek için DHT11 veya DHT22 sensörünün nasıl kullanılacağını öğreneceğiz
HIH6130 ve Arduino Nano Kullanarak Nem ve Sıcaklık Ölçümü: 4 Adım
HIH6130 ve Arduino Nano Kullanarak Nem ve Sıcaklık Ölçümü: HIH6130, dijital çıkışlı bir nem ve sıcaklık sensörüdür. Bu sensörler, ±%4 RH doğruluk seviyesi sağlar. Endüstri lideri uzun vadeli kararlılık, gerçek sıcaklık kompanzasyonlu dijital I2C, Endüstri lideri güvenilirlik, Enerji verimliliği ile
HTS221 ve Arduino Nano Kullanarak Nem ve Sıcaklık Ölçümü: 4 Adım
HTS221 ve Arduino Nano Kullanarak Nem ve Sıcaklık Ölçümü: HTS221, bağıl nem ve sıcaklık için ultra kompakt kapasitif bir dijital sensördür. Dijital seri aracılığıyla ölçüm bilgilerini sağlamak için bir algılama elemanı ve karma sinyal uygulamasına özel entegre devre (ASIC) içerir
HDC1000 ve Parçacık Fotonu Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım
HDC1000 ve Partikül Fotonu Kullanarak Sıcaklık ve Nem Ölçümü: HDC1000, çok düşük güçte mükemmel ölçüm doğruluğu sağlayan entegre sıcaklık sensörüne sahip bir dijital nem sensörüdür. Cihaz, yeni bir kapasitif sensöre dayalı olarak nemi ölçer. Nem ve sıcaklık sensörleri fac
HDC1000 ve Raspberry Pi Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım
HDC1000 ve Raspberry Pi Kullanarak Sıcaklık ve Nem Ölçümü: HDC1000, çok düşük güçte mükemmel ölçüm doğruluğu sağlayan entegre sıcaklık sensörüne sahip bir dijital nem sensörüdür. Cihaz, yeni bir kapasitif sensöre dayalı olarak nemi ölçer. Nem ve sıcaklık sensörleri fac