본문 바로가기
Arduino(아두이노) 활용 강좌

Arduino Uno 로 GP2Y1014AU0F 먼지세서 와 Arduino 1602 Keypad Shield를 사용해서 실내먼지 농도 측정해 보기

by 오마이엔지니어 2018. 8. 4.
반응형

Arduino Uno 로 GP2Y1014AU0F 광학 먼지세서 와 Arduino 1602 Keypad Shield를 사용해서
실내먼지 농도를 측정해 보고 LCD에 측정값을 출력해 보는 프로젝트 입니다



SHARP의 GP2Y1014AU0F 광학 먼지 센서 (GP2Y1010AU0F 대체)  GP2Y1010AU0F Datasheet.pdf 
공기 중의 먼지와 입자를 이용하여 공기 품질을 측정합니다

내부에 장착된 적외선 송신기, 수신기를 이용해서 미세입자에 의해 반사되는 빛의 양을 측정하는 방식으로 동작합니다
전류 소모량이 매우 적고(20mA max, 11mA typical) 7V DC 까지의 전원으로 동작이 가능합니다
먼지의 농도에 따라 비례적으로 아날로그 출력을 내므로 아두이노의 아날로그 핀으로 값을 읽어 사용할 수 있습니다
약 (0.5V/0.1mg/m3) 의 감도를 가지고 있습니다
주의: 본 센서는 저가형으로 고정밀의 먼지감지에는 적합하지 않습니다 교육용, 개발용, 테스트용으로 적합합니다



사용된 부품
아두이노 우노 (Italy)
GP2Y1014AU0F 광학 먼지센서
Arduino 1602 LCD Keypad Shield

점퍼케이블
미니 브래드보드
막대저항 150Ohm
200uF 캐패시터
점퍼케이블

사용된 키트
아두이노 먼지센서 키트

구성 배선도-실내먼지 농도 측정값 LCD로 출력해 보기


사용된 예제파일

example code.txt



주의사항
LiquidCrystal.h 컴파일 에러가 나는 경우에는 IDE 설치시에 기본적으로 설치되는 LiquidCrystal 라이브러리를 제외하고
또 다른 LiquidCrystal 라이브러리가 추가되어 있는것은 아닌지 확인해 보도록 합시다
IDE 버전 또는 라이브러리 충돌로 인한 컴파일 에러가 발생할 수 있습니다

배선시 위 배선도를 참조해서 배선하도록 합니다 (캐피시터 방향 주의, 전압은 꼭 5V에 연결해야 합니다)
센서를 확인해 보면 윗면에 드라이버로 민감도를 조절할수 있는 나사가 달려 있습니다
테스트를 하면서 최초 출력값을 확인해 보면서 영점을 적절하게 맞추고 테스트를 진행합니다


예제코드를 살펴보면

#include <LiquidCrystal.h>
기본 LiquidCrystal.h 라이브러리를 사용합니다

LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // for lcd keypad shield
1602 LCD Keypad Shield LCD 핀설정입니다

int ledPower = 12; // Sensor Pin 3 - D12
int dustPin = A5;  // Sensor Pin 5 - A5
포스팅의 윗 부분에 첨부된 1602 LCD Keypad Shield 핀맵을 확인해 보면 D12 가 몇번 핀인지 확인할 수 있습니다
센서 아날로그 핀 설정은 A5 입니다

void setup() {
  pinMode(ledPower, OUTPUT);
  pinMode(dustPin, INPUT);

  lcd.begin(16, 2);
  lcd.print("Air Quality!");
}
핀모드 ledPower, dustPin 그리고 LCD에 출력되는 부분  Air Quality! 입니다

  // calculate dust density
  // http://www.howmuchsnow.com/arduino/airquality/
  // y (dust density mg/m3) = 0.172*x - 0.0999
  float dustDensity = (0.172*(dustVal*(5/1024.0))-0.0999)*1000;
먼지센서 측정값 설정 부분입니다

 // LCD output
  lcd.setCursor(0, 1);
  lcd.print("Dust:");
  lcd.print(dustDensity);
  lcd.print("ug/m3    ");
LCD 출력 부분입니다

프로젝트 동영상-실내먼지 농도 측정값 LCD로 출력해 보기


연기도 측정 가능하므로 가습기의 연기쪽으로 센서를 가져다 대면 측정값이 대폭 상승하는것을 확인할 수 있습니다
동영상을 보면 알수 있듯이 GP2Y1014AU0F 먼지센서는 저가형이고 정밀한 센서가 아니라서 오차값이 꽤 나옵니다

아두이노로 먼지센서를 사용해서 실내 먼지농도를 측정하고 테스트 하는 방법을 공부하고 확인하는 정도로 적합 합니다

연관포스팅
Arduino Uno 로 GP2Y1014AU0F 광학먼지센서를 사용해서 실내 먼지(연기) 측정해 보기


example code.txt
0.0MB
GP2Y1010AU0F Datasheet.pdf
0.16MB
반응형

댓글