우선 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 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