2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
TMP007, bir nesnenin sıcaklığını temas etmeden ölçen bir kızılötesi termopil sensörüdür. Sensör alanındaki nesne tarafından yayılan kızılötesi enerji, sensöre entegre edilmiş termopil tarafından emilir. Termopil voltajı sayısallaştırılır ve entegre matematik motoruna bir girdi olarak beslenir. Bu entegre matematik motoru, nesne sıcaklığını hesaplar. İşte python kodunu kullanarak Raspberry Pi ile çalışma gösterimi.
Adım 1: İhtiyacınız Olan Şey..!
1. Ahududu Pi
2. TMP007
3. I²C Kablosu
4. Raspberry Pi için I²C Kalkanı
5. Ethernet Kablosu
Adım 2: Bağlantı:
Ahududu pi için bir I2C kalkanı alın ve ahududu pi'nin gpio pimlerinin üzerine hafifçe itin.
Ardından I2C kablosunun bir ucunu TMP007 sensörüne ve diğer ucunu I2C blendajına bağlayın.
Ayrıca Ethernet kablosunu pi'ye bağlayın veya bir WiFi modülü kullanabilirsiniz.
Bağlantılar yukarıdaki resimde gösterilmiştir.
Adım 3: Kod:
TMP007 için python kodu GitHub depomuz - DCUBE Mağaza Topluluğumuzdan indirilebilir.
Bağlantı burada.
Python kodu için SMBus kütüphanesini kullandık, raspberry pi'ye SMBus kurma adımları burada açıklanmıştır:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:
# Özgür irade lisansıyla dağıtılır.
# İlgili eserlerinin lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.
# TMP007
# Bu kod, DCUBE Store'da bulunan TMP007_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
smbus'u içe aktar
ithalat zamanı
# I2C veri yolunu alın
veri yolu = smbus. SMBus(1)
# TMP007 adresi, 0x40(64)
# Yapılandırma kaydını seçin, 0x02(02)
# 0x1540(5440) Sürekli Dönüşüm modu, Karşılaştırıcı modu
veri = [0x1540]bus.write_i2c_block_data(0x40, 0x02, veri)
zaman.uyku(0.5)
# TMP007 adresi, 0x40(64)
# 0x03(03), 2 bayttan veriyi geri oku
# cTemp MSB, cTemp LSB
veri = bus.read_i2c_block_data(0x40, 0x03, 2)
# Veriyi 14 bit'e dönüştürün
cTemp = ((veri[0] * 256 + (veri[1] & 0xFC)) / 4)
cTemp > 8191 ise:
cTemp -= 16384
cTemp = cTemp * 0.03125
fTemp = cTemp * 1.8 + 32
# Ekrana veri çıkışı
print "Santigrat cinsinden Nesne Sıcaklığı: %.2f C" %cTemp
print "Nesne Sıcaklığı Fahrenhayt cinsinden: %.2f F" %fTemp
Adım 4: Uygulamalar:
TMP007 temassız sıcaklık ölçümünün gerekli olduğu sistemlerde uygulamasını bulur. Dizüstü bilgisayar ve tablet kasalarında, pillerde vb. kullanılırlar. Ayrıca ısı alıcıların yanı sıra lazer yazıcılarda da kullanılırlar. Gerçek nesneyle temas etmeden sıcaklığı ölçmedeki yüksek verimliliği, çeşitli uygulamalar için ona ekstra bir avantaj sağlar.