Page 87 - 2
P. 87
lcd.print("Analysing Data");
lcd.write(1);
lcd.setCursor(0, 1);
lcd.print("<CHECKING DUST>");
lowpulseoccupancy = 0;
starttime = millis();
}
}
void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration;
if ((millis()-starttime) >= sampletime_ms) {
ratio = lowpulseoccupancy/(sampletime_ms*10.0);
concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
pcsPerCF = concentration * 100;
ugm3 = pcsPerCF / 13000;
if (ugm3 > 0.01 ) {
lcd.clear();
lcd.print("Dust:");
lcd.print(ugm3);
lcd.print("ug/m3");
lowpulseoccupancy = 0;
starttime = millis();
}
if (ugm3 > 0.01 && ugm3 <= 30) {
lcd.setCursor(0, 1);
lcd.print("Good! ^v^");
setColor(0, 0, 225);
noTone(13);
}
else if (ugm3 > 30 && ugm3 <= 80) {
lcd.setCursor(0, 1);
lcd.print("SoSo! ^ ^;");
setColor(0, 255, 225);
noTone(13);
}
else if (ugm3 > 80 && ugm3 <= 150) {
lcd.setCursor(0, 1);
lcd.print("Bad! T.T");
setColor(255, 120, 0);
noTone(13);
- 87 -