İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
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 ahududu pi ile arayüzlenmesi ve python dili kullanılarak programlanması da gösterilmiştir. Sıcaklık ve nem değerlerini okumak için I2C adaptörlü ahududu pi 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. Ahududu Pi
3. I2C Kablosu
4. Ahududu pi için I2C Kalkanı
5. Ethernet Kablosu
Adım 2: Donanım Bağlantısı:
Donanım bağlantısı bölümü temel olarak sensör ve ahududu pi 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:
Raspberry pi kullanmanın avantajı, kartı programlamak istediğiniz programlama dilinin, sensör ile arayüz oluşturmak için size esneklik sağlamasıdır. Bu kartın bu avantajından yararlanarak, burada python'da programlama olduğunu gösteriyoruz. HDC1000 için python kodu, Dcube Store olan GitHub topluluğumuzdan indirilebilir.
Kullanıcıların kolaylığının yanı sıra, kodu burada da açıklıyoruz:
Kodlamanın ilk adımı olarak python olması durumunda SMBus kütüphanesini indirmeniz gerekiyor çünkü bu kütüphane kodda kullanılan fonksiyonları destekliyor. Bu nedenle, kütüphaneyi indirmek için aşağıdaki bağlantıyı ziyaret edebilirsiniz:
pypi.python.org/pypi/smbus-cffi/0.5.1
Bu sensör için çalışan python kodunu buradan da kopyalayabilirsiniz:
smbus'u içe aktar
ithalat zamanı
# I2C veri yolunu alın
veri yolu = smbus. SMBus(1)
# HDC1000 adresi, 0x40(64)
# Yapılandırma kaydını seçin, 0x02(02)
# 0x30(48) Sıcaklık, Nem etkin, Çözünürlük = 14 bit, Isıtıcı açık
bus.write_byte_data(0x40, 0x02, 0x30)
# HDC1000 adresi, 0x40(64)
# Sıcaklık ölçüm komutu gönder, 0x00(00)
bus.write_byte(0x40, 0x00)
zaman.uyku(0.5)
# HDC1000 adresi, 0x40(64)
# Verileri geri oku, 2 bayt
# temp MSB, temp LSB
data0 = bus.read_byte(0x40)
data1 = bus.read_byte(0x40)
# Verileri dönüştürün
sıcaklık = (veri0 * 256) + veri1
cTemp = (sıcaklık / 65536.0) * 165.0 - 40
fTemp = cTemp * 1.8 + 32
# HDC1000 adresi, 0x40(64)
# Nem ölçüm komutu gönder, 0x01(01)
bus.write_byte(0x40, 0x01)
zaman.uyku(0.5)
# HDC1000 adresi, 0x40(64)
# Verileri geri oku, 2 bayt
# nem MSB, nem LSB
data0 = bus.read_byte(0x40)
data1 = bus.read_byte(0x40)
# Verileri dönüştürün
nem = (veri0 * 256) + veri1
nem = (nem / 65536.0) * 100.0
# Ekrana veri çıkışı
print "Bağıl Nem: %.2f %%" %nem
print "Sıcaklık Santigrat cinsinden: %.2f C" %cTemp
print "Sıcaklık Fahrenheit cinsinden: %.2f F" %fTemp
Aşağıda belirtilen kod kısmı, python kodlarının doğru yürütülmesi için gerekli kitaplıkları içerir.
smbus'u içe aktar
ithalat zamanı
Komut istemine aşağıda belirtilen komutu yazarak kod çalıştırılabilir.
$> piton HDC1000.py gt; piton HDC1000.py
Sensörün çıkışı da kullanıcının referans olması açısından 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.