De BMP180 is een zeer nauwkeurige barometrische druk- en temperatuursensor die gemakkelijk kan worden ingebouwd met Arduino met behulp van het I2C-protocol. Het wordt veel gebruikt bij weerbewaking, hoogtemetingen en IoT -toepassingen. Deze zelfstudie zal u begeleiden door de BMP180 te verbinden en te gebruiken met Arduino.
Wat u nodig hebt
- BMP180 Sensor -module
- Arduino Board (bijv. UNO, Mega, Nano)
- Breadboard en jumper draden
- Een computer met de Arduino Ide geïnstalleerd
Stap 1: Inzicht in de BMP180
De BMP180 meet barometrische druk en temperatuur en kan de hoogte berekenen op basis van de drukwaarden. Het communiceert met Arduino met behulp van het I2C -protocol.
BMP180 PINOUT
Pin | Functie |
---|---|
Vin | Voeding (3.3V/5V) |
GND | Grond |
SDA | I2C -gegevenslijn |
SCL | I2c kloklijn |
Stap 2: de BMP180 bedraden aan Arduino
Hier leest u hoe u de BMP180 verbindt met een Arduino UNO:
BMP180 PIN | Arduino Pin |
---|---|
Vin | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Opmerking: Controleer voor andere Arduino -boards de I2C -pinnen in de documentatie van uw bestuur (bijv. Mega gebruikt pins 20 en 21 voor SDA en SCL).
Stap 3: Installeer de vereiste bibliotheek
De bibliotheek "Adafruit BMP085 Unified" kan worden gebruikt voor de BMP180 omdat deze volledig compatibel is.
Stappen om de bibliotheek te installeren:
- Open de Arduino Ide.
- Gaan naar Schetsen > Library innemen > Bibliotheken beheren.
- Zoek naar "Adafruit BMP085 Unified" en klik Installeren.
Stap 4: Upload de code
Hier is een voorbeeldschets om temperatuur, druk te lezen en de hoogte te berekenen:
#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
}
Stap 5: Test de installatie
- Sluit de Arduino via USB aan op uw computer.
- Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
- Upload de code naar de Arduino door te klikken Uploaden.
- Open de seriële monitor (Hulpmiddelen > Serie -monitor) en stel het baudrates in op
9600
. - Bekijk de druk-, temperatuur- en hoogtewaarden die worden weergegeven in de seriële monitor.
Toepassingen van de BMP180
- Weerbewakingssystemen
- Hoogtemeting in drones en luchtvaart
- IoT -omgevingsmonitoring
- Barometrische drukgegevenslogboekregistratie
Problemen oplossen
- Geen reactie van de sensor: Controleer de bedrading en zorg ervoor dat de juiste I2C -pinnen worden gebruikt.
- Onjuiste metingen: Controleer of de sensor niet wordt blootgesteld aan extreme omgevingscondities.
- Bibliotheekfouten: Zorg ervoor dat de bibliotheek "Adafruit BMP085 Unified" correct is geïnstalleerd.
Conclusie
Je hebt met succes de BMP180 -barometrische druksensor met Arduino gekoppeld. Deze veelzijdige sensor is ideaal voor projecten die nauwkeurige druk- en temperatuurmetingen vereisen. Experimenteer verder door het te integreren met dataloggers, displays of IoT -platforms!