[#21 WEKIT 아두이노 종합키트 공략] 미세먼지 센서 공략하기 (GP2Y1012AU0F)

 


안녕하세요 디바이스마트 입니다.


이번 시간엔 미세 먼지 센서에 대해 알아보도록 하겠습니다



"

미세 먼지 센서란?

"

미세 먼지를 감지해 측정해주는 센서로,

이번에 사용할 미세 먼지 센서는 GP2Y1012AU0F 종류에 센서입니다


펄스 폭을 통해 미세 먼지를 감지하게 되며, 센서 내부에 적외선

LED를 이용해 측정하게 됩니다


따라서 이번 실습은 미세 먼지 센서먼지 센서 아답터

보드를 이용해 미세 먼지 농도를 계산하여,

 시리얼 모니터로 출력해보는 예제로 준비했습니다 !





아두이노 PM2.5 GP2Y1023AU0F 먼지센서

▼스펙▼
정격전압 : 5V
먼지 측정 가능 범위 : 0~250ug/mз
포트 : 아날로그 신호
작동 온도 : -10 ~ 65 도
저장 온도 : -20 ~ 80 도
크기 : 46 * 34 * 17.7 mm



GP2Y10 먼지 센서 아답터 보드 
[ELB050211]

먼지 센서 아답터 보트는 기존에 미세 먼지 센서를 더욱더 

편하게 작동할 수 있도록 도와주는 보드이며,

캐패 시터와 저항이 보드 내부에 탑재되어 있어   따로 구성 할 필요 없이

미세 먼지 센서와 연결 할 수 있다




아두이노 우노와 쉴드 사용법을 모를 경우 !

[아두이노 우노와 센서 쉴드 사용법]

🔼클릭🔼





1. 회로도 & 배선도






2. 코드 예제


(미세먼지 센서 예제 모듈)

// 미세 먼지 없을 때 초기 V 값 0.35
// 공기청정기 위 등에서 먼지를 가라앉힌 후 voltage값 개별적으로 측정 필요
// 변화하는 센서 값을 전압량에 따라 미세 먼지를 직접 계산하여 출력하는 예제

#define DUSTOUT_PIN A0
#define LED_PIN 7

float dustout = 0; // 센서 out 값 변수
float sensor_voltage = 0; // out 센서 값을 전압으로 측정 한 값 변수
float dust_density = 0; // 측정 미세먼지 밀도 값 변수

void setup(){
Serial.begin(9600); // 시리얼 통신 시작
pinMode(LED_PIN,OUTPUT); // 핀모드 설정
}

void loop(){
digitalWrite(LED_PIN,LOW); // 적외선 LED ON
delayMicroseconds(280); // 280us동안 딜레이
dustout = analogRead(DUSTOUT_PIN); // 데이터를 읽음
delayMicroseconds(40); // 320us - 280us
digitalWrite(LED_PIN,HIGH); // 적외선 LED OFF

delayMicroseconds(9680); // 10ms(주기) -320us(펄스 폭) 한 값

sensor_voltage = get_voltage(dustout); //센서값 전압으로 측정한 값 지정
dust_density = get_dust_density(sensor_voltage); // 전압으로부터 미세먼지 계산 값 지정

Serial.print("OUT 센서 값 : ");
Serial.print(dustout); // out 센서값
Serial.print(" | ");
Serial.print("전압 : ");
Serial.print(sensor_voltage); // 센서값 전압으로 측정한 값
Serial.print(" [V]");
Serial.print(" | ");
Serial.print("미세먼지 농도 : ");
Serial.print(dust_density); // 미세먼지 계산 값
Serial.println(" [ug/m^3]");
delay(1000);
}

float get_voltage(float value){ // 전압을 아날로그 값으로 변경하는 함수
float V= value * 5.0 / 1024;
return V
}
float get_dust_density(float voltage){
float dust = (voltage - 0.45) / 0.005; // 먼지 제거 후 측정 시 0.3이상 측정 또한 단위 바뀌기 위해 /0.005
return dust;
}

위 예제는 미세 먼지 센서를 통해 현재 미세먼지 농도를

측정한 예제입니다.



지금까지 미제 먼지 센서에 대해 실습 해 보았습니다

위 예제를 참고해서 여러가지 방식으로

작동해보시길 바랍니다

그럼 저는 다음 센서/모듈 포스팅으로 돌아오겠습니다

🔽상품정보🔽

WK 미세먼지 센서 [바로가기]

WK 아두이노 우노 호환보드 (USB-C타입) [바로가기]

WK 아두이노 호환 센서 쉴드 V5.0 [바로가기]


[아두이노 우노 스페셜 센서 종합키트]



댓글 쓰기

0 댓글