Cảm Biến Áp Suất BM180

1. Giới Thiệu

Hôm nay chúng ta cùng tìm hiểu về loại cảm biến đo áp suất BM180. Chuyên dùng trong các dự án về môi trường và nó cũng là một trong những giao tiếp I2C quen thuộc

vì nó rất là tiny và ngắn nên bài viết của mình cũng như vậylaugh.

2. Kết Nối

BM180 Arduino Uno,Mega,..
Vin 5V
GND GND
SCL A5
SDA A4

3. Thư viện và link tải

Link tải thư viện BM180

Mở example và check kết quả qua serial cheeky

#include <Wire.h>
#include <Adafruit_BMP085.h>

/*************************************************** 
  This is an example for the BMP085 Barometric Pressure & Temp Sensor

  Designed specifically to work with the Adafruit BMP085 Breakout 
  ----> https://www.adafruit.com/products/391

  These displays use I2C to communicate, 2 pins are required to  
  interface
  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/

// Connect VCC of the BMP085 sensor to 3.3V (NOT 5.0V!)
// Connect GND to Ground
// Connect SCL to i2c clock - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 5
// Connect SDA to i2c data - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 4
// EOC is not used, it signifies an end of conversion
// XCLR is a reset pin, also not used here

Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
	Serial.println("Could not find a valid BMP085 sensor, check wiring!");
	while (1) {}
  }
}
  
void loop() {
    Serial.print("Temperature = ");
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");
    
    Serial.print("Pressure = ");
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");
    
    // Calculate altitude assuming 'standard' barometric
    // pressure of 1013.25 millibar = 101325 Pascal
    Serial.print("Altitude = ");
    Serial.print(bmp.readAltitude());
    Serial.println(" meters");

  // you can get a more precise measurement of altitude
  // if you know the current sea level pressure which will
  // vary with weather and such. If it is 1015 millibars
  // that is equal to 101500 Pascals.
    Serial.print("Real altitude = ");
    Serial.print(bmp.readAltitude(101500));
    Serial.println(" meters");
    
    Serial.println();
    delay(500);
}

Với Temperature hiển thị nhiệt độ

Pressure là P áp suất bên ngoài hay còn gọi là áp suất không khí 

Altitude độ cao 

Real Altitude độ cao thực so với mực nước biển

4. Lời Kết

Chúng ta có thể trang bị cho robot thám hiểm môi trường với BM180 hiển thị qua lcd. Bài sau mình sẽ kết hợp BM180 với DHT11 để làm trạm dự báo thời tiết

Chúc các bạn có những ngày đam mê, thú vị ,khám phá với Cộng đồng Arduino Việt Nam.

lên
13 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Vẽ ảnh Bitmap trên OLed I2C - Rất đẹp, bạn cảm nhận thử xem?

Để khắc phục bài viết bitmap LCD5110 với lỗi ảnh và không full HD được. Mình viết bài này để các bạn  có them nhiều thú vui với LCD hơn. Con LCD bây giờ mình tâm đắc nhất là OLed giao tiếp I2c với độ pixel 128x64.

lên
4 thành viên đã đánh giá bài viết này hữu ích.

RoboArm, PlayStation 2 và LCD5110 - Một dự án xe ra đời

Do mình thấy một số anh và bạn bè mình chơi RoboArm theo nhiều hình thức khác nhau qua Bluetooh, NRF24l01, Xbee,RF, Remote hồng ngoại. Và cũng chưa thấy bài viết tổng hợp về Arm +L298 nên mình xin viết bài này, Do lập trình mình chưa vững chỉ thấy có sự logic là cứ viết cộng với phần cơ khí mình có vẻ tồi nên có gì sai sót mong anh em trong group thông cảm và góp ý vào phần comment phía dưới nhé để bài viết mình chỉnh sửa và hoàn thiện hơn. Hi vọng bài viết này mang lại trải nghiệm thú vị cho một số bạn newbie

lên
18 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: