A BMP180 egy nagy pontosságú barometrikus nyomás- és hőmérsékleti érzékelő, amely könnyen összekapcsolható az Arduino-val az I2C protokoll segítségével. Széles körben használják az időjárási megfigyelésben, a magasságmérésekben és az IoT alkalmazásokban. Ez az oktatóanyag vezeti a BMP180 csatlakoztatását és használatát az Arduino -val.
Mire lesz szüksége
- BMP180 érzékelő modul
- Arduino Board (például Uno, Mega, Nano)
- Kenyérlemez és jumper vezetékek
- Egy számítógép, amelyen az Arduino IDE telepített
1. lépés: A BMP180 megértése
A BMP180 a barometrikus nyomást és a hőmérsékletet méri, és a nyomás leolvasása alapján kiszámítja a magasságot. Az I2C protokoll segítségével kommunikál az Arduino -val.
BMP180 Pinout
Csap | Funkció |
---|---|
Vin | Tápegység (3,3 V/5 V) |
GND | Föld |
SDA | I2C adatsor |
SCL | I2C óravonal |
2. lépés: A BMP180 bekapcsolása Arduino -ra
Így lehet csatlakoztatni a BMP180 -at egy Arduino UNO -hoz:
BMP180 PIN | Arduino Pin |
---|---|
Vin | 5 V -os |
GND | GND |
SDA | A4 |
SCL | A5 |
Jegyzet: Más Arduino táblák esetén ellenőrizze az I2C csapjait a testület dokumentációjában (például a Mega a 20. és 21. csapot használja az SDA és az SCL számára).
3. lépés: Telepítse a szükséges könyvtárat
Az "AdaFruit BMP085 Unified" könyvtár használható a BMP180 -hoz, mivel ez teljesen kompatibilis.
Lépések a könyvtár telepítéséhez:
- Nyissa meg az Arduino IDE -t.
- Elindul Vázlat > Tartalmazza a könyvtárat > Könyvtárak kezelése.
- Keressen az "AdaFruit BMP085 Unified" -re, és kattintson Beilleszt.
4. lépés: Töltse fel a kódot
Íme egy példa vázlat a hőmérséklet, a nyomás és a magasság kiszámításához:
#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
}
5. lépés: Tesztelje a beállítást
- Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
- Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
- Töltse fel a kódot az Arduino -ba kattintással Feltöltés.
- Nyissa meg a soros monitort (Szerszámok > Soros monitor) és állítsa be az adatátviteli sebességet
9600
. - Vegye figyelembe a soros monitorban megjelenített nyomást, hőmérsékletet és magassági leolvasást.
A BMP180 alkalmazásai
- Időjárás -megfigyelő rendszerek
- Magasságmérés drónokban és repülésben
- IoT környezetvédelmi megfigyelés
- Barometrikus nyomásadatok naplózása
Hibaelhárítás
- Nincs válasz az érzékelőtől: Ellenőrizze a vezetéket, és ellenőrizze, hogy a helyes I2C csapok használják -e.
- Helytelen olvasmányok: Ellenőrizze, hogy az érzékelő nem szabad -e kitéve a szélsőséges környezeti feltételeknek.
- Könyvtári hibák: Győződjön meg arról, hogy az "AdaFruit BMP085 Unified" könyvtár helyesen van telepítve.
Következtetés
Sikeresen csatlakoztatta a BMP180 barometrikus nyomásérzékelőt az Arduino -val. Ez a sokoldalú érzékelő ideális olyan projektekhez, amelyek pontos nyomást és hőmérsékleti mérést igényelnek. Kísérletezzen tovább azáltal, hogy integrálja azt adatnaplókkal, kijelzőkkel vagy IoT platformokkal!