[아두이노 강좌] 아두이노 공기 센서 사용하기 (공기 품질 센서, Grove - Air quality Sensor v 1.3)

안멋진멋쟁이 2016-03-16 (수) 21:25 8년전 10916  

[아두이노 강좌. 공기 품질 센서 연결하기 (Grove - Air quality Sensor v 1.3)]

 

아두이노에서 Air quality 센서를 사용하여 실내공기 상태를 측정해 보도록 하겠습니다. 아두이노 우노R3 보드와 Grove계열의 Air Quality 센서를 사용할 것이며, 추가로 Grove 제품을 간단하게 사용할 수 있도록 해주는 Grove Base Shield도 사용해보도록 하겠습니다.

 

출처 [메카솔루션] http://Mechasolution.com

 

02cd46d8a607ca14b01d10ead866e139_1458130 

 

 

 

[준비물 (클릭시 구매 사이트 이동)]

우노 R3 호환 보드 , 우노 전원 케이블 , Grove - Air Quality Sensor v 1.3 , Grove Base 쉴드 (옵션)

 

 

 

 

[공기 질 (Air Quality)]

공기중의 함유되어 있는 각종 성분을 평가하여 정상적인 수준과 비교하는 것을 말함.

02cd46d8a607ca14b01d10ead866e139_1458130
 

 

 

 

[센서 소개]

Grove - Air Quality 센서는 실내의 공기 품질(상태)를 측정하는 센서입니다. 알코올, 아세톤, 신나, 포름 알데히드 등과 

같이 유해한 가스들에 의해 반응하며, 센서 특성상 가스의 농도를 측정할 수는 없지만, 공기 품질에 대한 측정을 필요로하는 

어플리케이션에서의 사용은 충분합니다. 공기 청정기, 에어컨, 가스 누출 탐지기, 환기 시스템, 살균 건조기 등에서 

응용이 가능합니다. 센서의 특징, 자세한 스펙에 대한 정보는 여기 를 클릭해주세요.

02cd46d8a607ca14b01d10ead866e139_1458130
 

 

 

[회로도 연결]

Grove Base 쉴드 사용시

02cd46d8a607ca14b01d10ead866e139_1458130

아두이노에 Grove 쉴드를 적층하여 꽂아줍니다.

Air Quality 센서와 케이블을 연결하여 쉴드의 A1에 연결해줍니다.

 

 

Grove Base 쉴드 미사용시

02cd46d8a607ca14b01d10ead866e139_1458131
 

센서 : 아두이노

빨강(VCC) : 5V

검정(GND) : GND

노랑(SIG) : A1

하양(NC) : 논커넥터 (빈공간)

 

 

 

[소스 코드]

아날로그 1번의 신호를 구하는 소스코드로, 아래의 링크를 클릭하여 다운받으실 수 있습니다.

Mechasolution Grove - Air Quality Sensor Code.ino Download

(라이브러리 입니다. 라이브러리 추가방법은 동영상 참고)

 

이 라이브러리는 공기의 상태를 4가지로 나타냅니다.

이 설정값에 대한 변경은 .cpp 파일을 수정해주세요. (맨아래 내용 참고) 

1. air fresh : 좋은 공기상태

2. low pollution : 낮은 농도의 특정 가스가 존재

3. high pollution : 오염 수치가 높아 검토할 필요성이 있음

4. high pollution (Force signal active) : 오염 경고, 대피해야함

 

 

 

[동영상 및 참고 사진]

부산에서 실내 공기 측정..

 

 

02cd46d8a607ca14b01d10ead866e139_1458131
 

 

 

임시 설정 값을 조정하려면 .cpp 파일의 아래 내용을 참고하여 수정해주세요.

int AirQuality::slope(void)
{
while(timer_index)
{
if(first_vol-last_vol>400||first_vol>700)
{
Serial.println("High pollution! Force signal active."); 
timer_index=0; 
avg_voltage(); 
return 0; 

}
else if((first_vol-last_vol>400&&first_vol<700)||first_vol-vol_standard>150)
{ 
Serial.print("sensor_value:"); 
Serial.print(first_vol); 
Serial.println("\t High pollution!"); 
timer_index=0; 
avg_voltage();
return 1;

}
else if((first_vol-last_vol>200&&first_vol<700)||first_vol-vol_standard>50)
{
//Serial.println(first_vol-last_vol);
Serial.print("sensor_value:");
Serial.print(first_vol); 
Serial.println("\t Low pollution!"); 
timer_index=0;
avg_voltage();
return 2; 
}
else
{
avg_voltage(); 
Serial.print("sensor_value:");
Serial.print(first_vol);
Serial.println("\t Air fresh");
timer_index=0;
return 3;
}
}
return -1;
}

 

 

 

 

출처 [메카솔루션] http://Mechasolution.com


 

메카리워즈 Image Map


모바일 버전으로 보기