2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
STS21 Dijital Sıcaklık Sensörü, üstün performans ve yerden tasarruf sağlayan bir ayak izi sunar. Dijital, I2C formatında kalibre edilmiş, doğrusallaştırılmış sinyaller sağlar. Bu sensörün üretimi, STS21'in üstün performansına ve güvenilirliğine atfedilen CMOSens teknolojisine dayanmaktadır. STS21'in çözünürlüğü komutla değiştirilebilir, düşük pil algılanabilir ve bir sağlama toplamı iletişim güvenilirliğini artırmaya yardımcı olur. İşte Particle Photon ile arayüz oluşturmasının gösterimi.
Adım 1: İhtiyacınız Olan Şey..!
1. Parçacık Fotonu
2. STS21
3. I²C Kablosu
4. Parçacık Fotonu için I²C Kalkanı
Adım 2: Bağlantı:
Parçacık fotonu için bir I2C kalkanı alın ve yavaşça parçacık fotonun pimlerinin üzerine itin.
Ardından I2C kablosunun bir ucunu STS21 sensörüne ve diğer ucunu I2C blendajına bağlayın.
Bağlantılar yukarıdaki resimde gösterilmiştir.
Adım 3: Kod:
STS21 için parçacık kodu GitHub depomuz-Dcube Store'dan indirilebilir.
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/STS21
Partikül kodu için application.h ve spark_wiring_i2c.h olan iki kitaplık kullandık. Sensörle I2C iletişimini kolaylaştırmak için Spark_wiring_i2c kitaplığı gereklidir.
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.
// STS21
// Bu kod, Dcube Store'da bulunan STS21_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
#Dahil etmek
#Dahil etmek
// STS21 I2C adresi 0x4A(74)
#define adres 0x4A
kayan cTemp = 0.0;
geçersiz kurulum()
{
// Değişken ayarla
Particle.variable("i2ccihaz", "STS21");
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 İletimini Başlat
Wire.beginTransmission(addr);
// master tutma yok seç
Wire.write(0xF3);
// I2C İletimini Sonlandır
Wire.endTransmission();
gecikme(500);
// 2 bayt veri iste
Wire.requestFrom(addr, 2);
// 2 bayt veri oku
if (Wire.available() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
}
// Verileri dönüştür
int rawtmp = veri[0] * 256 + veri[1];
int değeri = rawtmp & 0xFFFC;
cTemp = -46.85 + (175.72 * (değer / 65536.0));
kayan nokta 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);
}
Adım 4: Uygulamalar:
STS21 Dijital Sıcaklık Sensörü, yüksek doğrulukta sıcaklık izleme gerektiren sistemlerde kullanılabilir. Çeşitli bilgisayar ekipmanlarına, tıbbi ekipmanlara ve endüstriyel kontrol sistemlerine, sıcaklık ölçümü gerekliliği ile yetkin bir doğrulukla dahil edilebilir.