PMS7003 미세먼지 센서는 PLANTOWER사에서 제작판매하는 레이저 방식의 미세먼지 측정센서로서 PM2.5 (초미세먼지)를 안정적으로 측정할수 있고 크기도 작기때문에 시중에서 판매되는  미세먼지 측정기에 널리 사용되는 센서이다.  

 

 

PMS7003미세먼지센서 특징

 

-미세먼지 PM 10 (10㎍/m³ ) , 초미세먼지 PM 2.5 (2.5㎍/m³ ), 극초미세먼지 PM 1.0(1㎍/m³ )을 동시측정

-레이저 방식이고 내부에 공기순환 FAN이 있어 균일한 측정이 가능

-센서값을 디지털데이처로 변환해서 출력해 주기 때문에 노이즈 영향이 없으며 안정적인 값 측정 가능   

 

 

PMS7003미세먼지센서 사양

 

PLANTOWER사에서 공개하는 세부 사양은 다음과 같다.

 

센서의 외형크기와 핀배열은 다음과 같다.

 

단순하게 읽기용도로만 사용하려면 VCC,GND로 전원공급하고 9번핀의 Data를 Serial통신으로 읽으면 된다.

 

구매시 주의사항

 

센서의 연결핀은 다음 그림과 같이 5x2 구조인데 핀간격이 1.27mm로서 아두이노에서 일반적으로 사용하는 2.54mm 핀보다 간격이 매우 좁아 연결하기 불편하다.  

 

따라서 다음과 같은 아답터와 연결케이불을 함께 구매하는 것이 좋다.

 

 

아두이노와의 연결

 

 

단순하게 읽기 용도로만 사용하려면 VCC,GND로 전원공급하고 9번핀의 Data를 Serial통신으로 읽으면 되므로

아두이노 디지털 핀 (여기에서는 7번핀)에 연결하고 Software Serial방식으로 읽는다.

 

 

샘플프로그램

 

 

2 line : 아두이노 7번핀을 RX로 하여 SoftwareSerial 통신을 선언한다.

4~18 line : PMS7003센서에서 보내주는 데이터의 위치별 데이터 내용 구조이다.

50~52 line : 센서에서는 측정 결과값을 30byte로 위 데이터 구조로 전송한다. 

54 line : PM1.0 값을 읽으려면 PM1_0_ATMOSPHERE_H, PM1_0_ATMOSPHERE_L 부분을 읽으면 되고

55 line : PM2.5 값을 읽으려면 PM2_5_ATMOSPHERE_H, PM2_5_ATMOSPHERE_L 부분을 읽으면 된다.

 

구매좌표 

  -해외 :  https://s.click.aliexpress.com/e/_AW8dFn


  -국내 : https://coupa.ng/bQiTHN

아두이노 IDE에서 ESP32관련 개발을 하려면 다음과 같이 ESP32 보드메니저를 추가해 주어야 한다.

 

 

 

1. 아두이노 IDE 업그레이드

 

1.6.x대의 아두이노 IDE 버전은 최신 버전의 ESP개발환경을 설치하는 과정에서 에러가 발생할 수 있으니 오래된 아두이노 IDE를 사용하고 있는 경우 먼저 아두이노 IDE를 최신 버전으로 업그레이드 한다.

 

 

2. ESP32 보드메니저 최신 버전 확인

 

https://github.com/espressif/arduino-esp32/releases 접속하여 배포되고 있는  ESP32 보드메니저 최신 버전을 확인한다.  가장 최신 버전의 Asset 리스트의 json파일 부분에 마우스를 위치시키면 아래와 같이 json파일의 URL이 표시되는데 이 URL을 이용하여 ESP 보드메니저를 설치하게 된다.

 

2019년 3월 현재 가장 최신 버전 URL은 다음과 같다.

 

https://github.com/espressif/arduino-esp32/releases/download/1.0.2-rc1/package_esp32_dev_index.json

 

 

3. 아두이노 IDE 환경설정

 

아두이노 IDE에서 파일->환경설정을 선택하여 환경설정화면을 호출한다.

 

 

추가적인 보드메니저 URLs부분에 위 URL을 적어주면 되는데, 이미 다른 URL이 지정되어 있는 경우에는 우측의 버튼을 클릭하면 다음과 같이 여러개의 URL을 지정할 수 있는 대화상자가 표시되므로 여기에 지정해 주면 된다.

 

 

4. ESP32보드메니저 설치

 

아두이노IDE 메뉴에서 툴 ->보드 -> 보드메니저를선택하여 보드메니저 화면을 호출한다.

 

 

환경설정에서 ESP32 URL이 제대로 지정되었을 경우 다음과 같이 esp32 by Espressif systems 라는 항목이 보드메니저에 표시되므로 버전을 선택하여 설치하면 된다. 

 

 

 

설치버튼을 클릭하면 꽤 많은 파일들이 다운로드되면서 ESP32 개발환경들이 설치된다. 설치가 완료된 후 툴-보드 메뉴에는 다음과 같이 ESP32관련 보드들의 리스트가 표시된다. 여기에서 사용하는 ESP32 보드 종류를 선택하면 되는데 일반적인 경우 ESP32 Dev Module 보드를 선택하고 개발하면 된다.  

 

7-segment Display는 저렴한 비용으로 간단한 숫자를 크게 표시할 수 있는 장치로서, 시계나 수치현황판 등의 용도로 많이 사용된다.    

 

 

7-Segment Display는 다음과 같이 7개의 조각으로 발광소자를 배치하여 각각의 발광소자를 ON-OFF제어하는 조합으로 원하는 정보를 표시할 수 있게 된다.

 

 

 

 

 

 

TM-1637 모듈

 

