BMP180 este un senzor de presiune barometrică și temperatură barometrică de înaltă precizie, care poate fi ușor interfațat cu Arduino folosind protocolul I2C. Este utilizat pe scară largă în monitorizarea vremii, măsurătorile altitudinii și aplicațiile IoT. Acest tutorial vă va ghida prin conectare și utilizarea BMP180 cu Arduino.
Ce vei avea nevoie
- Modul de senzor BMP180
- Arduino Board (de exemplu, Uno, Mega, Nano)
- Tablă de pâine și jumper
- Un computer cu IDE Arduino instalat
Pasul 1: Înțelegerea BMP180
BMP180 măsoară presiunea și temperatura barometrică și poate calcula altitudinea pe baza citirilor de presiune. Comunică cu Arduino folosind protocolul I2C.
BMP180 PINOUT
Ac | Funcţie |
---|---|
Vin | Sursă de alimentare (3.3V/5V) |
GND | Sol |
SDA | Linia de date I2C |
SCL | Linia de ceas I2C |
Pasul 2: Cablarea BMP180 către Arduino
Iată cum să conectați BMP180 la un Arduino UNO:
Pin BMP180 | Pinul Arduino |
---|---|
Vin | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Nota: Pentru alte tablouri Arduino, verificați pinii I2C din documentația consiliului dvs. (de exemplu, Mega folosește pinii 20 și 21 pentru SDA și SCL).
Pasul 3: Instalați biblioteca necesară
Biblioteca „Adafruit BMP085 Unified” poate fi utilizată pentru BMP180, deoarece este complet compatibilă.
Pași pentru instalarea bibliotecii:
- Deschideți IDE Arduino.
- Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
- Căutați „Adafruit BMP085 Unified” și faceți clic pe Instala.
Pasul 4: Încărcați codul
Iată un exemplu de schiță pentru a citi temperatura, presiunea și calcularea altitudinii:
#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
}
Pasul 5: Testați configurarea
- Conectați Arduino la computer prin USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
- Încărcați codul la Arduino făcând clic pe Încărcați.
- Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la
9600
. - Observați citirile de presiune, temperatură și altitudine afișate în monitorul serial.
Aplicațiile BMP180
- Sisteme de monitorizare a vremii
- Măsurarea altitudinii la drone și aviație
- IoT Monitorizare a mediului
- Înregistrare barometrică a datelor de presiunea barometrică
Depanare
- Fără răspuns din partea senzorului: Verificați cablarea și asigurați -vă că sunt utilizate pinii I2C corecți.
- Citiri incorecte: Verificați dacă senzorul nu este expus la condiții extreme de mediu.
- Erori de bibliotecă: Asigurați -vă că biblioteca „Adafruit BMP085 Unified” este instalată corect.
Concluzie
Ați interfațat cu succes senzorul de presiune barometric BMP180 cu Arduino. Acest senzor versatil este ideal pentru proiectele care necesită măsurători precise de presiune și temperatură. Experimentați în continuare integrându -l cu jurnaluri de date, afișaje sau platforme IoT!