본문 바로가기

개발자/Arduino

bmp180 디지털 압력센서 아두이노 라이브러리 테스트

반응형

 

 

 

우선 BMP180 datasheet 디지털 압력센서 데이터 쉬트는 아래 링크를 참고한다. 

 

BMP180 Digital pressure sensor

 

센서 사용법과 데이터 쉬트에 대한 자세한 설명은 아래 링크를 참고한다.

 

BMP180 고도/압력 Barometer GY-68 3.3/5V 레귤레이터 내장형 센서 메뉴얼

 

일단 라이브러리를 다운 받는데 깃 사이트에 가면 판매처를 안내하는 아래 링크가 있다. 참고하기로 한다. 

A powerful but easy to use BMP085/BMP180 Library 

 

라이브러리 다운은 아래에서 하는데 오른쪽 clone or download 버튼을 클릭하고 download zip 항목을 선택하여 다운 받는다.

 

압축을 풀면 다음 폴더가 생긴다. Adafruit-BMP085-Library-master 폴더를 통채로 카피하여 아두이노가 설치된 폴더의 라이브러리 폴더에 카피한다. 보통 C:\Program Files (x86)\Arduino\libraries 아래에 카피하면 될 것이다. 

 

이름이 180이 나니라 085 인 것은 상관 없다 동일한 결과를 출력한다. 

 

아두이노 스케치를 종료하고 다시 실행시킨다. [파일 - 예제] 항목에서 [모든 보드의 예제] 아래에 보면 방금 라이브러리 폴더에 카피한 Adafruit BMP085 Library 항목을 선택하여 파일 이름이 BMP085test 인 파일을 연다. 

 

연결 회로는 아래 그림을 참고한다.

 

 

 

아래는 소스코드이다. BMP085test.ino 정도 되겠다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
#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");
 
    Serial.print("Pressure at sealevel (calculated) = ");
    Serial.print(bmp.readSealevelPressure());
    Serial.println(" Pa");
 
  // 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);
}
 
cs

 

 

스케치에서 열리면 보드와 포트를 선택하고 컴파일 업로드를 하면 아름다운 결과를 볼 수 있다.

 

Temperature = 29.10 *C

Pressure = 100998 Pa

Altitude = 26.76 meters

Pressure at sealevel (calculated) = 100997 Pa

Real altitude = 41.81 meters

 

Temperature = 29.10 *C

Pressure = 100998 Pa

Altitude = 27.26 meters

Pressure at sealevel (calculated) = 101004 Pa

Real altitude = 41.72 meters

 

Temperature = 29.10 *C

Pressure = 100996 Pa

Altitude = 27.09 meters

Pressure at sealevel (calculated) = 100999 Pa

Real altitude = 41.56 meters

 

 

u5가 그 놈 되겠다.

 

 

 

 

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