#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초) 지연
}