BMP180, I2C protokolü kullanılarak Arduino ile kolayca arayüzlenebilen yüksek hassasiyetli bir barometrik basınç ve sıcaklık sensörüdür. Hava durumu izleme, rakım ölçümleri ve IoT uygulamalarında yaygın olarak kullanılır. Bu öğretici, BMP180'i Arduino ile bağlama ve kullanma konusunda size rehberlik edecektir.
Ne İhtiyacınız Olacak
- BMP180 Sensör Modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- Breadboard ve jumper telleri
- Arduino IDE kurulu bir bilgisayar
1. Adım: BMP180'i anlamak
BMP180 barometrik basınç ve sıcaklığı ölçer ve basınç okumalarına göre yüksekliği hesaplayabilir. I2C protokolünü kullanarak Arduino ile iletişim kurar.
BMP180 Pinout
Pin | İşlev |
---|---|
Vin | Güç kaynağı (3.3V/5V) |
Gnd | Zemin |
SDA | I2C veri hattı |
Scl | I2C saat çizgisi |
Adım 2: BMP180'i Arduino'ya bağlama
BMP180'i bir Arduino Uno'ya nasıl bağlayacağınız aşağıda açıklanmıştır:
BMP180 PIN | Arduino pimi |
---|---|
Vin | 5V |
Gnd | Gnd |
SDA | A4 |
Scl | A5 |
Not: Diğer Arduino panoları için, tahtanızın belgelerindeki I2C pimlerini doğrulayın (örneğin, Mega SDA ve SCL için 20 ve 21 numaralı pimleri kullanır).
Adım 3: Gerekli kütüphaneyi kurun
"Adafruit BMP085 Birleşik" kütüphanesi, BMP180 için tamamen uyumlu olduğu için kullanılabilir.
Kütüphaneyi yüklemek için adımlar:
- Arduino IDE'yi açın.
- Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
- "Adafruit BMP085 Unified" ve tıklayın Düzenlemek.
4. Adım: Kodu yükleyin
İşte sıcaklık, basıncı okumak ve yüksekliği hesaplamak için örnek bir taslak:
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
void setup() {
Serial.begin(9600);
Serial.println("BMP180 Sensor Test");
if (!bmp.begin()) {
Serial.print("Could not find a valid BMP180 sensor, check wiring!");
while (1);
}
}
void loop() {
sensors_event_t event;
bmp.getEvent(&event);
if (event.pressure) {
// Display pressure
Serial.print("Pressure: ");
Serial.print(event.pressure);
Serial.println(" hPa");
// Display temperature
float temperature;
bmp.getTemperature(&temperature);
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
// Calculate altitude
float seaLevelPressure = 1013.25; // hPa
Serial.print("Altitude: ");
Serial.print(bmp.pressureToAltitude(seaLevelPressure, event.pressure));
Serial.println(" m");
Serial.println();
} else {
Serial.println("Sensor error!");
}
delay(2000); // Wait 2 seconds before the next reading
}
Adım 5: Kurulumu test edin
- Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
- Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
- Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın
9600
. - Seri monitörde görüntülenen basınç, sıcaklık ve yükseklik okumalarını gözlemleyin.
BMP180 uygulamaları
- Hava Durumu İzleme Sistemleri
- Drone ve havacılıkta yükseklik ölçümü
- IoT Çevresel İzleme
- Barometrik Basınç Verileri Günlüğü
Sorun giderme
- Sensörden yanıt yok: Kabloları kontrol edin ve doğru I2C pimlerinin kullanıldığından emin olun.
- Yanlış Okumalar: Sensörün aşırı çevresel koşullara maruz kalmadığını doğrulayın.
- Kütüphane Hataları: "Adafruit BMP085 Birleşik" kütüphanesinin doğru şekilde yüklendiğinden emin olun.
Çözüm
BMP180 barometrik basınç sensörünü Arduino ile başarıyla arayüz ettiniz. Bu çok yönlü sensör, doğru basınç ve sıcaklık ölçümleri gerektiren projeler için idealdir. Veri kaydediciler, ekranlar veya IoT platformları ile entegre ederek daha da deneyin!