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 문으로 출력할 문자를 지정하기만 하면 해당 문자가 표시된다. 

 

 

+ Recent posts