우선 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가 그 놈 되겠다.
'개발자 > Arduino' 카테고리의 다른 글
아두이노로 만든 반응하는 인형 9가지 구성품 테스트 코드 (0) | 2018.06.22 |
---|---|
아두이노 라이브러리 리스트 Arduino Library List 1470개의 라이브러리 모아놓은 곳 (0) | 2018.04.24 |
MMA8452Q 3축 가속도 센서 모듈 아두이노 코드 digital accelerometer (0) | 2018.04.19 |
조도 빛 센서 TMD27723 센서 - ambient light sensing (ALS) (0) | 2018.04.19 |
온도 습도센서 HTU20D, HTU21D 아두이노 라이브러리 코드 (0) | 2018.04.19 |
MS5637 Barometric Pressure Sensor 아두이노 라이브러리와 코드 (0) | 2018.04.19 |
아두이노 프로그램 블루투스로 RGB Led 색 제어하는 코드 (0) | 2018.04.17 |
센서 보드의 모든 센서와 액츄에이터 구동을 위한 Test 프로그램 소스 (2) | 2018.03.25 |
더욱 좋은 정보를 제공하겠습니다.~ ^^