İçindekiler:
Video: Raspberry Pi HTS221 Bağıl Nem ve Sıcaklık Sensörü Java Eğitimi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
HTS221, bağıl nem ve sıcaklık için ultra kompakt kapasitif bir dijital sensördür. Dijital seri arabirimler 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. Pek çok özellikle entegre edilmiş bu sensör, kritik nem ve sıcaklık ölçümleri için en uygun sensörlerden biridir. İşte Raspberry Pi kullanan bir java kodu ile gösterim.
Adım 1: İhtiyacınız Olan Şey..!
1. Ahududu Pi
2. HTS221
3. I²C Kablosu
4. Raspberry Pi için I²C Kalkanı
5. Ethernet Kablosu
Adım 2: Bağlantılar:
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 HTS221 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:
HTS221 için python kodu, github deposu-Dcube Mağazamızdan indirilebilir.
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java
Java kodu için pi4j kütüphanesini kullandık, pi4j'yi ahududu pi'ye kurma adımları burada açıklanmıştır:
pi4j.com/install.html
Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:
// Özgür irade lisansıyla dağıtılır.
// İlişkili çalışmalarının lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.
// HTS221
// Bu kod, HTS221_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
com.pi4j.io.i2c. I2CBus'u içe aktarın;
com.pi4j.io.i2c. I2CDevice'ı içe aktarın;
com.pi4j.io.i2c. I2CFFactory'yi içe aktarın;
java.io. IOException'ı içe aktarın;
public class HTS221{ public static void main(String args) İstisna atar
{
// I2CBus oluştur
I2CBus veri yolu = I2CFactory.getInstance(I2CBus. BUS_1);
// I2C cihazını al, HTS221 I2C adresi 0x5F(95)
I2CDevice cihazı = bus.getDevice(0x5F);
// Ortalama konfigürasyon kaydı seç
// Sıcaklık ortalama numuneleri = 16, ortalama nem numuneleri = 32
device.write(0x10, (bayt)0x1B);
// Kontrol kaydı1'i seç
// Açma, blok veri güncelleme, veri hızı o/p = 1 Hz
device.write(0x20, (bayt)0x85);
thread.sleep(500);
// Cihazın kalıcı hafızasından Kalibrasyon değerlerini oku
// Nem Kalibrasyon değerleri
bayt değer = yeni bayt[2];
// 0x30(48) adresinden 1 bayt veri oku
val[0] = (bayt)device.read(0x30);
// 0x31(49) adresinden 1 bayt veri oku
val[1] = (bayt)device.read(0x31);
int H0 = (val[0] & 0xFF) / 2;
int H1 = (val[1] & 0xFF) / 2;
// 0x36(54) adresinden 1 bayt veri oku
val[0] = (bayt)device.read(0x36);
// 0x37(55) adresinden 1 bayt veri oku
val[1] = (bayt)device.read(0x37);
int H2 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// 0x3A(58) adresinden 1 bayt veri oku
val[0] = (bayt)device.read(0x3A);
// 0x3B(59) adresinden 1 bayt veri oku
val[1] = (bayt)device.read(0x3B);
int H3 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// Sıcaklık Kalibrasyon değerleri
// 0x32(50) adresinden 1 bayt veri oku
int T0 = ((byte)device.read(0x32) & 0xFF);
// 0x33(51) adresinden 1 bayt veri oku
int T1 = ((byte)device.read(0x33) & 0xFF);
// 0x35(53) adresinden 1 bayt veri oku
int ham = ((byte)device.read(0x35) & 0x0F);
// Sıcaklık Kalibrasyon değerlerini 10 bit'e çevir
T0 = ((ham & 0x03) * 256) + T0;
T1 = ((ham & 0x0C) * 64) + T1;
// 0x3C(60) adresinden 1 bayt veri oku
val[0] = (bayt)device.read(0x3C);
// 0x3D(61) adresinden 1 bayt veri oku
val[1] = (bayt)device.read(0x3D);
int T2 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// 0x3E(62) adresinden 1 bayt veri oku
val[0] = (bayt)device.read(0x3E);
// 0x3F(63) adresinden 1 bayt veri oku
val[1] = (bayt)device.read(0x3F);
int T3 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// 4 bayt veri oku
// hum msb, hum lsb, temp msb, temp lsb
bayt veri = yeni bayt[4]; device.read(0x28 | 0x80, veri, 0, 4);
// Verileri dönüştür
int hum = ((veri[1] & 0xFF) * 256) + (veri[0] & 0xFF);
int temp = ((veri[3] & 0xFF) * 256) + (veri[2] & 0xFF);
if(sıcaklık > 32767)
{
sıcaklık -= 65536;
}
çift nem = ((1.0 * H1) - (1.0 * H0)) * (1.0 * uğultu - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
çift cTemp = ((T1 - T0) / 8.0) * (sıcaklık - T2) / (T3 - T2) + (T0 / 8.0);
çift fTemp = (cTemp * 1.8) + 32;
// Ekrana veri çıktısı
System.out.printf("Bağıl Nem: %.2f %% RH %n", nem);
System.out.printf("Sıcaklık Santigrat cinsinden: %.2f C %n", cTemp);
System.out.printf("Sıcaklık Fahrenhayt cinsinden: %.2f F %n", fTemp);
}
}
Adım 4: Uygulamalar:
HTS221, hava nemlendiriciler ve buzdolapları vb. gibi çeşitli tüketici ürünlerinde kullanılabilir. Bu sensör ayrıca Akıllı ev otomasyonu, Endüstriyel otomasyon, solunum ekipmanları, varlık ve mal takibi dahil olmak üzere daha geniş bir alanda uygulamasını bulur.
Önerilen:
Raspberry Pi SHT25 Nem ve Sıcaklık Sensörü Python Eğitimi: 4 Adım
Raspberry Pi SHT25 Nem ve Sıcaklık Sensörü Python Eğitimi: SHT25 I2C Nem ve Sıcaklık Sensörü ±1.8%RH ±0.2°C I2C Mini Modül. SHT25 yüksek hassasiyetli nem ve sıcaklık sensörü, kalibre edilmiş, doğrusallaştırılmış sensör işaretleri sağlayarak form faktörü ve zeka açısından bir endüstri standardı haline geldi
Arduino Nano - HTS221 Bağıl Nem ve Sıcaklık Sensörü Eğitimi: 4 Adım
Arduino Nano - HTS221 Bağıl Nem ve Sıcaklık Sensörü Eğitimi: 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
Raspberry Pi - HIH6130 I2C Nem ve Sıcaklık Sensörü Python Eğitimi: 4 Adım
Raspberry Pi - HIH6130 I2C Nem ve Sıcaklık Sensörü Python Eğitimi: 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
Raspberry Pi - HIH6130 I2C Nem ve Sıcaklık Sensörü Java Eğitimi: 4 Adım
Raspberry Pi - HIH6130 I2C Nem ve Sıcaklık Sensörü Java Eğitimi: 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
Raspberry Pi ve TE Bağlantısı Kullanan Sıcaklık, Bağıl Nem, Atmosferik Basınç Kaydedici MS8607-02BA01: 22 Adım (Resimlerle)
Sıcaklık, Bağıl Nem, Raspberry Pi ve TE Bağlantısı Kullanan Atmosferik Basınç Kaydedici MS8607-02BA01: Giriş: Bu projede, sıcaklık, nem ve atmosferik basınç için bir kayıt sisteminin adım adım nasıl oluşturulacağını göstereceğim. Bu proje Raspberry Pi 3 Model B ve TE Connectivity çevresel sensör çipi MS8607-02BA'ya dayanmaktadır