Cảm biến áp suất BMP180(GY-68)

20.000

Cảm biến áp suất không khí BMP180 điện áp cung cấp: 1.8 ~ 3.6V, giao tiếp chuẩn I2C, Tốc độ I2C max: 3.5MHz

DỊCH VỤ & KHUYẾN MÃI LIÊN QUAN

Cảm biến áp suất không khí BMP180 đo áp suất của môi trường sử dụng áp kế số. Bằng cách chuyển đổi áp suất thành độ cao tương ứng, bạn có thể dùng cho việc xác định độ cao của robot, máy bay hay một vật thể được phóng lên cao.

Cảm biến áp suất không khí BMP180 có thể đo được áp suất trong dải 300 ~ 1100hPa, Thiết bị chỉ hoạt động với dòng điện nhỏ khoảng 0.3uA thích hợp cho các thiết bị sử dụng Pin.

Cảm biến đi kèm bộ hiệu chỉnh và sẵn sàng cho việc sử dụng. Giao tiếp chuẩn I2C đã có trở kéo lên sẵn trên board thuận tiện cho việc sử dụng. Sử dụng I2C, thiết bị cung cấp áp suất và nhiệt độ lên đến 16bits

 

 

 

 

 

THÔNG SỐ KỸ THUẬT

  • Điện áp cung cấp: 1.8 ~ 3.6V
  • Công suất tiêu thụ thập: 0.5uA tại 1Hz
  • Giao tiếp chuẩn I2C
  • Tốc độ I2C max: 3.5MHz
  • Độ nhiễu rất thấp:: lên đến 0.02hPa (17cm)
  • Có sẵn bộ hiểu chỉnh bên trong.
  • Dải đo áp suất: 300hPa ~ 1100hPa (+9000m đến -500m)
  • Trọng lượng: 1.18g
  • Kích thước: 21mm x 18mm

SƠ ĐỒ KẾT NỐI CẢM BIẾN ÁP SUẤT KHÔNG KHÍ

Cảm Biến Áp Suất Không Khí BMP180

————————–CODE THAM KHẢO————————–

Thư viện I2Cdev.h

Thư viện BMP085.h

/* ============================================
Kết nối:
        BMP180                    UNO R3                  MEGA
         VCC                       3.3V                   3.3V
         GND                       GND                    GND
         SCL                        A5                    SCL
         SDA                        A4                    SDA

Nạp code chọn No line ending, baud 9600.
===============================================
*/


#include "Wire.h"
#include "I2Cdev.h"
#include "BMP085.h"


BMP085 barometer;

float temperature;
float pressure;
float altitude;
int32_t lastMicros;

#define LED_PIN 13 // (Arduino is 13, Teensy is 11, Teensy++ is 6)
bool blinkState = false;

void setup() {
    // join I2C bus (I2Cdev library doesn't do this automatically)
    Wire.begin();
    Serial.begin(9600);
    Serial.println("Initializing I2C devices...");
    barometer.initialize();
    Serial.println("Testing device connections...");
    Serial.println(barometer.testConnection() ? "BMP085 connection successful" : "BMP085 connection failed");
    pinMode(LED_PIN, OUTPUT);
}

void loop() {
    barometer.setControl(BMP085_MODE_TEMPERATURE);
    lastMicros = micros();
    while (micros() - lastMicros < barometer.getMeasureDelayMicroseconds());
    temperature = barometer.getTemperatureC();
    barometer.setControl(BMP085_MODE_PRESSURE_3);
    while (micros() - lastMicros < barometer.getMeasureDelayMicroseconds());
    pressure = barometer.getPressure();
    altitude = barometer.getAltitude(pressure);
    Serial.print("T/P/At");
    Serial.print(temperature); Serial.print("t");
    Serial.print(pressure); Serial.print("t");
    Serial.print(altitude);
    Serial.println("");
    blinkState = !blinkState;
    digitalWrite(LED_PIN, blinkState);
    delay(100);
}