How to Use the BMP280 Temperature and Pressure Sensor with Arduino

How to Use the BMP280 Temperature and Pressure Sensor with Arduino

The BMP280 is a high-precision sensor that measures barometric pressure, temperature, and altitude. Doğruluğu ve I2C/SPI iletişim seçenekleri nedeniyle hava istasyonlarında, rakım izleyicileri ve IoT cihazlarında yaygın olarak kullanılmaktadır. Bu öğretici, BMP280'i Arduino ile bağlayarak ve kullanarak size rehberlik edecektir.


Ne İhtiyacınız Olacak

  1. BMP280 Sensör Modülü
  2. Arduino Kurulu (örn. UNO, Mega, Nano)
  3. Breadboard ve jumper telleri
  4. Arduino IDE kurulu bir bilgisayar

1. Adım: BMP280'i anlamak

BMP280 sensörü hem I2C hem de SPI iletişimini destekler. Çoğu koparma kartının varsayılan olarak, daha az kablo gerektiren I2C moduna geçer.

BMP280 Pinout

Pin İşlev
VCC Güç kaynağı (3.3V veya 5V)
Gnd Zemin
Scl I2C saat çizgisi
SDA I2C veri hattı
CSB SPI için Chip Select (isteğe bağlı)
SDO SPI Veri Çıkış/I2C Adres Seçimi
  • Not: I2C iletişimi için bağlanın SDO Varsayılan adres için GND'ye (0x76) veya vcc için 0x77.

Adım 2: BMP280'i Arduino'ya bağlama

BMP280'i I2C modunda bir Arduino Uno'ya nasıl bağlayacağınız aşağıda açıklanmıştır:

BMP280 PIN Arduino pimi
VCC 5V
Gnd Gnd
Scl A5
SDA A4

Not: Diğer Arduino panoları için, panonunuzun belgelerindeki belirli I2C pimlerini kontrol edin.


Adım 3: Gerekli kütüphaneyi kurun

"Adafruit BMP280" kütüphanesi sensörle arayüz oluşturmayı kolaylaştırır.

Kütüphaneyi yüklemek için adımlar:

  1. Arduino IDE'yi açın.
  2. Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
  3. "Adafruit BMP280" i arayın ve tıklayın Düzenlemek.
  4. Ayrıca, istenirse "Adafruit Birleşik Sensör" kitaplığını yükleyin.

4. Adım: Kodu yükleyin

İşte BMP280'den sıcaklık, basınç ve yükseklik okumak için örnek bir taslak:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp; // Create BMP280 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("BMP280 Sensor Test");

  if (!bmp.begin(0x76)) { // Default I2C address is 0x76
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  Serial.print("Temperature: ");
  Serial.print(bmp.readTemperature());
  Serial.println(" °C");

  Serial.print("Pressure: ");
  Serial.print(bmp.readPressure() / 100.0F); // Convert to hPa
  Serial.println(" hPa");

  Serial.print("Approx. Altitude: ");
  Serial.print(bmp.readAltitude(1013.25)); // Standard sea level pressure in hPa
  Serial.println(" m");

  Serial.println();
  delay(2000); // Wait for 2 seconds before the next reading
}

Adım 5: Kurulumu test edin

  1. Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
  2. Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
  3. Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
  4. Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın 9600.
  5. Seri monitörde görüntülenen sıcaklık, basınç ve yükseklik okumalarını gözlemleyin.

BMP280 uygulamaları

  1. Hava istasyonları
  2. Dronlarda yükseklik ölçümü
  3. IoT Çevresel İzleme
  4. Barometrik basınç bazlı navigasyon

Sorun giderme

  • Sensörden yanıt yok: Kabloları iki kez kontrol edin ve I2C adresinin kurulumla eşleştiğinden emin olun.
  • Yanlış Okumalar: Sensörün aşırı çevre koşullarına veya hava akışı bozukluklarına maruz kalmadığından emin olun.
  • Kütüphane Hataları: "Adafruit BMP280" kütüphanesinin doğru şekilde kurulduğunu doğrulayın.

Çözüm

BMP280 sensörünü Arduino ile başarıyla arayüz ettiniz ve sıcaklık, basınç ve yükseklik ölçümlerini sağladınız. Bu çok yönlü sensör, hava durumu izlemesinden drone navigasyonuna kadar çeşitli uygulamalar için mükemmeldir. Gelişmiş projeler için BMP280'i veri kaydediciler, ekranlar veya IoT platformlarıyla entegre ederek daha da deneyin!

Yorum bırak

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.