(SENSOR1) 미세먼지센서
About Lesson

기본설정

  1. 아두이노 설치 및 환경설정이 완료된 상태여야 합니다.

2. 라이브러리는 하기 버튼을 눌러 다운로드하고 설치하세요

소스 코드

2. 코드설명 : 미세먼지센서로 측정된 실시간 미세먼지 농도를 아두이노 시리얼모니터에 출력합니다.

				
					#define measurePin A2     // 먼지 측정 센서 A2핀으로 지정
#define SensorLED 4       // 먼지 감지를 위한 적외선 LED 4번핀으로 지정

int Time1 = 280;    // Time1을 280으로 설정
int Time2 = 40;     // Time2을 40으로 설정
int Time3 = 9680;   // Time3을 9690으로 설정

void setup() {
  Serial.begin(9600);         // 시리얼 통신 시작
  pinMode(SensorLED, OUTPUT);  // SensorLED 핀(D2)을 출력 단자로 설정
}

void loop() {
  digitalWrite(SensorLED, LOW);               // SensorLED를 LOW로 설정
  delayMicroseconds(Time1);                    // 280μs 지연
  float voMeasured = analogRead(measurePin);   // 센서에서 측정된 순수 아날로그값을 voMeasured 변수에 저장
  delayMicroseconds(Time2);                    // 40μs 지연
  digitalWrite(SensorLED, HIGH);               // SensorLED를 HIGH로 설정
  delayMicroseconds(Time3);                    // 9680μs 지연

  float calcVoltage = voMeasured * (5.0 / 1024.0);       // voMeasured의 값을 5/1024 와 곱하여 calcVoltage에 저장
  float dustDensity = (0.17 * calcVoltage - 0.1) * 1000; // calcVoltage 값에 0.17을 곱하고 -0.1을 더함

  Serial.print(dustDensity);                   // dustDensity을 시리얼 통신으로 출력
  Serial.println(" μg/m³");
  delay(500); //500ms (0.5초) 지연
}
				
			

작동영상