7-segment dislay장치를 직접 제어하여 표시하려면 회로도 복잡하고 많은 제어핀을 사용해서 일일히 제어하는 것은 번잡하므로  통상 아두이노 환경에서는 TM-1637이라는 칩을 통해 사용하게 된다. TM1637 칩은 MCU부터의 명령을 받아 4개의 7-segment를 제어하여 원하는 정보가 표시되도록 한다.  

 

 

 

크기는 0.56인치와 0.36인치가 일반적이고 컬러는 붉은색외에 노란색,녹색 등 다양한 모듈들이 판매되므로 선택해서 사용가능하다.

 

 

 

아두이노와의 연결

 

다음과 같이 VCC와 GND에 5V전원을 연결하고, CLK,DIO는 아두이노의 디지털 출력핀에 연결한다.(여기에서는 9,8번핀)

 

 

라이브러리 설치

https://github.com/bremme/arduino-tm1637 사이트에 접속하여 라이브러리 ZIP 압축파일을 다운로드받아 아두이노IDE메뉴의 스케치->라이브러리포함하기 ->.zip라이브러리 추가하기 로 설치한다.

 

위 bremme의 arduino-tm1637 라이브러리 이외에도 TM1637 7-segment display를 위한 여러 라이브러리가 있지만 이 라이브러리가 사용하기 간편하고 기능도 다양하다.   

 

샘플프로그램

 

 

7~9 line : 사용할 핀을 정의한다.

15 line : display밝기를 지정한다.

16 line : print 문으로 출력할 문자를 지정하기만 하면 해당 문자가 표시된다. 

 

 

미세먼지 문제가 이슈가 된지 오래고 갈수록 문제는 더 심각해 지고 있다. 그래서 미세먼지 제거를 위한 공기정화기를 여러대 구매해서 군데군데 설치해서 사용하고 싶지만 시중의 공기 정화기들은 기능에 비해 가격이 터무니 없이 비싸고 기능들도 맘에 들지 않아 미세먼지 공기정화기기를 하나 자작으로 제작해 보기로 했다.

 

공기정화기의 기능

 

사실 공기정화기의 기본 구조와 기능은 아주 단순하다. 즉 FAN을 돌려 공기을 강제로 순환시켜 헤파필터를 통과시키도록 하여 미세먼지를 거르는 기능이 핵심 기본기능의 전부이고  나머지 것들은 부수적인 것들이다. 

 

 

 

헤파필터의 기준

 

위 표에서 표기되는 것처럼 헤파필터도 여러 등급이 있고 13등급부터 정식 헤파필터라 하고 세미 헤파필터라는 등급과는 성능에서 많은 차이가 나는데 단순히 헤파필터라고만 하면 어떤 등급의 필터인지 구분할 수 없다.

 

시판되는 공기정화기들의 문제점

 

-기본 기능 외에 별로 필요로 하지 않은 기능들을 잔뜩 추가해 놓고 가격은 너무 비싸다.

 .화려한 디자인, 스마트폰 연결기능, 헤파필터외에 이외에 항균/부직포/냄새필터 등 부수필터 추가 등등. 

 

-미세먼지 농도가 표시되는데 이 수치라는 것이  무엇을 의미하는지 애매하고 믿음이 가지 않는다. 

 .공기정화기에 표시되는 수치가 정화되어 깨끝해진 실내공기의 미세먼지 농도라고 생각했는데, 실제로 공기 정화기를 켜면 곧바로 떨어지고 끄면 바로 다시 올라가 버린다. 공기정화기의 성능이 좋다 해도 그렇게 단시간에 실내공기 전체를 정화시켜 버렸는지 의구심이 들고 그렇다면 공기정화기를 꺼도 상당시간 깨끝한 상태가 지속되어야 할텐데 그렇지는 못한 경우가 많다. 즉, 나는 실제로 어떤 농도의 공기를 어느 만큼 정화시키는지를 알고 싶은데 이에 대한 구체적인 수치없이 켜면 마법처럼 단시간에 깨끝해지고 끄면 순식간에 다시 올라가 버리는 수치에 믿음이 가지 않는다.  

 

구현해 보고자 하는 공기정화기 

 

 

1.가장 저렴하게 기본 기능에만 충실한 공기정화기

   -초강력 필터인 H13등급 헤파필터를 사용하고자 한다. 그런데 H13등급은 너무 촘촘해 공기의 흐름이 매우 느려지기 때문에 공기순환을 위한 FAN도 기존의 선풍기 바람 정도로는 너무 부족하다. 따라서 디자인,소음보다는 가격대비 바람의 세기만을 강조하는 무식한(?) 강력 에어서큘레이터를 사용한다.     

   -시중 대다수의 공기정화기들은 H13등급이라 표시하지 않고 단순히 헤파필터라고만 표시하고 있는데 낮은 등급일 때에는 정화능력은 떨어지지만 공기흐름이 원할해 지기 때문에 적은 파워의 FAN을 사용해도 되고 소음도 적어진다. (대부분의 공기정화기들은 특수 모터기술로 제작해서 파워는 강력하고 소음은 아주 적다고  광고하지만....)      

 

 

2. 공기 정화기의 효과를 직접 확인해 볼 수 있는 시스템

  -미세먼지 농노 측정센서를 2개 설치하여 필터로 유입되는 공기의 미세먼지 농도와 필터를 통과한 후의 미세먼지 농도를 따로 측정하여 표시한다. 이렇게 함으써 실제 필터가 몇 퍼센트의 미세먼지를 제거하고 있는지 구체적인 수치를 알 수 있으며, 필터로 유입되는 공기의 농도가 현재 실내 전체의 실제 미세먼지의 농도라는 것을 알 수 있다.  

+ Recent posts