İçindekiler:
- Adım 1: Donanım Gerekli:
- Adım 2: Donanım Bağlantısı:
- Adım 3: Basınç Ölçümü Kodu:
- Adım 4: Uygulamalar:
Video: CPS120 ve Parçacık Fotonu Kullanarak Basınç Ölçümü: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
CPS120, tam kompanzasyonlu çıkışa sahip, yüksek kaliteli ve düşük maliyetli bir kapasitif mutlak basınç sensörüdür. Çok daha az güç tüketir ve basınç ölçümü için ultra küçük bir Mikro-Elektro-Mekanik Sensörden (MEMS) oluşur. Telafi edilmiş çıktı gereksinimini yerine getirmek için sigma-delta tabanlı bir ADC de içinde yer almaktadır.
Bu eğitimde, CPS120 sensör modülünün parçacık fotonu ile ara yüzü gösterilmiştir. Basınç değerlerini okumak için bir I2c adaptörü ile foton 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. CPS120
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:
CPS120, 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: Basınç Ölçümü Kodu:
Şimdi parçacık koduyla başlayalım.
Arduino ile sensör modülünü 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
// CPS120 I2C adresi 0x28(40)
#define Adres 0x28
çift sıcaklık = 0.0, basınç = 0.0;
geçersiz kurulum()
{
// Değişken ayarla
Particle.variable("i2ccihaz", "CPS120");
Particle.variable("basınç", basınç);
Particle.variable("sıcaklık", sıcaklık);
// I2C iletişimini MASTER olarak başlat
Wire.begin();
// Seri iletişimi başlat, baud hızını ayarla = 9600
Seri.başla(9600);
}
boşluk döngüsü()
{
imzasız int veri[4];
// I2C İletimini Başlat
Wire.beginTransmission(Adr);
gecikme(10);
// I2C İletimini Durdur
Wire.endTransmission();
// 4 bayt veri iste
Wire.requestFrom(Adr, 4);
// 4 bayt veri oku
// basınç msb, basınç lsb, temp msb, temp lsb
if(Wire.available() == 4)
{
data[0] = Wire.read();
data[1] = Wire.read();
data[2] = Wire.read();
veri[3] = Wire.read();
}
// Değerleri dönüştür
basınç = (((veri[0] & 0x3F) * 265 + veri[1]) / 16384.0) * 90.0 + 30.0;
cTemp = ((((veri[2] * 256) + (veri[3] & 0xFC)) / 4.0) * (165.0 / 16384.0)) - 40.0;
fTemp = cTemp * 1.8 + 32;
// Gösterge tablosuna veri çıkışı
Particle.publish("Basınç: ", String(basınç));
gecikme(1000);
Particle.publish("Sıcaklık Santigrat Olarak: ", String(cTemp));
gecikme(1000);
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:
CPS120'nin çeşitli uygulamaları vardır. Portatif ve sabit barometre, altimetre vb. cihazlarda kullanılabilir. Basınç, hava koşullarının belirlenmesinde önemli bir parametredir ve bu sensörün meteoroloji istasyonlarına da monte edilebileceği düşünülürse. Hava kontrol sistemlerine ve vakum sistemlerine dahil edilebilir.
Önerilen:
ADXL345 ve Parçacık Fotonu Kullanarak İvme Ölçümü: 4 Adım
ADXL345 ve Parçacık Fotonu Kullanarak Hızlanma Ölçümü: ADXL345, ±16 g'a kadar yüksek çözünürlüklü (13 bit) ölçüme sahip küçük, ince, ultra düşük güçlü, 3 eksenli bir ivmeölçerdir. Dijital çıkış verileri, 16 bitlik ikili tamamlayıcı olarak biçimlendirilir ve I2 C dijital arabirimi aracılığıyla erişilebilir. Bunu ölçer
HMC5883 ve Parçacık Fotonu Kullanarak Manyetik Alan Ölçümü: 4 Adım
HMC5883 ve Parçacık Fotonu Kullanarak Manyetik Alan Ölçümü: HMC5883, düşük alanlı manyetik algılama için tasarlanmış bir dijital pusuladır. Bu cihaz, +/-8 Oe geniş bir manyetik alan aralığına ve 160 Hz çıkış hızına sahiptir. HMC5883 sensörü, otomatik manyetiklik giderme kayış sürücüleri, ofset iptali ve bir
HYT939 ve Parçacık Fotonu Kullanarak Nem Ölçümü: 4 Adım
HYT939 ve Particle Photon Kullanılarak Nem Ölçümü: HYT939, I2C haberleşme protokolü ile çalışan dijital bir nem sensörüdür. Tıbbi sistemler ve laboratuvarlar söz konusu olduğunda nem çok önemli bir parametredir, bu nedenle bu hedeflere ulaşmak için HYT939'u ahududu pi ile arayüzlemeye çalıştık. BEN
H3LIS331DL ve Parçacık Fotonu Kullanarak Hızlanma Ölçümü: 4 Adım
H3LIS331DL ve Parçacık Fotonu Kullanarak İvme Ölçümü: H3LIS331DL, dijital I²C seri arayüzlü, “nano” ailesine ait, düşük güçlü, yüksek performanslı, 3 eksenli bir doğrusal ivmeölçerdir. H3LIS331DL, kullanıcı tarafından seçilebilen ±100g/±200g/±400g tam skalaya sahiptir ve hızlanmaları ölçebilir
MCP9803 ve Parçacık Fotonu Kullanarak Sıcaklık Ölçümü: 4 Adım
MCP9803 ve Partikül Fotonu Kullanarak Sıcaklık Ölçümü: MCP9803, 2 telli yüksek hassasiyetli bir sıcaklık sensörüdür. Sıcaklık algılama uygulamalarını kolaylaştıran, kullanıcı tarafından programlanabilen kayıtlarla yapılandırılmışlardır. Bu sensör, son derece gelişmiş çok bölgeli sıcaklık izleme sistemi için uygundur