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

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






미세먼지를 뚫고 출근하는 한국인들의 모습 ​ 오늘은 미세먼지 센서에 대해 알아보겠습니다 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장. 아두이노 조도센서 모듈 사용하기 14
28 [모듈] 27장. 아두이노 SHT20 온습도센서 사용하기 90
27 [모듈] test 0
26 [모듈] 26장. 아두이노 심박 펄스센서 사용하기 149
25 [모듈] 25장. 아두이노 4x4 멤브레인 키패드 응용편 62
24 [모듈] 24장. 아두이노 4X4 멤브레인 키패드 사용하기 83
23 [모듈] 23장. 아두이노와 앱인벤터를 통한 온습도 출력하기 117
22 [모듈] 22장. 아두이노 온습도센서 DHT 11 84
21 [모듈] 21장. 아두이노 앱 인벤터 LED 컨트롤하기 198
20 [모듈] 20장. 아두이노 DS18B20 사용하기 146
19 [모듈] 19장. 아두이노 WS2812B 네오픽셀 LED 모듈 ... 119
18 [모듈] 18장. 아두이노 도트 매트릭스 모듈(MAX7219) ... 82
17 [모듈] 17장. 아두이노 RFID(RC522) NFC 사용하기 118
16 [모듈] 16장. 아두이노 서보모터 사용하기 273
15 [모듈] 15장. 아두이노 스위치 사용하기 81
14 [모듈] 14장. 아두이노 조도센서 사용하기 140
13 [모듈] 13장. 아두이노 HC-SR501 인체 감지 경보기 89
12 [모듈] 12장. 아두이노 초음파 센서 거리측정기 83
11 [모듈] 11장. 초음파 센서를 활용한 접근금지 경보음 울리기 92
10 [모듈] 10장. 아두이노 초음파 센서를 이용한 선풍기 117

비밀번호 확인

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

비밀번호 확인

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

CS CENTER

1644 - 4457

CUSTOMER SERVICE

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

BANK INFO

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

(주)인투피온

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

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

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

전화번호 :1644-4457 팩스번호: 02-6124-4242 이메일: info@intopion.com / Hosting Provider : ㈜가비아씨엔에

개인정보관리책임자 : 이성민

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