BMP180 adalah tekanan barometrik presisi tinggi dan sensor suhu yang dapat dengan mudah dihubungkan dengan Arduino menggunakan protokol I2C. Ini banyak digunakan dalam pemantauan cuaca, pengukuran ketinggian, dan aplikasi IoT. Tutorial ini akan memandu Anda melalui penghubung dan menggunakan BMP180 dengan Arduino.
Apa yang Anda Butuhkan
- Modul Sensor BMP180
- Dewan Arduino (mis., Uno, mega, nano)
- Papan tempat memotong papan dan kabel jumper
- Komputer dengan IDE Arduino diinstal
Langkah 1: Memahami BMP180
BMP180 mengukur tekanan dan suhu barometrik dan dapat menghitung ketinggian berdasarkan pembacaan tekanan. Ini berkomunikasi dengan Arduino menggunakan protokol I2C.
Pinout BMP180
Pin | Fungsi |
---|---|
Vin | Catu daya (3.3V/5V) |
Gnd | Tanah |
SDA | Jalur data I2C |
Scl | I2C Clock Line |
Langkah 2: Kabel BMP180 ke Arduino
Inilah cara menghubungkan BMP180 ke Arduino UNO:
Pin BMP180 | Pin Arduino |
---|---|
Vin | 5v |
Gnd | Gnd |
SDA | A4 |
Scl | A5 |
Catatan: Untuk papan Arduino lainnya, verifikasi pin I2C dalam dokumentasi dewan Anda (mis., Mega menggunakan pin 20 dan 21 untuk SDA dan SCL).
Langkah 3: Instal perpustakaan yang diperlukan
Perpustakaan "Adafruit BMP085 Unified" dapat digunakan untuk BMP180 karena sepenuhnya kompatibel.
Langkah -langkah untuk menginstal perpustakaan:
- Buka Ide Arduino.
- Pergi ke Sketsa > Sertakan perpustakaan > Kelola Perpustakaan.
- Cari "Adafruit BMP085 Unified" dan klik Memasang.
Langkah 4: Unggah kode
Inilah contoh sketsa untuk membaca suhu, tekanan, dan menghitung ketinggian:
#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
}
Langkah 5: Uji pengaturan
- Hubungkan Arduino ke komputer Anda melalui USB.
- Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
- Unggah kode ke Arduino dengan mengklik Mengunggah.
- Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke
9600
. - Amati pembacaan tekanan, suhu, dan ketinggian yang ditampilkan di monitor serial.
Aplikasi BMP180
- Sistem Pemantauan Cuaca
- Pengukuran ketinggian dalam drone dan penerbangan
- Pemantauan lingkungan IoT
- Pencatatan Data Tekanan Barometrik
Pemecahan masalah
- Tidak ada tanggapan dari sensor: Periksa kabel dan pastikan pin I2C yang benar digunakan.
- Bacaan yang salah: Verifikasi bahwa sensor tidak terpapar pada kondisi lingkungan yang ekstrem.
- Kesalahan Perpustakaan: Pastikan perpustakaan "Adafruit BMP085 Unified" diinstal dengan benar.
Kesimpulan
Anda telah berhasil menghubungkan sensor tekanan barometrik BMP180 dengan Arduino. Sensor serbaguna ini sangat ideal untuk proyek yang membutuhkan pengukuran tekanan dan suhu yang akurat. Eksperimen lebih lanjut dengan mengintegrasikannya dengan logger data, tampilan, atau platform IoT!