[모듈] 4장. 아두이노 미세먼지 센서 PPD42NS 페이스북 트위터 카카오톡 
작성자 관리자 등록일 2021-02-18 16:34:37 조회수 241

요즘 미세먼지가 기승을 부리고 있습니다~ 항상 어딜가나 마스크를 쓰고 다니는 사람들이 많아졌는데요.






미세먼지를 뚫고 출근하는 한국인들의 모습 ​ 오늘은 미세먼지 센서에 대해 알아보겠습니다 PPD42NS 란?




PPD42NS는 미세먼지 센서 중의 하나로 PM 1.0 또는 PM 2.5 두 가지 모드 중 하나를 선택해 사용할 수 있는 것이 특징입니다. 이 센서는 적외선센서(Infrared LED)가 불빛을 비추고 Photodiode Detector 가 Focusing Lens를 통해 미세먼지를 측정하는데 이때 일정 시간 동안 감지를 하여 측정값을 내는 방식을 사용합니다.




동작 원리





​

측정 펄스는 보통 HIGH를 유지하고 있습니다. 센서에 먼지가 지나가는 것이 감지되면 신호는 HIGH에서 LOW로 바뀌게 되고 샘플 타임에서 LOW 동작 시간의 비(ratio)를 구해 Concentration 을 구할 수 있습니다. ​ 그래프를 보시면 단위가 pcs/283ml=0.01cf 인 것을 볼 수 있습니다. 이 단위를 우리가 평소에 보는 단위인 ug/m3로 변환해야 되는데 누군가가 이에 대한 공식을 구해 놓았습니다. 저희는 편하게 Concentration * 100 / 13000을 해주면 됩니다.

​

​




1 : COMMON(GND)

2 : OUTPUT(P2)

3 : INPUT(5VDC 90mA)

4 : OUTPUT(P1)

5 : INPUT(T1)・・・ FOR THRESHOLD FOR [P2]

​

저희는 보통 사용하는 PM 1.0 모드를 사용하겠습니다.

PM 1.0 모드를 사용할 때에는 1, 3, 4 번 핀을 사용합니다.

1번 핀은 GND , 3번 핀은 5V, 4번 핀은 D8에 연결해 주시면 됩니다.

​

30초의 샘플 타임을 가지고 측정하기 때문에 sampletime_ms =30000로 설정해줍니다.

해상도가 낮아도 상관없으시다면 낮추셔도 됩니다.


코딩



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
int pin = 8;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 30000;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;
float ugm3 = 0;
 
void setup() {
  Serial.begin(9600);
  pinMode(pin,INPUT);
  starttime = millis();
}
 
void loop() {
  duration = pulseIn(pin, LOW);
  lowpulseoccupancy = lowpulseoccupancy+duration;
 
  if ((millis()-starttime) > sampletime_ms)
  {
    ratio = lowpulseoccupancy/(sampletime_ms*10.0);  // Integer percentage 0=>100
    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
    ugm3= concentration * 100 /13000;
    
    Serial.print("ugm3 = " );
    Serial.print(ugm3);
    Serial.println("ug/m3" );
    //Serial.print(ratio); Low pulse Occupancy %를 알고 싶을때
    //Serial.print(concentration); concentration 를 알고 싶을때
    lowpulseoccupancy = 0;
    starttime = millis();
  }
}
cs



​

​

​


PPD42NS 데이터 시트 첨부하였습니다

PPD42NS 데이터 시트 첨부하였습니다


[데이타시트1]     [데이타시트2]









     



아두이노 예제 미세먼지 먼지 센서 먼지센서 ppd42ns arduino 아두이노예제 코딩 code coding 인투피온 intopion

 인투피온 intopion


다음글 5장. 아두이노 RGB LED 모듈 사용방법 관리자 2021-02-18 16:54
이전글 3장. 아두이노 I2C LCD 라이브러리 코딩 관리자 2021-02-18 15:42
댓글(0)
로그인 또는 댓글권한이 있을 경우 등록하실 수 있습니다.

비밀번호 확인

댓글 등록시에 입력했던 비밀번호를 입력해 주세요.

비밀번호 확인

게시글 등록시에 입력했던 비밀번호를 입력해 주세요.
번호제목조회수
29 [모듈] 28장. 아두이노 조도센서 모듈 사용하기 34
28 [모듈] 27장. 아두이노 SHT20 온습도센서 사용하기 274
27 [모듈] test 0
26 [모듈] 26장. 아두이노 심박 펄스센서 사용하기 415
25 [모듈] 25장. 아두이노 4x4 멤브레인 키패드 응용편 255
24 [모듈] 24장. 아두이노 4X4 멤브레인 키패드 사용하기 1107
23 [모듈] 23장. 아두이노와 앱인벤터를 통한 온습도 출력하기 579
22 [모듈] 22장. 아두이노 온습도센서 DHT 11 240
21 [모듈] 21장. 아두이노 앱 인벤터 LED 컨트롤하기 475
20 [모듈] 20장. 아두이노 DS18B20 사용하기 406
19 [모듈] 19장. 아두이노 WS2812B 네오픽셀 LED 모듈 ... 430
18 [모듈] 18장. 아두이노 도트 매트릭스 모듈(MAX7219) ... 231
17 [모듈] 17장. 아두이노 RFID(RC522) NFC 사용하기 1501
16 [모듈] 16장. 아두이노 서보모터 사용하기 473
15 [모듈] 15장. 아두이노 스위치 사용하기 349
14 [모듈] 14장. 아두이노 조도센서 사용하기 738
13 [모듈] 13장. 아두이노 HC-SR501 인체 감지 경보기 389
12 [모듈] 12장. 아두이노 초음파 센서 거리측정기 696
11 [모듈] 11장. 초음파 센서를 활용한 접근금지 경보음 울리기 424
10 [모듈] 10장. 아두이노 초음파 센서를 이용한 선풍기 483

비밀번호 확인

게시글 등록시에 입력했던 비밀번호를 입력해 주세요.

비밀번호 확인

댓글/답글 등록시에 입력했던 비밀번호를 입력해 주세요.

CS CENTER

* 재고 확인, 배송, 기술문의는 바로 답변이 어려우니, 가급적 카카오톡 플러스친구 [인투피온] 이용 부탁드립니다 *

CUSTOMER SERVICE

주문/배송문의 쇼핑문의 이용안내 제품문의 1:1문의 자주하는질문

BANK INFO

신한은행 140 011 044291 예금주 (주)인투피온 소영삼
  • 회사소개 개인정보처리방침 이용약관 입점안내 광고안내 아이디/비밀번호찾기
  • 통장사본 파일다운 회사소개서 다운

(주)인투피온

대표:소영삼 사업자등록번호:113-86-29364 [사업자정보확인] 통신판매신고:2015-서울구로-1028

본사 : 서울 구로구 경인로 53길 90 STX W-Tower 1307호

매장 : 서울 구로구 경인로 53길 15 중앙유통단지 다동 4403호

고객상담 팩스번호: 02-6124-4242 이메일: info@intopion.com

* 재고 확인, 배송, 기술문의는 바로 답변이 어려우니, 가급적 카카오톡 플러스친구 [인투피온] 이용 부탁드립니다 *

개인정보관리책임자 : 이성민 / Hosting Provider : ㈜가비아씨엔에스

회원님의 소중한 개인정보 보호를 위해 비밀번호를 주기적으로 변경하시는 것이 좋습니다.
현재 비밀번호
신규 비밀번호
신규 비밀번호 확인
6~20자, 영문 대소문자 또는 숫자 특수문자 중 2가지 이상 조합