PMS3003 모듈을 활용한 아두이노 미세먼지 센서 제작하기
올 것이 왔다
지난번에 제가 SHARP 센서를 활용한 PM2.5 수준의 미세먼지 농도를 측정하는 측정기를 제작한 적이 있었는데요, 이 센서는 팬(fan)이 달려있지 않기 때문에, 측정을 지속적으로 하기 어려웠고, 정확성 면에서도 날이 갈수록 문제가 생긴다는 것이였습니다. 또한 PM10 수준의 미세먼지는 측정할 수 없었기 때문에 초미세먼지로만 만족을 하지 못했습니다. 결국 새로 PMS3003모듈을 주문했습니다.
이 모듈은 PM10 수준의 미세먼지도 측정할 수 있으니까요!
구조를 살펴보자
일단 사용된 것들은 이겁니다.
- Arduino Due
- HC-06 모듈
- PMS 3003
- 점퍼선
PMS3003의 데이터 시트를 보면, 위 센서는 데이터통신 레벨이 3.3V로 동작합니다. 따라서 5V를 사용하는 우노(UNO) 보드에서는 문제가 발생할 수 있으니 주의하여 주시기 바랍니다.
이번에 우노 보드 말고 듀에 보드를 선택한 이유 중 가장 큰 이유이기도 하나, 듀에 보드에는 하드웨어시리얼이 3개까지 있기 때문에, RX, TX만 잘 맞춰서 연결하면 시리얼모니터에 바로 뜨는 점도 듀에보드 선택에 큰 몫을 하였습니다.
이 제품이 바로 PMS3003입니다. 팬이 달려있어 공기 흡입에 최적입니다.
Due보드를 사용하였습니다. 3.3V로 동작하여 위 센서를 다루기에 최적입니다.
데이터시트를 보시면 아시겠지만, 사진과 같은 방향에서 왼쪽에서 오른쪽 순서로 진행할 때, 1,2번이 VCC, GND이며, 4,5번이 RX, TX입니다. 아두이노에 연결 시 교차해 주시면 되겠습니다.
듀에보드를 선택한 또다른 이유 중 하나입니다. 하드웨어 시리얼이 3개나 있기 때문에 그냥 연결만 해도 시리얼 모니터에 출력이 됩니다.
저는 1번 시리얼에는 PMS3003을 연결하였으며, 2번 시리얼에는 HC-06을 연결하였습니다.
어떻게 제작을 하느냐?
우선 듀에 보드에서는 하드웨어 시리얼이 동작하기 때문에, 아래와 같이 아두이노에서 바로 시리얼 포트를 개방해 줄 수 있습니다.
굉장히 간편합니다. 3개까지 있으니 Serial3 까지 사용 가능합니다.
전체 소스코드는 아래 제 Github 링크를 걸어두도록 하겠습니다.
이 데이터들은?
저는 이 데이터들을 Firebase FireStore Database에 업로드를 하여 실시간으로 데이터를 주고 받을 생각입니다. 방법은 기존에 제가 했던 방식과 똑같으니 링크를 걸어두도록 하겠습니다.
여러분이 원하는 것(?)
마치며
나중에는 오존, CO2등 여러 대기질을 측정할 수 있는 센서를 덕지덕지 붙혀서 통합대기질을 측정하는 것을 만들어 봐야 겠습니다. 질문은 댓글로 해주시면 감사하겠습니다!
'아두이노' 카테고리의 다른 글
아두이노 블루투스 모듈 설정하기 (HC-06) (6) | 2018.04.22 |
---|