Ok, so the source of the issue is with the printing you have coded, agreed?
A:
void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration;
if ((millis()-starttime) >= sampletime_ms) //if the sampel time = = 30s
{
ratio = lowpulseoccupancy/(sampletime_ms*10.0);
concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
Serial.print("Concentration = ");
//Serial.print(concentration);
//Serial.println(" pcs/0.01cf");
//Serial.print("\n");
Serial.println();
lowpulseoccupancy = 0;
starttime = millis();
}
}
Does that cause a print issue?
B:
void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration;
if ((millis()-starttime) >= sampletime_ms) //if the sampel time = = 30s
{
ratio = lowpulseoccupancy/(sampletime_ms*10.0);
concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
Serial.print("Concentration = ");
Serial.print(concentration);
//Serial.println(" pcs/0.01cf");
//Serial.print("\n");
Serial.println();
lowpulseoccupancy = 0;
starttime = millis();
}
}
Does that cause an issue?
C:
void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration;
if ((millis()-starttime) >= sampletime_ms) //if the sampel time = = 30s
{
ratio = lowpulseoccupancy/(sampletime_ms*10.0);
concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
Serial.print("Concentration = ");
Serial.print(concentration);
Serial.println(" pcs/0.01cf");
//Serial.print("\n");
Serial.println();
lowpulseoccupancy = 0;
starttime = millis();
}
}
Does that cause an issue?
D:
void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration;
if ((millis()-starttime) >= sampletime_ms) //if the sampel time = = 30s
{
ratio = lowpulseoccupancy/(sampletime_ms*10.0);
concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
Serial.print("Concentration = ");
//Serial.print(concentration);
//Serial.println(" pcs/0.01cf");
//Serial.print("\n");
Serial.println();
lowpulseoccupancy = 0;
starttime = millis();
}
}
Issue?
E:
void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration;
if ((millis()-starttime) >= sampletime_ms) //if the sampel time = = 30s
{
ratio = lowpulseoccupancy/(sampletime_ms*10.0);
concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
Serial.print("Concentration = ");
Serial.print(concentration);
Serial.println(" pcs/0.01cf");
Serial.print("\n");
Serial.println();
lowpulseoccupancy = 0;
starttime = millis();
}
}
Does that cause an issue?