코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2018-04-24 11:22:24
미세먼지는 우리 눈에 보이지 않는 아주 작은 물질로, 대기 중에 오랫동안 떠다니거나 흩날려 내려오는 직경 10㎛ 이하의 입자상 물질을 말합니다.
참고 : Naver 지식백과
이처럼 미세먼지는 눈에 보이지 않을 만큼 매우 작기 때문에 대기 중에 머물러 있다 호흡기를 거쳐 폐 등에 침투하거나 혈관을 따라 체내로 이동하여 들어감으로써 건강에 나쁜 영향을 미칠 수도 있습니다.
최근 전국적으로 미세먼지 문제가 심각해지고 있어서 많은 사람들이 미세먼지에 관심이 늘어나고 있습니다.
그래서 현재 있는 공간에 미세먼지 농도 / 양을 직접 측정하여 얼마나 심각한지 확인하기 위해 아두이노로 다양한 프로젝트를 만들고 있습니다.
(미세먼지 측정기)
아두이노로 미세먼지 관련 프로젝트를 만들 때 Sharp사에서 나온 GP2Y1010AU 를 자주 사용합니다.
(사용방법 : 하드카피월드)
위 센서는 상대적으로 가격이 싸고 구하기 쉬운대신 미세먼지 크기에 따른 구별이 불가능하고 영점을 맞추는 작업이나 노이즈 제거 작업등 번거로운 작업이 필요합니다.
(상세 내용 : 새다리님 블로그)
그래서 이번엔 위 센서보다 좀더 비싼 Yeetc사에 A5-A 미세먼지 센서를 써봤습니다.
이번 컨텐츠에서는 좀더 정확하고 다양한 결과값을 보여주는 미세먼지 센서(A5-A)의 연결방법과 측정 결과를 확인하는 법에 대해 알아보겠습니다.
NO | 부품명 | 수량 | 상세설명 |
1 | 오렌지 보드 | 1 | |
2 | 미세먼지센서 | 1 | yeetc A5-A |
3 | 브레드보드 | 1 | |
3 | 점퍼케이블 | 4 |
부품명 | 오렌지 보드 | 미세먼지센서 | 브레드보드 | 점퍼케이블 |
파트 |
핀의 번호를 잘 확인하신 후 연결해 주세요.
(브레드보드 이미지에서 1이라고 적힌 부분이 1번입니다.)
이번 컨텐츠에서는 Serial interface를 이용해서 센서값을 받아오기 때문에 PWM핀 대신 RX, TX핀을 연결해 줍니다.
저희가 연결해야할 핀은 5V, GND. RX. TX 총 4핀입니다. (위 설명에 보시면 1, 2, 4, 5번 핀)
리셋버튼은 LOW 신호가 들어가면 실행하므로 따로 연결 하지 않으셔도 됩니다.
TIP 위 센서의 케이블은 일반적으로 사용하는 케이블과 규격이 다릅니다.
오렌지보드에서 사용하기 위해 선 끝을 잘라서 핀헤더와 납땜 후 사용하였습니다.
#include <SoftwareSerial.h>
SoftwareSerial dustSerial(2, 3);
void setup() {
dustSerial.begin(9600);
Serial.begin(9600);
}
void loop()
if(dustSerial.available()){ // 먼지센서로 부터 데이터가 전달되면
Serial.println(dustSerial.read(), HEX); // 출력 데이터를 HEX값으로 출력
}
delay(10);
}
위 코드를 업로드 후 시리얼 모니터를 열어보시면 밑의 사진과 같이 HEX값들을 확인할 수 있습니다.
데이터시트를 보면 결과값이 0x32 0x3D 부터 시작해서 중요한 미세먼지량은 5번째 값부터 2줄씩 결과를 출력하게 됩니다.
아래 이미지를 참고하면 PM1.0 값은 5, 6번 째 값이므로 위에 결과에서 0, 2가 됩니다. 결과적으로 현재 PM1.0 미세먼지농도는 2ug/m3 값이 됩니다.
TIP Yeetc A5-A 미세먼지센서로 Serial Interface 사용시 기본 통신속도는 9600bps 입니다.
TIP 들어오는 센서값들 중 맨 처음값은 무조건 0x32, 0x3D 로 고정이기 때문에, 0x32와 0x3D가 들어오면 그 때를 기준으로 데이터를 구분해주시면 됩니다.
(센서값은 총 32바이트가 들어오므로 0x32를 기준으로 32줄을 확인하셔도 됩니다.)
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!