Video: Arduino AMS5812_0050-D-B Basınç ve Sıcaklık Sensörü Eğitimi: 4 Adım
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
AMS5812 Analog ve Dijital Çıkışlı Güçlendirilmiş Basınç Sensörü, analog voltaj çıkışı ve dijital I2C arayüzüne sahip yüksek hassasiyetli bir sensördür. Çalışması için bir piezodirençli algılama elemanını bir sinyal koşullandırma elemanı ile birleştirir. İşte arduino nano ile gösterimi.
Adım 1: İhtiyacınız Olan Şey..!
1. Arduino Nano
2. AMS5812_0050-D-B
3. I²C Kablosu
4. Arduino Nano için I2C Kalkanı
Adım 2: Bağlantılar:
Arduino Nano için bir I2C kalkanı alın ve yavaşça Nano'nun pimlerinin üzerine itin.
Ardından I2C kablosunun bir ucunu AMS5812_0050-D-B 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:
AMS5812_0050-D-B için Arduino kodu GitHub deposu-Dcube Mağazamızdan indirilebilir.
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/AMS5812-0050-D-B
Sensörün Arduino kartı ile I2c iletişimini kolaylaştırmak için Wire.h kitaplığını ekledik.
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.
// AMS5812
// Bu kod, Dcube Store'da bulunan AMS5812_I2CS_0050-D-B I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
#Dahil etmek
// AMS5812 I2C adresi 0x78(120)
#define Addr 0x78
geçersiz kurulum()
{
// 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[4];
gecikme(500);
// 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();
}
// Verileri dönüştür
şamandıra basıncı = ((veri[0] & 0xFF) * 256 + (veri[1] & 0xFF));
kayan nokta sıcaklığı = ((veri[2] ve 0xFF) * 256 + (veri[3] ve 0xFF));
basınç = ((basınç - 3277.0) / ((26214.0) / 10.0)) - 5.0;
float cTemp = ((temp - 3277.0) / ((26214.0) / 110.0)) - 25.0;
float fTemp = (cTemp * 1.8) + 32;
// Verileri seri monitöre çıkar
Serial.print("Basınç: ");
Seri.print(basınç);
Serial.println("PSI");
Serial.print("Sıcaklık Santigrat Olarak: ");
Seri.print(cTemp);
Serial.println("C");
Serial.print("Sıcaklık Fahrenhayt Olarak: ");
Seri.print(fTemp);
Serial.println("F");
gecikme(500);
}
Adım 4: Uygulamalar:
AMS5812, güçlendirilmiş bir basınç sensörüdür ve statik ve dinamik basınç ölçümü ile barometrik basınç ölçümünün gerçekleştirileceği sistemlerde kullanılabilir. Vakum izleme, Gaz akışı izleme, Sıvı seviyesi ölçümü ve Tıbbi enstrümantasyonda çok önemli bir rol oynar.