본문 바로가기

아두이노(arduino)

아두이노 미세먼지 감지센서 / 코드 및 회로도 / 활용 아이디어

미세먼지 감지센서란?

 

미세먼지센서는 대기 중 미세먼지 농도를 측정하는 센서입니다. 미세먼지는 공기 중에 떠다니는 작은 입자로서, 인체 건강에 매우 해로운 영향을 미칩니다. 따라서 미세먼지 농도를 측정하는 것은 대기 오염 수준을 파악하고, 인체 건강을 보호하는 데 중요합니다.

 

 



미세먼지센서는 일반적으로 빛 산란 원리를 이용하여 작동합니다. 센서에는 빛을 쏘는 LED와 빛을 감지하는 광학 센서가 포함되어 있습니다. LED에서 발생한 빛이 미세먼지 입자와 충돌하면, 빛이 산란되어 광학 센서에서 감지됩니다. 이 감지된 빛의 양은 미세먼지 입자의 수와 크기에 비례합니다.

미세먼지센서는 대기 중의 미세먼지 농도를 숫자 또는 그래프로 표시할 수 있습니다. 대부분의 미세먼지센서는 아날로그 또는 디지털 출력을 제공하며, 이러한 출력을 이용하여 데이터를 수집하고 분석할 수 있습니다. 일부 미세먼지센서는 Wi-Fi 또는 Bluetooth와 같은 무선 통신을 지원하여 스마트폰 또는 컴퓨터와 연동하여 실시간으로 미세먼지 농도를 모니터링할 수 있습니다.

미세먼지센서는 대기 중의 미세먼지 농도를 측정하고 모니터링하는 것이 가능하므로, 실내 환경에서의 공기질 관리, 차량 내부의 대기질 모니터링, 공공 장소에서의 대기 오염 관리 등 다양한 분야에서 사용됩니다.

 

 

 

미세먼지 감지센서 활용 아이디어

 

 

1. 실내 환경에서의 공기질 모니터링

 

미세먼지센서를 사용하여 실내의 미세먼지 농도를 측정하고 모니터링하여, 실내 환경의 공기질을 관리합니다. 이를 위해서는 센서를 실내에 설치하고, 측정된 데이터를 정기적으로 확인하여 실내 공기질 문제를 조기에 파악하고 해결하는 것이 중요합니다.

 

 


2. 차량 내부의 대기질 모니터링

 

미세먼지센서를 차량 내부에 설치하여 차량 내부의 대기질을 모니터링하고 관리합니다. 특히 자동차용 미세먼지센서는 USB 포트에 연결하여 간편하게 사용할 수 있습니다. 차량 내부의 미세먼지 농도가 높으면 차량 내부의 환기를 적극적으로 시행하거나 차량 내부 공기청정기를 사용하여 대기질을 개선할 수 있습니다.

 

 


3. 공공 장소에서의 대기 오염 관리

 

공공 장소에 미세먼지센서를 설치하여 대기 오염 수준을 모니터링합니다. 이를 통해 공공 장소의 대기질 문제를 파악하고, 적절한 조치를 취하여 대기 오염을 최소화합니다.

 

 


4. 미세먼지 데이터 수집 및 분석

 

미세먼지센서를 사용하여 미세먼지 농도 데이터를 수집하고, 이를 분석하여 대기 오염 원인을 파악하고 대처 방안을 제안할 수 있습니다. 이를 통해 지역별 미세먼지 농도에 대한 통계를 제공하고, 대기 환경 개선을 위한 정책 수립에 활용할 수 있습니다.

 

 


5. 스마트 홈과의 연동

 

미세먼지센서를 스마트 홈과 연동하여, 대기질 정보를 스마트폰 또는 컴퓨터로 확인할 수 있습니다. 또한, 미세먼지 농도가 일정 수준 이상인 경우, 자동으로 공기청정기를 가동하거나 창문을 열어 환기할 수 있도록 설정할 수 있습니다.

 

 

미세먼지센서의 측정방식 종류

 

적외선 빛 산란식 미세먼지센서

미세먼지 입자가 적외선 빛과 충돌하면, 빛이 산란되는 현상을 이용하여 미세먼지 농도를 측정하는 방식입니다.

 

 


라이트 산란식 미세먼지센서

미세먼지 입자가 빛과 충돌하여 빛이 산란되는 현상을 이용하여 미세먼지 농도를 측정하는 방식입니다. 적외선 빛 산란식 미세먼지센서보다 더 정확한 측정이 가능합니다.

 

 

 

 

 



전기식 미세먼지센서

미세먼지 입자가 전기장에 의해 이온화되고, 전극으로 이동하면서 전류의 변화를 감지하여 미세먼지 농도를 측정하는 방식입니다.

 

 

 

 



레이저 산란식 미세먼지센서

