안녕하세요!!
오늘은 미세먼지센서 PPD42NS에 대해 알아보겠습니다
PPD42NS란?
PPD42NS는 미세먼지 센서 중의 하나로 PM1.0 또는 PM2.5 두 가지 모드 중
하나를 선택해 사용할 수 있는 것이 특징입니다.
이 센서는 적외선센서(Infrared LED)가 불빛을 비추고 Photodiode Detector 가 Focusing Lens를 통해
미세먼지를 측정하는데 이때 일정 시간 동안 감지를 하여 측정값을 내는 방식을 사용합니다.
PPD42NS 스펙
동작 원리
측정 펄스는 보통 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]
여기서 사용할 모드는 PM1.0입니다.
PM1.0을 사용할 때에는 1, 3, 4번 핀을 사용합니다.
1번 핀은 GND, 3번 핀은 5V, 4번 핀은 D8에 연결해 주시면 됩니다.
30초의 샘플 타임을 가지고 측정하기 때문에 sampletime_ms = 30000로 설정해 줍니다.
12345678910111213141516171819202122232425262728293031323334 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=>100concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curveugm3= 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();}}
아래는 PPD42NS 데이터 시트입니다.
여기까지 PPD42NS 미세먼지 센서에 대해 알아보았습니다.
전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.
▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net
'인투피온 강좌 > 아두이노 팁(Tip)' 카테고리의 다른 글
아두이노 미세먼지 센서 LED LCD 출력하기 (0) | 2021.11.26 |
---|---|
아두이노 RGB LED 모듈 사용하기 (0) | 2021.11.26 |
아두이노 I2C LCD 모듈 라이브러리 코딩 (0) | 2021.11.26 |
아두이노 IIC/I2C 1602 LCD의 주소 확인하기 (0) | 2021.11.26 |
아두이노 I2C/IIC 1602 LCD 모듈 (0) | 2021.11.26 |