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 -
   82   83   84   85   86   87   88   89   90   91   92