인투피온 강좌/아두이노 팁(Tip)

아두이노 HC-06으로 미세먼지 측정값 받아오기

인투피온 2021. 12. 10. 11:07

 

 

 

안녕하세요.

오늘은 블루투스 모듈 HC-06 을 통해서

미세먼지 센서의 측정값을 휴대폰으로 받아오는 방법을

알아보겠습니다.

 

 

 

 

각 사용법은 아래 링크를 참고해주세요!

 


[아두이노 미세먼지 센서 PPD42NS]
https://intopionshop.tistory.com/66

[아두이노 블루투스 HC-06]
https://intopionshop.tistory.com/136

[아두이노 앱인벤터 알아보기]
https://intopionshop.tistory.com/137

 

 

회로연결 및 코딩

 

 

위 사진처럼 연결해주세요.

 


#include <SoftwareSerial.h>


SoftwareSerial BTserial(2,3); // rx,tx

int DustPin = 8;    //먼지 센서 
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 5000;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;
float ugm3 = 0;

void setup() {
  Serial.begin(9600);
  BTserial.begin(9600);
  
  pinMode(DustPin ,INPUT);      // 먼지센서
  starttime = millis();

}

void loop() {

  duration = pulseIn(DustPin , LOW);
  lowpulseoccupancy = lowpulseoccupancy+duration;

  if ((millis()-starttime) > sampletime_ms)
  {
    ratio = lowpulseoccupancy/(sampletime_ms*10.0);  // Integer percentage 0=>100
    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
    ugm3= concentration * 100 /13000;
    
    Serial.print("ugm3 = " ); //미세먼지 시리얼모니터
    Serial.print(ugm3);
    Serial.println("ug/m3" );
    
    BTserial.print(ugm3); //블루투스
    BTserial.print("\r\r\n");
    

    lowpulseoccupancy = 0;
    starttime = millis();
  }
}

 

 

여기에 LCD 를 추가해서 값을 확인해도 되고

일정값을 넘어가면 부저가 울리도록 할 수 있습니다.

 

 

앱인벤터 디자인

 

앱인벤터 블록

 

 

이렇게 앱인벤터에서 디자인과 블록코딩을 한 후에

핸드폰과 연결을 하면 아래처럼 볼 수 있습니다.

 

 

 

이상으로 블루투스 모듈 HC-06 을 통해

미세먼지 센서의 측정값을 핸드폰으로 받아오는 방법에 대해서

알아보았습니다.

 

 

 

해당 내용은 인투피온 유튜브 영상으로도 확인이 가능합니다.

 

 

전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.

▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net