İçindekiler:

SHT25 ve Raspberry Pi Kullanarak Sıcaklık ve Nem İzleme: 5 Adım
SHT25 ve Raspberry Pi Kullanarak Sıcaklık ve Nem İzleme: 5 Adım

Video: SHT25 ve Raspberry Pi Kullanarak Sıcaklık ve Nem İzleme: 5 Adım

Video: SHT25 ve Raspberry Pi Kullanarak Sıcaklık ve Nem İzleme: 5 Adım
Video: Particle Photon SHT25 I2C Humidity & Temperature Sensor Tutorial 2024, Kasım
Anonim
Image
Image

Yakın zamanda sıcaklık ve nem izleme gerektiren çeşitli projeler üzerinde çalıştık ve daha sonra bu iki parametrenin bir sistemin çalışma verimliliğini tahmin etmede gerçekten çok önemli bir rol oynadığını fark ettik. Hem endüstriyel düzeyde hem de kişisel sistemlerde, sistemin yeterli performansı için optimum bir sıcaklık seviyesi şarttır.

Bu nedenle, bu eğitimde ahududu pi kullanarak SHT25 nem ve sıcaklık sensörünün çalışmasını açıklayacağız. Bu özel eğitimde, çalışması bir java kodu kullanılarak gösterilmektedir.

Bu amaçla ihtiyaç duyacağınız donanımlar şunlardır:

1. SHT25

2. Ahududu Pi

3. I2C Kablosu

4. Ahududu pi için I2C kalkanı

Adım 1: SHT25'e Genel Bakış:

Neye ihtiyacın var….!!
Neye ihtiyacın var….!!

Her şeyden önce, sensörün ve üzerinde çalıştığı protokolün temel anlayışıyla başlayalım.

SHT25 I2C Nem ve Sıcaklık Sensörü ±1.8%RH ±0.2°C I2C Mini Modül. Dijital, I2C formatında kalibre edilmiş, doğrusallaştırılmış sensör sinyalleri sağlayan, form faktörü ve zeka açısından bir endüstri standardı haline gelen yüksek hassasiyetli nem ve sıcaklık sensörüdür. Özel bir analog ve dijital devre ile entegre edilen bu sensör, sıcaklık ve nemi ölçmek için en verimli cihazlardan biridir.

Sensörün üzerinde çalıştığı iletişim protokolü I2C'dir. I2C, inter-entegre devre anlamına gelir. Haberleşmenin SDA(seri data) ve SCL(seri saat) hatları üzerinden gerçekleştiği bir haberleşme protokolüdür. Aynı anda birden fazla cihazın bağlanmasına izin verir. En basit ve en verimli iletişim protokollerinden biridir.

Adım 2: İhtiyacınız Olan Şey….!

Neye ihtiyacın var….!!
Neye ihtiyacın var….!!
Neye ihtiyacın var….!!
Neye ihtiyacın var….!!
Neye ihtiyacın var….!!
Neye ihtiyacın var….!!

Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:

1. SHT25 nem ve sıcaklık sensörü

2. Ahududu pi

3. I2C Kablosu

4. Raspberry Pi için I2C Kalkanı

5. Ethernet Kablosu

Adım 3: Donanım Bağlantısı:

Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
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:

  • SHT25, I2C üzerinde ç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 4: Sıcaklık ve Nem İzleme Java Kodu:

Sıcaklık ve Nem İzleme Java Kodu
Sıcaklık ve Nem İzleme Java Kodu
Sıcaklık ve Nem İzleme Java Kodu
Sıcaklık ve Nem İzleme Java 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 Java'daki programlamasını gösteriyoruz. SHT25 için Java 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 java durumunda pi4j 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:

pi4j.com/install.html

Bu sensör için çalışan Java kodunu buradan da kopyalayabilirsiniz:

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 SHT25 { public static void main(String args) fırlatır İstisna { // I2C bus oluştur I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1); // I2C cihazını al, SHT25 I2C adresi 0x40(64) I2CDevice cihazı = Bus.getDevice(0x40); // Sıcaklık ölçüm komutu gönder, NO HOLD master device.write((byte)0xF3); thread.sleep(500); // 2 bayt veri oku // temp msb, temp lsb bayt veri = yeni bayt[2]; device.read(veri, 0, 2); // Veriyi dönüştür double cTemp = (((((data[0] & 0xFF) * 256) + (data[1] & 0xFF)) * 175.72) / 65536.0) - 46.85; çift fTemp = (cTemp * 1.8) + 32; // Nem ölçüm komutu gönder, NO HOLD master device.write((byte)0xF5); thread.sleep(500); // 2 bayt veri oku // nem msb, nem lsb device.read(veri, 0, 2); // Verileri dönüştür çift nem = (((((veri[0] & 0xFF) * 256) + (veri[1] & 0xFF)) * 125.0) / 65536.0) - 6; // Verileri ekrana çı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 Farhenheit cinsinden: %.2f F %n", fTemp); } }

Kodun çıktısı da yukarıdaki resimde gösterilmektedir.

Sensör ve kart arasındaki i2c iletişimini kolaylaştıran kütüphane pi4j'dir, çeşitli paketleri I2CBus, I2CDevice ve I2CFctory bağlantının kurulmasına yardımcı olur.

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;

Kodun bu kısmı, write() işlevi kullanılarak ilgili komutlar yazılarak sensörün sıcaklık ölçümü ve nem ölçümü için çalışmasını sağlar ve ardından veriler read() işlevi kullanılarak okunur.

device.write((byte)0xF3);

thread.sleep(500);

// 2 bayt veri oku

// temp msb, temp lsb

bayt veri = yeni bayt[2];

device.read(veri, 0, 2);

// Nem ölçüm komutu gönder, NO HOLD master

device.write((byte)0xF5);

thread.sleep(500);

// 2 bayt veri oku

// nem msb, nem lsb

device.read(veri, 0, 2);

Adım 5: Uygulamalar:

SHT25 sıcaklık ve bağıl nem sensörü, sıcaklık izleme, bilgisayar çevresel termal koruma gibi çeşitli endüstriyel uygulamalara sahiptir. Bu sensörü ayrıca hava durumu istasyonu uygulamalarının yanı sıra sera izleme sisteminde de kullandık.

Önerilen: