BMP280 basınç sensörü
Hava basıncını ve sıcaklığı I2C ile veren sensör. Basınçtan rakım hesaplanabilir.
Nasıl çalışır?
BMP280, havanın basıncını ölçer. Yükseldikçe üstümüzdeki hava azaldığı için basınç düşer; bu yüzden basınçtan rakım hesaplanabilir. Sensör I2C üzerinde 0x76 ya da 0x77 adresinde durur. Aynı iki kabloyu (SDA ve SCL) farklı adresli başka I2C cihazlarıyla paylaşabilir.
Adafruit_BMP280 kütüphanesinde bmp.begin(0x76) sensörü adresinden arar; kütüphanenin varsayılan adresi 0x77'dir. readPressure() basıncı Pa olarak, readTemperature() sıcaklığı santigrat olarak verir. readAltitude(P0) rakımı hesaplar ve deniz seviyesi basıncı P0'ı hPa olarak bekler.
İleri düzey: Rakım formülü 44330 × (1 − (P / P0) ^ (1 / 5,255)) standart atmosfer varsayımına dayanır. P0 hava durumuyla değiştiğinden rakım okuması da kayar; deniz seviyesine yakın yerlerde 1 hPa yaklaşık 8 m eder. Gerçek bir modülün besleme gerilimi için veri sayfasına bakılmalıdır.
Laboratuvarda nasıl bağlanır?
| Nereden | Nereye |
|---|---|
| BMP280 VCC | Uno 5V |
| BMP280 GND | Uno GND |
| BMP280 SDA | Uno A4 |
| BMP280 SCL | Uno A5 |
Özellik panelinde Sıcaklık (-40 ile 85 °C), Basınç (300 ile 1100 hPa) ve I2C adresi (0x76 ya da 0x77) bulunur. Sıcaklık ve basınç program çalışırken değiştirilebilir. Koddaki adres özellik panelindeki adresle aynı olmalıdır.
Sık yapılan hatalar
- Adresi unutmak. Sensör 0x76 iken parametresiz
begin()ile "bulunamadı" sonucu almak. - Pa ile hPa'yı karıştırmak.
readAltitude(101325)yazılırsa rakım çok yanlış çıkar. - SDA ve SCL'yi ters bağlamak. Sensör hiç bulunamaz.
beginsonucunu denetlememek. Sensör yokken anlamsız sayılar okunur.- Rakımı kesin saymak. Hava değişince P0 değişir ve rakım yer değiştirmeden kayar.