본 절은 [BME280 기압 아두이노 센서]를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 또한 아두이노와 센서를 연결하고, 라이브러리를 이용해 쉽게 실습한다.
목차
대기는 지구 위에 존재하는 전체 기상을 의미한다. 기상(whether)은 대기 중에서 일어나는 하나하나의 물리적 현상이다. 대기 오염이란 실외 공기(Ambient air)의 오염을 말하며, 대기 중에 먼지, 유해가스 등의 오염물질이 사람, 재산, 동/식물 등에 나쁜 영향을 미칠 정도로 특정 지역에 다량으로 존재하는 현상이다.
대기 오염은 오염 물질의 물리적 특성 외에도 압력, 온도, 습도, 바람(풍향 및 풍속)과 밀접한 관련이 있다.
BME280 기압 아두이노 센서 아두이노 센서
기압(atmospheric pressure) 인체에 미치는 영향
우리가 살고 있는 공간의 공기는 무게가 없는 것처럼 느껴지지만, 실제로 공기는 무게를 가지고 있어 우리가 살고 있는 지면에 가하는 힘이 존재한다. 이를 대기압이라고 한다.
1 대기압은 수면에 가해지는 공기의 무게를 기준으로 하고 있는데 이 무게는 지구 상의 위치나 기상 상태에 따라 약간씩 다르므로 위도 40도 지역에서 1년간 측정된 값을 평균한 것을 표준 기압으로 삼고 있다.
기상은 대기 중에 일어나는 물리적 자연현상을 의미하며, 기후는 대기상태의 현상을 사람과 결부시켜 의미를 해석한다. 기상 현상의 4가지 요소는 열(기온), 압력(기압), 바람(풍향 및 풍속), 수분(습도)이 영향을 미친다.
고기압은 대기 중 오염물질(미세먼지, 아황산가스, 이산화질소, 오존 등)의 정체를 유발하고, 저기압은 대기오염 물질을 분산시켜 맑은 공기를 만들어 주지만 기상병을 유발한다.
고기압: 고기압이 지나가면 하강 기류 때문에 상층에 있는 미세먼지까지 사람이 생활하는 지표에 머무르는 대기 정체 현상이 발생한다. 대기가 정체되면 발전소, 차량, 공장 등 다양한 대기오염 배출원에서 배출한 대기 오염물질(미세먼지, 아황산가스, 이산화질소, 오존 등)이 대기 중에 체류하는 시간이 길어진다.
결국 오염물질의 농도가 짙어져 호흡, 피부 등을 통해 인체에 나쁜 영향을 준다. 한반도를 덮친 고농도 미세먼지는 국내 대기 오염물질이 공기 중에 쌓이면서 대기 정체가 생긴 것이 문제이다. 대기가 정체된 이유는 봄가을 한반도를 지나는 이동성 고기압 때문이다. 이동성 고기압은 주로 봄과 가을에 잘 나타나는데 대륙고기압 일부가 떨어져 나와서 한반도 부근을 통과하는 것이다. 이동성 고기압은 주로 맑고 더운 날씨를 만들며, 이런 날씨가 이어지면 미세먼지는 대기정체 때문에 나쁨 일 수 있다. 따라서 날씨가 따뜻해지면 미세먼지가 더욱더 기승을 부릴 수 있다.
고기압이 지나갈 때 하늘은 맑아도 하강 기류 때문에 상층에 있는 미세먼지까지 우리가 생활하는 지표에 머무르는 대기정체 현상이 발생한다. 대기가 정체되면 발전소, 차량, 공장 등 다양한 대기오염 배출원에서 같은 양의 미세먼지 등의 대기 오염물질을 뿜어내도, 그 오염 물질이 대기 중에 체류하는 시간이 길어진다.
결국 대기 정체 때문에 적은 양의 미세먼지와 같은 대기 오염물질의 농도가 짙어지게 되며 호흡, 피부 등을 통해 인체에 나쁜 영향을 주게 된다.
저기압: 비 오면 몸도 마음도 아픈 이유는 기상병 때문이다. 비가 오는 날이면 “무릎이 콕콕 쑤신다”고 말을 하는 사람들이 많다. 이러한 통증은 기분 탓이 아니라 기상병 때문에 생기는 증상이다. 저기압은 흐린 날씨를 유발한다. 또한 태풍이 지나가는 날도 저기압이 형성된다.
대기오염 물질을 분산시켜 맑은 공기를 만들어 주지만 기상병을 유발한다. 기상병은 기온, 습도, 기압의 변화로 평소 앓고 있던 질환의 증세가 악화되거나 새롭게 질병이 생기는 것을 말하며, 습도와 온도의 변화가 클수록 그 정도가 심해진다. 주로 관절염, 우울증, 두통, 치통, 두드러기 등의 증상을 발생시킨다. 비 오면 몸도 마음도 아픈 이유는 기상병 때문이다. 비가 오는 날이면 “무릎이 콕콕 쑤신다”라고 말을 하는 사람들이 많다. 이러한 통증은 기분 탓이 아니라 기상병 때문에 생기는 증상이다. 저기압은 흐린 날씨를 유발한다. 또한 태풍이 지나가는 날도 저기압이 형성된다.
기상병은 기온, 습도, 기압의 변화로 평소 앓고 있던 질환의 증세가 악화되거나 새롭게 질병이 생기는 것을 말하며, 주로 관절염, 우울증, 두통, 치통, 두드러기 등의 증상을 발생시킬 수 있다. 습도와 온도의 변화가 클수록 그 정도가 심해진다. 머리가 지끈지끈 울리는 두통도 날씨 변화에 따른 기상병 증상 중 하나이다. 기압이 변동될 때 대기 중에 음이온보다 양이온이 많아지며, 양이온이 체내의 세로토닌 분비를 감소시켜 두통을 유발한다.
또한 저기압은 사람의 심리를 불안하게 만들고 심한 경우에 우울증을 유발한다. 기압 저하가 발생하면 인체의 귀에 있는 내이(기압 센서 역할)에서 기압을 감지하게 되고, 자율신경에 영향을 준다. 졸음, 기분저하, 심박수 증가, 혈관 수축, 만성지로한의 악화 등을 유발한다.
우리의 기분, 수면, 행동 등을 조절하는 세로토닌과 멜라토닌 등의 신경전달물질이 일조량에 따라 분비되는데, 날이 흐려 일조량이 줄어들면 행복 호르몬이라고 불리는 세로토닌은 줄어들고 수면을 유도하는 멜라토닌은 늘어난다. 이러한 신경전달물질의 변화로 인해 사람들이 쉽게 초조해지고 화를 내며 행동이 느려지며, 운전 시 차량사고의 가능성 또한 높아질 수 있다.
하지만 저기압은 대기가 불안정하고 비와 바람이 동반되는 경우가 많아 대기 오염물질의 분산이 잘 이루어진다. 저기압은 일반적으로 구름이 낀 하늘, 세찬 바람, 대기의 불안전성, 전선의 형성 등과 관련이 있다.
저기압은 미세먼지와 같은 대기오염 물질을 분산시키지만, 기상병을 발생시킨다.
[기압과 온도]
대기는 지구 위에 존재하는 지구 상의 공기를 의미한다. 대기는 대류권, 성층권, 중간권, 열 권으로 구성된다. 대류권은 지표면에서 10km 구간으로 전체 대기의 70~80%를 차지한다. 위로 올라갈수록 기온이 내려가고 대류현상이 발생한다.
대기 오염은 실내 오염과는 구분되는 실외 공기(ambient air)의 오염을 의미한다. 대기 중에 먼지, 유해가스, 악취 등의 오염물질이 사람, 동식물, 재산 등에 유해한 영향을 미칠 정도로 특정 지역에 다량으로 존재하는 현상으로, 국소 영역, 도시, 지역, 대륙, 지구 등의 범위로 정의를 내릴 수 있다.
특정 지역은 공장의 굴뚝 높이, 도시는 수 km , 지역은 대류권, 대륙은 성층권, 지구는 대기권으로 구분된다.
기상 오염 물질은 기준 상태(25도, 1 atm)에서 기체로 존재하는 오염물질로, 황산화물, 진소 산화물, 탄화수소, 휘발성 유기화합물 등이 있으며, 입자상 오염물질은 먼지, 연기, 액적, 비산재, 훈연 등이 있다.
하늘로 올라 갈수록 기압이 작아져 결국에는 0이 된다. 대기압의 영향으로 생기는 것은 바로 바람이다. 바람은 기압차로 인해 생기는 것으로써 고기압 쪽에서 저기압 쪽으로 불게 된다. 이러한 바람은 대기오염물질의 분해에 영향을 미친다.
대기압은 지표에서 5.5km 올라갈 때마다 절반으로 줄어든다. 0km 1014 hPa , 5km 540.5ha, 10km 265 hPa...로 된다.
기압(atmospheric pressure) 간이 측정기
기압(atmospheric pressure) 간이 측정기는 다음과 같다.
+더 알아보기
BME280 기압 아두이노 센서란?
보쉬(Bosch) 사의 BME280 센서는 기압, 온도, 습도를 측정할 수 있는 센서다. 모든 종류의 날씨/환경 감지에 적합하다. BME280 센서를 사용하기 위한 GY-BME280 센서 모듈은 I2C 인터페이스를 제공한다. Grivaity, SparkFun, waveshare, adafruit 등에서도 센서 모듈이 제공되고 있으며, 성능은 동일하다.
[BOSCH]
다음은 BME280 센서 제조사 보쉬의 사이트이다.
BME280 센서 사양
BME280 센서 사양은 다음과 같다. BME280 센서의 작동범위는 온도, -40 ~+85 C, 습도 0~100 % rel, 기압 300~1100 hPa이며, 습도 센서 및 압력 센서는 독립적으로 활성화 / 비활성화 가 가능하다.
AM2302, SHT71, HTU21 D, SI7021와 BME280을 비교하면 다음과 같다.
BME280 센서 구성
BME280 센서는 8 핀 금속 덮개 2.5 x 2.5 x 0.93 mm3 LGA 패키지에 압력, 습도 및 온도에 대한 개별적인 높은 선형성 및 고정밀 센서를 결합한다.
BME280은 낮은 전류 소비 (3.6μA @ 1Hz), 장기 안정성 및 높은 EMC 견고성을 위해 설계되었다.
모듈의 중심에는 Bosch – BME280에 의해 제조된 디지털 온도, 습도 및 압력 센서가 있다. 또한 BME280 센서는 BMP180, BMP085 또는 BMP183과 같은 센서의 후속 모델이다.
BME280 센서 동작 원리
BME280은 크기와 저전력 소비가 주요 설계 제약 인 모바일 애플리케이션을 위해 특별히 개발된 통합 환경 센서이다.
- 습도 센서는 매우 빠른 응답 시간을 제공하여 상황 인식 및 넓은 온도 범위에서 높은 정확도와 같은 새로운 응용 분야의 성능 요구 사항을 지원한다.
- 압력 센서는 매우 낮은 소음에서 매우 높은 정확도와 해상도를 특징으로 하는 절대 기압 센서이다.
- 통합 온도 센서는 매우 낮은 소음과 높은 해상도를 위해 최적화되었다. 주로 압력 및 습도 센서의 온도 보정에 사용되며 주변 온도를 추정하는 데에도 사용할 수 있다.
BME280은 전력 소비, 해상도 및 필터 성능을 위해 장치를 최적화할 수 있는 유연성을 제공하고 있다.
BME280 센서 출력 값
BME280 센서의 데이터 시트에 따르면, 온도, 습도, 기압을 출력할 수 있다.
BME280 데이터 시트에 따르면, 센서는 다양한 오버 샘플링 옵션, 필터 설정 및 센서 모드로 인해 가능한 많은 설정이 가능하다. 예를 들어, 날씨 모니터링, 습도 센싱, 실내 모니터링 등 상황에 맞게 센서의 설정값을 변경하여 사용할 수 있다.
날씨 모니터링 (Weather Monitoring) |
게이밍 (Gaming) |
실내 모니터링 (inddor navigation) |
|
센서모드 (Sensor Mode) |
Force mode 1 sample/minue |
Normal Mode Tstandby = 0.5ms |
Normal Mode Tstandby = 0.5ms |
오버샘플링 설정 (Oversampling Settings) |
Pressure x 1 Temperature x 1 Humidity x 1 |
Pressure x 4 Temperature x 1 Humidity x 0 |
Pressure x 16 Temperature x 2 Humidity x 1 |
IIR 필터 설정 (IIR filter settings) |
Filter off | Filter coefficient 16 | Filter coefficient 16 |
소비전류 (Current consumption) |
0.16μA | 581μA | 633μA |
RMS 노이즈(Nosie) | 3.3 Pa/30cm, 0.07% RH | 0.3Pa/2.5cm | 0.2Pa/1.7cm |
데이터 출력 (Data ouput rate) |
1/60 Hz | 83Hz | 25Hz |
필터 대역폭 (Filter bandwidth) |
- | 1.75Hz | 0.53Hz |
응답 시간 Resposen Time(75%) |
- | 0.3s | 0.9s |
특징 | -매우 낮은 데이터 속도만 필요 -전력 소비가 최소화 -압력 값의 노이즈는 문제가 되지 않음 -습도, 압력 및 온도가 모니터링 |
-낮은 고도의 노이즈가 필요 -고도 변화에 빠르게 대응하기 위해 필요한 대역폭은 ~ 2Hz - 증가된 전력 소비는 허용. -습도 센서가 비활성화 |
- 가능한 가장 낮은 고도 노이즈가 필요. -매우 낮은 대역폭이 선호 -증가된 전력 소비는 허용. -실내 변화를 감지하는 데 도움이 되도록 습도를 측정 |
[압력 출력]
압력 측정을 활성화하거나 건너뛸 수 있다. 활성화되면 여러 오버 샘플링 옵션이 존재한다. 압력 측정은 osrs_p [2 : 0] 설정에 의해 제어된다. 압력 측정의 경우 노이즈를 줄이기 위해 오버 샘플링이 가능하다.
압력 데이터의 분해능은 IIR 필터 및 오버 샘플링 설정에 따라 다르다.
- IIR 필터가 활성화되면 압력 분해능은 20 비트이다.
- IIR 필터가 비활성화되면 압력 분해능은 16 + (osrs_p – 1) 비트이다.
(예 : osrs_p가 '3'으로 설정된 경우 18 비트
[온도 측정]
온도 측정을 활성화하거나 건너뛸 수 있다. 측정을 생략하면 압력을 매우 빠르게 측정하는 데 유용할 수 있다. 활성화되면 여러 오버 샘플링 옵션이 존재한다.
온도 측정은 osrs_t [2 : 0] 설정에 의해 제어된다. 온도 측정의 경우 노이즈를 줄이기 위해 오버 샘플링이 가능하다.
온도 데이터의 분해능은 IIR 필터 및 오버 샘플링 설정에 따라 다르다.
- IIR 필터가 활성화되면 온도 분해능은 20 비트이다.
- IIR 필터가 비활성화되면 온도 분해능은 16 + (osrs_t – 1) 비트 입이다.
(예 : osrs_t가‘3’으로 설정된 경우 18 비트
IIR필터는 센서 내부의 습도 값은 빠르게 변동하지 않으며 저역 통과 필터링이 필요하지 않는다. 그러나 문이나 창문을 때리거나 센서에 바람을 부는 것과 같이, 환경 압력은 많은 단기 변화에 영향을 받을 수 있다.
따라서 추가 인터페이스 트래픽 및 프로세서 작업 부하를 발생시키지 않고 출력 데이터에서 이러한 장애를 억제하기 위해 BME280에는 내부 IIR 필터가 있다.
온도 및 압력 출력 신호의 대역폭을 효과적으로 줄이고 10 압력 및 온도 출력 데이터의 해상도를 20 비트로 높인다.
[습도 측정]
습도 측정을 활성화하거나 건너뛸 수 있다. 활성화되면 여러 오버 샘플링 옵션이 존재한다. 습도 측정은 osrs_h [2 : 0] 설정에 의해 제어된다. 습도 측정의 경우 노이즈를 줄이기 위해 오버 샘플링이 가능하다. 습도 측정 분해능은 16 비트 ADC 출력으로 고정되어 있다.
BME280 센서 동작
BME280은 I2C 및 SPI (3 선 / 4 선) 디지털 직렬 인터페이스를 지원한다. 센서는 슬립 모드, 일반 모드 및 강제 모드의 세 가지 전원 모드로 작동할 수 있다.
• 슬립 모드(Sleep) : 전원 켜기 재설정 후 기본적으로 절전 모드가 시작된다. 다. 슬립 모드에서는 측정이 수행되지 않으며 전력 소비 (IDDSM)는 최소다. 모든 레지스터에 액세스 할 수 있다. 칩 -ID 및 보상 계수를 읽을 수 있다. 인터페이스 타이밍에는 특별한 제한이 없다.
• 정상 모드(Normal) : 센서는 측정과 대기 기간 사이에서 자동으로 순환한다. 이 모드는 단기 교란 (예 : 센서로 유입)을 필터링해야 하는 경우 BME280 내장 IIR 필터를 사용할 때 권장된다.
• 강제 모드(Forced) : 센서는 요청 시 단일 측정을 수행한 후 슬립 모드로 돌아간다. 강제 모드에서는 선택한 측정 및 필터 옵션에 따라 단일 측정이 수행된다. 측정이 완료되면 센서가 슬립 모드로 돌아가고 데이터 레지스터에서 측정 결과를 얻을 수 있다. 이 모드는 낮은 샘플링 속도 또는 호스트 기반 동기화가 필요한 응용 프로그램에 권장된다
사용자의 요구에 맞게 데이터 속도, 노이즈, 응답 시간 및 전류 소비를 맞추기 위해 다양한 오버 샘플링 모드, 필터 모드 및 데이터 속도를 선택할 수 있다. 몇 가지 단기 방해 필터 설정과 함께 센서는 응용 프로그램 및 전원 관리 요구 사항에 맞게 매우 유연한 방식으로 프로그래밍할 수 있다.
설계 단계를 단순화하기 위해 날씨 모니터링, 엘리베이터 / 계단 케이스 감지, 낙하 감지 또는 실내 내비게이션과 같은 몇 가지 사용 사례에 최적화된 기본 설정이 제공된다.
BME280 기압 아두이노 센서 구입하기
[모두의 아두이노 환경 센서] 책에서 사용한 [BME280 기압 아두이노 센서]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다
알리익스프레스
네이버
아마존
BME280 기압 아두이노 센서 동작 확인
[모두의 아두이노 환경 센서] 책에서 소개하는 [BME280 기압 아두이노 센서]는 라이브러리를 사용하여 간편하게 동작 확인을 할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 라이브러리 복사
libraries\Steamedu123_Sensor-master 폴더는 아래 폴더에 복사
* 아두이노 설치 후 자동으로 생기는 폴더
C:\Users\s\Documents\Arduino\libraries
02 *. ino 파일 실행
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
/*
@타이틀 : 기압 측정 센서
*/
#include <C501_Steam_Air_BME280_hPa.h> // 내부 라이브러리 헤더파일
SteamBME280 bme280; // 인스턴스, 핀 번호를 입력한다.
void setup() {
Serial.begin(9600); // 9600bps의 속도로 시리얼 통신을 시작한다.
bme280.begin(); // (1) 센서를 초기화 한다.
}
void loop() {
bme280.read(); // (2) 센서의 값을 측정한다.
bme280.display(); // (3) 센서의 값을 출력한다.
delay(1000); // 1초 동안 대기한다.
}
03 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
04 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
05 동작 확인
다음과 같이 동작을 확인할 수 있다.
마무리
이 절에서는 기압이 인체에 미치는 영향과 기준 농도 및 간이측정기의 측정 범위와 측정기에 사용되는 센서들을 알아보고, 실제 기압을 측정할 수 있는 BME280 센서와 아두이노를 이용해 직접 제어해보았다.
고기압에서는 날씨가 맑다 하더라고 외출 전 미세먼지 농도를 확인해야 한다. 날씨가 흐린 날 나타나는 관절염 부위의 통증은 찬바람에 노출되면 더욱 증상이 심해진다. 이를 예방하기 위해 팔과 다리를 가릴 수 있는 긴 옷이나 담요를 가지고 다니는 것이 좋다.
참고문헌
다음과 같이 [모두의 아두이노 환경 센서] 책에서 사용한 [BME280 기압 아두이노 센서]의 참고 문헌은 다음과 같다.
[3] 최지원, 황경엽, 대기압의 변화에 따른 휘발성 오염물질의 토양에서 대기로의 거동, 2005
[4] 유승희, 김현철, 김병욱, 김순태, 2015년 10월 고농도 미세먼지 사례 분석: 기압 패턴과 국외 기여 도, 한국 대기환경학회 학술대회 논문집, 2018
[5] Gabriel Yurko, Real-Time Sensor Response Characteristics of 3 Commercial Metal Oxide Sensors for Detection of BTEX and Chlorinated Aliphatic Hydrocarbon Organic Vapors, 2019
[6] BME280datasheet,
[7] MPL115 A1datasheet,
[8] 알리익스프레스 BME280,
[9] 알리익스프레스 MS5540,
[10] 알리익스프레스 MPL115 A1,
[11] Small and precise: barometric pressure sensors,
[12] BME280 Combined humidity and pressure sensor datasheet,“Key features”, p1
[13] BME280 Circuit,
+ 이 글도 읽어보세요.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
'모두의 아두이노 환경 센서 > 5장 대기 환경 측정 센서' 카테고리의 다른 글
풍속(Wind Speed) 측정 센서들 (QS-FS01) (0) | 2021.05.11 |
---|---|
기류(Air Flow) 측정 센서들 (MD0550) (0) | 2021.05.11 |
자외선(UV) 측정 센서들 (GUVA-S12SD) (0) | 2021.05.11 |
기압(atmospheric pressure) 측정 센서들 (BME280) (0) | 2021.05.11 |
C504 QS-FS01 풍속(Wind Speed) 아두이노 센서 [모두의 아두이노 환경 센서] (0) | 2021.03.21 |
C503 MD0550 기류(Air Flow) 아두이노 센서 [모두의 아두이노 환경 센서] (0) | 2021.03.20 |
C502 GUVA-S12SD 자외선(UV) 아두이노 센서 [모두의 아두이노 환경 센서] (0) | 2021.03.19 |
댓글