İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
AD7416ARZ, dört adet tek kanallı analogdan dijitale dönüştürücü ve içinde yerleşik bir yerleşik sıcaklık sensörü bulunan 10-Bit sıcaklık sensörüdür. Parçaların üzerindeki sıcaklık sensörüne multiplexer kanalları üzerinden erişilebilir. Bu yüksek hassasiyetli sıcaklık sensörü, dijital, I2C formatında kalibre edilmiş, doğrusallaştırılmış sensör sinyalleri sağlayarak biçim, faktör ve zeka açısından bir endüstri standardı haline geldi.
Bu eğitimde, AD7416ARZ sensör modülünün parçacık fotonu ile arayüzlenmesi gösterilmiştir. Sıcaklık 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. AD7416ARZ
2. Parçacık Fotonu
3. I2C Kablosu
4. Parçacık fotonu için I2C Shield
Adım 2: Donanım Bağlantısı:
Donanım bağlantısı bölümü temel olarak sensör ve parçacık fotonu 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:
AD7416ARZ, 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 3: Sıcaklık Ölçümü Kodu:
Şimdi parçacık koduyla başlayalım.
Sensör modülünü parçacık ile kullanırken application.h ve spark_wiring_i2c.h kütüphanesini dahil ediyoruz. "application.h" ve spark_wiring_i2c.h kitaplığı, sensör ve parçacık arasındaki i2c iletişimini kolaylaştıran işlevleri içerir.
Parçacık kodunun tamamı, kullanıcının rahatlığı için aşağıda verilmiştir:
#Dahil etmek
#Dahil etmek
// AD7416ARZ I2C adresi 0x48(72)
#define Addr 0x48
float cTemp = 0.0, fTemp = 0.0;
int sıcaklık = 0;
geçersiz kurulum()
{
// Değişken ayarla
Particle.variable("i2ccihaz", "AD7416ARZ");
Particle.variable("cTemp",cTemp);
// I2C iletişimini Master olarak başlat
Wire.begin();
// Seri iletişimi başlat, baud hızını ayarla = 9600
Seri.başla(9600);
gecikme(300);
}
boşluk döngüsü()
{
imzasız int veri[2];
// I2C iletimini başlat
Wire.beginTransmission(Adr);
// Veri kaydını seç
Wire.write(0x00);
// I2C iletimini durdur
Wire.endTransmission();
// 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();
}
// Veriyi 12 bite dönüştürün
// Veriyi 10 bite dönüştürün
sıcaklık = ((veri[0] * 256) + (veri[1] & 0xC0)) / 64;
eğer (sıcaklık > 511)
{
sıcaklık -= 1024;
}
cTemp = sıcaklık * 0.25;
fTemp = (cTemp * 1.8) + 32;
// Gösterge tablosuna veri çıkışı
Particle.publish("Sıcaklık Santigrat Olarak: ", String(cTemp));
Particle.publish("Sıcaklık Fahrenhayt Olarak: ", String(fTemp));
gecikme(1000);
}
Particle.variable() işlevi, sensörün çıktısını depolamak için değişkenleri oluşturur ve Particle.publish() işlevi, çıktıyı sitenin panosunda görüntüler.
Sensör çıkışı, referansınız için yukarıdaki resimde gösterilmektedir.
Adım 4: Uygulamalar:
AD7416ARZ, dört tek kanallı analogdan dijitale dönüştürücüye sahip 10 Bit Sıcaklık sensörüdür, ortam sıcaklığı izleme ile Veri toplama işlemini gerçekleştirebilir. Ayrıca Endüstriyel proses kontrol sistemlerinde, Otomotiv Akü şarj uygulamalarında ve Kişisel bilgisayarlarda kullanılabilir.