중급 예제

약간은 익숙하시거나 익숙해지셨나요? 그렇다면 조금더 깊이 다뤄볼까요?

미세먼지 센서(yeetc A5-a) 를 사용해봅시다.

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  

 

부품명 오렌지 보드 미세먼지센서 브레드보드 점퍼케이블
파트

 

 

하드웨어 making

브레드 보드

 

 

 

핀의 번호를 잘 확인하신 후 연결해 주세요.

(브레드보드 이미지에서 1이라고 적힌 부분이 1번입니다.)

 

이번 컨텐츠에서는 Serial interface를 이용해서 센서값을 받아오기 때문에 PWM핀 대신 RX, TX핀을 연결해 줍니다.

 

저희가 연결해야할 핀은 5V, GND. RX. TX 총 4핀입니다. (위 설명에 보시면 1, 2, 4, 5번 핀)

 

리셋버튼은 LOW 신호가 들어가면 실행하므로 따로 연결 하지 않으셔도 됩니다.

 

 

TIP 위 센서의 케이블은 일반적으로 사용하는 케이블과 규격이 다릅니다.

 

 

 

오렌지보드에서 사용하기 위해 선 끝을 잘라서 핀헤더와 납땜 후 사용하였습니다.

 

 

 

소프트웨어 coding

#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

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

코코아팹, KocoaFAB, 미세먼지센서, 미세먼지키트, OrangeBoard, 오렌지보드

니옆집살아 2018-08-21 12:04:35

쩐다.. 나는 이런거못해요