레이저를 이용하여 미세먼지 입자와 충돌시켜 빛이 산란되는 현상을 이용하여 미세먼지 농도를 측정하는 방식입니다. 정밀하고 높은 해상도의 측정이 가능합니다.

 



초음파식 미세먼지센서

초음파 파동의 반사파와 송신파의 차이를 이용하여 미세먼지 농도를 측정하는 방식입니다. 입자의 크기나 농도에 따라 센서의 감도가 달라지는 한계점이 있지만, 대기질 측정에 유용합니다.

 

 

 

 

 



화학식 미세먼지센서

미세먼지 입자가 센서 내부의 화학물질과 반응하여 전기적 신호를 생성하고, 이를 이용하여 미세먼지 농도를 측정하는 방식입니다. 다양한 화학물질을 사용하여 미세먼지 농도를 측정할 수 있습니다.

 

 

 

 

미세먼지 회로도

 

사용된 먼지센서는 sharp사에서 나온 GP2Y1014AU0F입니다.

 

위 사진과 같이 조금 다른 회로도를 보실 수 있는데 위에것은 미세먼지센서와 중간 어댑터가 없는것을 연결한 회로도이고 아래사진은 어댑터가 있어 좀더 수월하게 연결할 수 있습니다. 

 

보유하고 계신 미세먼지센서가 어떤것인지 확인하시고 배선작업하시면 됩니다.

 

 

 

 

미세먼지센서 예제코드

 

Arduino와 SDS011 미세먼지센서를 이용하여 미세먼지 농도를 측정하는 예제 코드입니다. SDS011 미세먼지센서는 UART 통신을 이용하여 아두이노와 통신합니다.

 

 

 

 

 

 

// 미세먼지센서와 LED 핀을 정의

 

//핀을 정의하실때는 본인이 원하시는 디지털핀에 꽂으시고 아래 핀번호만 바꾸시면 됩니다.


const int ledPin = 13;   
const int dustPin = 7;

void setup() {
  // LED 핀을 출력으로 설정
  pinMode(ledPin, OUTPUT);
  // 미세먼지센서 핀을 입력으로 설정
  pinMode(dustPin, INPUT);
  // Serial 통신 초기화
  Serial.begin(9600);
}

void loop() {

 

//1번 : 미세먼지 계산
  // LED 핀 HIGH로 설정하여 미세먼지센서 전원 ON
  digitalWrite(ledPin, HIGH);
  delayMicroseconds(280); // 280us 대기
  int dustVal = analogRead(dustPin); // 미세먼지센서 아날로그 값 읽기
  digitalWrite(ledPin, LOW); // LED 핀 LOW로 설정하여 미세먼지센서 전원 OFF
  delayMicroseconds(40); // 40us 대기
  dustVal += analogRead(dustPin); // 미세먼지센서 아날로그 값 읽기
  dustVal /= 2; // 두 값의 평균 계산

  // 아날로그 값을 전압값으로 변환하고 미세먼지 농도로 변환
  float voltage = dustVal * (5.0 / 1024.0);
  float density = voltage / 0.1;

 

//2번  시리얼 모니터로 보여줌
  // 시리얼 모니터에 출력
  Serial.print("Raw Signal Value (0-1023): ");
  Serial.print(dustVal);
  Serial.print(", Dust Density: ");
  Serial.print(density);
  Serial.println("ug/m3");
  
  delay(1000); // 1초 대기
}

 

시리얼 모니터사용방법을 모르시는분은 아래 링크로 들어가셔서 확인하시면 됩니다.

 

2022.12.28 - [아두이노(arduino)] - 아두이노 Serial.print 함수(시리얼 프린트 함수)

 

아두이노 Serial.print 함수(시리얼 프린트 함수)

Serial.print(시리얼 프린트)가 뭔가요? 예를 하나들어볼께요. 만약에 우리가 세탁기를 하나 만들었다고 가정을 해보겠습니다. 이 세탁기는 전원버튼 이외에 시작버튼 정지 버튼 밖에 없습니다. 세

ronco.tistory.com

 

 

 

위 코드는 SoftwareSerial 라이브러리를 사용하여 아두이노와 SDS011 미세먼지센서를 연결합니다. setup() 함수에서 Serial 통신과 SoftwareSerial 통신을 초기화합니다. loop() 함수에서는 미세먼지 농도 측정을 반복합니다. 미세먼지 농도 측정 명령어를 미세먼지센서에 전송하고, 1초간 대기한 후에 미세먼지 농도 데이터를 수신합니다. 이후에는 미세먼지 농도 데이터를 계산하고 출력합니다. 10초 간격으로 미세먼지 농도를 측정하고 출력합니다.

 

 

미세먼지가 어떻게 작동하는지 모두 다 알면 좋겠지만 우리는 그것까지 알필요는 없습니다. 이런식으로 사용되어지니 활용 및 어떤식으로 응용할지에 대해 집중하면 됩니다.