BMP180 är ett barometriskt tryck och temperatursensor med hög precision som enkelt kan kopplas ihop med Arduino med I2C-protokollet. Det används ofta i väderövervakning, höjdmätningar och IoT -applikationer. Denna handledning kommer att vägleda dig genom att ansluta och använda BMP180 med Arduino.
Vad du behöver
- BMP180 sensormodul
- Arduino Board (t.ex. Uno, Mega, Nano)
- Breadboard och jumpertrådar
- En dator med Arduino Ide installerad
Steg 1: Förstå BMP180
BMP180 mäter barometriskt tryck och temperatur och kan beräkna höjd baserat på tryckavläsningarna. Det kommunicerar med Arduino med I2C -protokollet.
BMP180 pinout
Stift | Fungera |
---|---|
Vin | Strömförsörjning (3.3V/5V) |
Gard | Jord |
SDA | I2C -datalinjen |
SCL | I2c klocklinje |
Steg 2: Kopplar BMP180 till Arduino
Så här ansluter du BMP180 till en Arduino Uno:
BMP180 -stift | Arduinosnål |
---|---|
Vin | 5V |
Gard | Gard |
SDA | A4 |
SCL | A5 |
Notera: För andra Arduino -kort, verifiera I2C -stiften i ditt korts dokumentation (t.ex. Mega använder stift 20 och 21 för SDA och SCL).
Steg 3: Installera det nödvändiga biblioteket
"Adafruit BMP085 Unified" -biblioteket kan användas för BMP180 eftersom det är helt kompatibelt.
Steg för att installera biblioteket:
- Öppna Arduino IDE.
- Gå till Skiss > Inkludera bibliotek > Hantera bibliotek.
- Sök efter "Adafruit BMP085 Unified" och klicka Installera.
Steg 4: Ladda upp koden
Här är ett exempel skiss för att läsa temperatur, tryck och beräkna höjd:
#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
}
Steg 5: Testa installationen
- Anslut Arduino till din dator via USB.
- Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
- Ladda upp koden till Arduino genom att klicka Ladda upp.
- Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till
9600
. - Observera trycket, temperaturen och höjdavläsningarna som visas i seriell monitor.
Applikationer av BMP180
- Väderövervakningssystem
- Höjdmätning i drönare och luftfart
- IoT miljöövervakning
- Barometrisk tryckdataloggning
Felsökning
- Inget svar från sensorn: Kontrollera ledningarna och se till att de korrekta I2C -stiften används.
- Felaktiga avläsningar: Kontrollera att sensorn inte utsätts för extrema miljöförhållanden.
- Biblioteksfel: Se till att "Adafruit BMP085 Unified" -biblioteket är korrekt installerat.
Slutsats
Du har framgångsrikt blandat BMP180 barometriska trycksensor med Arduino. Denna mångsidiga sensor är idealisk för projekt som kräver exakta tryck- och temperaturmätningar. Experimentera vidare genom att integrera det med dataloggar, skärmar eller IoT -plattformar!