BMP180 on erittäin tarkkaa barometrinen paine ja lämpötila-anturi, joka voidaan helposti liittää Arduinon kanssa I2C-protokollan avulla. Sitä käytetään laajasti sään seurantaan, korkeusmittauksiin ja Internet -sovelluksiin. Tämä opetusohjelma opastaa sinua yhdistämällä ja käyttämällä BMP180: ta Arduinon kanssa.
Mitä tarvitset
- BMP180 -anturimoduuli
- Arduino Board (esim. UNO, Mega, Nano)
- Leipälevy- ja hyppyjohdot
- Tietokone, jossa Arduino IDE on asennettu
Vaihe 1: BMP180: n ymmärtäminen
BMP180 mittaa barometrisen paineen ja lämpötilan ja voi laskea korkeuden paineen lukemien perusteella. Se kommunikoi Arduinon kanssa I2C -protokollan avulla.
BMP180 Pinout
Nasta | Funktio |
---|---|
Virallinen | Virtalähde (3,3 V/5 V) |
Hölynpöly | Pohja |
SDA | I2C -datalinja |
SCL | I2C -kellolinja |
Vaihe 2: BMP180: n johdotus Arduinolle
Näin yhdistetään BMP180 Arduino UNO: lle:
Bmp180 -nasta | Arduino -nasta |
---|---|
Virallinen | 5V |
Hölynpöly | Hölynpöly |
SDA | A4 |
SCL | A5 |
Huomaa: Muille Arduino -levyille tarkista I2C -nastat hallituksesi dokumentaatiossa (esim. Mega käyttää nastat 20 ja 21 SDA: lle ja SCL: lle).
Vaihe 3: Asenna vaadittu kirjasto
"Adafruit BMP085 Unified" -kirjastoa voidaan käyttää BMP180: lle, koska se on täysin yhteensopiva.
Vaiheet kirjaston asentamiseksi:
- Avaa Arduino IDE.
- Mennä jhk Luonnos > Sisällytä kirjasto > Hallitse kirjastoja.
- Etsi "Adafruit BMP085 Unified" ja napsauta Asentaa.
Vaihe 4: Lataa koodi
Tässä on esimerkki luonnoksesta lämpötilan, paineen lukemiseen ja korkeuden laskemiseen:
#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
}
Vaihe 5: Testaa asennus
- Kytke Arduino tietokoneeseen USB: n kautta.
- Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
- Lataa koodi Arduinoon napsauttamalla Ladata.
- Avaa sarjamonitori (Työkalut > Sarjamonitori) ja aseta baud -arvo
9600
. - Tarkkaile sarjamonitorissa näkyviä paine-, lämpötila- ja korkeuslukemia.
BMP180: n sovellukset
- Säävalvontajärjestelmät
- Korkeuden mittaus drooneissa ja ilmailussa
- IoT: n ympäristön seuranta
- Barometrinen painetietojen kirjaaminen
Vianetsintä
- Ei vastausta anturilta: Tarkista johdotus ja varmista, että käytetään oikeita I2C -nastat.
- Virheelliset lukemat: Varmista, että anturi ei ole alttiina äärimmäisille ympäristöolosuhteille.
- Kirjastovirheet: Varmista, että "Adafruit BMP085 Unified" -kirjasto on asennettu oikein.
Johtopäätös
Olet onnistuneesti liittänyt BMP180 -barometrisen paineanturin Arduinon kanssa. Tämä monipuolinen anturi on ihanteellinen hankkeille, jotka vaativat tarkkaa paine- ja lämpötilan mittauksia. Kokeile edelleen integroimalla se tietojen kirjaimiin, näyttöön tai IoT -alustoihin!