diff options
Diffstat (limited to 'learning_examples/DSM501A-example-ehh-unreliable/DSM501A-example-ehh.ino')
-rw-r--r-- | learning_examples/DSM501A-example-ehh-unreliable/DSM501A-example-ehh.ino | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/learning_examples/DSM501A-example-ehh-unreliable/DSM501A-example-ehh.ino b/learning_examples/DSM501A-example-ehh-unreliable/DSM501A-example-ehh.ino deleted file mode 100644 index 7852763..0000000 --- a/learning_examples/DSM501A-example-ehh-unreliable/DSM501A-example-ehh.ino +++ /dev/null @@ -1,65 +0,0 @@ -#include<string.h> -#define PM1PIN 18 //DSM501A input D6 on ESP8266 -#define PM25PIN 14 // ???? what -byte buff[2]; -unsigned long durationPM1; -unsigned long durationPM25; -unsigned long starttime; -unsigned long endtime; -unsigned long sampletime_ms = 30000; -unsigned long lowpulseoccupancyPM1 = 0; -unsigned long lowpulseoccupancyPM25 = 0; - - -int i=0; -void setup() -{ - Serial.begin(9600); - Serial.println("Starting please wait 30s"); - pinMode(PM1PIN,INPUT); - pinMode(PM25PIN,INPUT); - starttime = millis(); -} - -float calculateConcentration(long lowpulseInMicroSeconds, long durationinSeconds){ - - float ratio = (lowpulseInMicroSeconds/1000000.0)/30.0*100.0; //Calculate the ratio - float concentration = 0.001915 * pow(ratio,2) + 0.09522 * ratio - 0.04884;//Calculate the mg/m3 - Serial.print("lowpulseoccupancy:"); - Serial.print(lowpulseInMicroSeconds); - Serial.print(" ratio:"); - Serial.print(ratio); - Serial.print(" Concentration:"); - Serial.println(concentration); - return concentration; -} - -void loop() -{ - durationPM1 = pulseIn(PM1PIN, LOW); - durationPM25 = pulseIn(PM25PIN, LOW); - - lowpulseoccupancyPM1 += durationPM1; - lowpulseoccupancyPM25 += durationPM25; - - endtime = millis(); - if ((endtime-starttime) > sampletime_ms) //Only after 30s has passed we calcualte the ratio - { - /* - ratio1 = (lowpulseoccupancy/1000000.0)/30.0*100.0; //Calculate the ratio - Serial.print("ratio1: "); - Serial.println(ratio1); - - concentration = 0.001915 * pow(ratio1,2) + 0.09522 * ratio1 - 0.04884;//Calculate the mg/m3 - */ - float conPM1 = calculateConcentration(lowpulseoccupancyPM1,30); - float conPM25 = calculateConcentration(lowpulseoccupancyPM25,30); - Serial.print("PM1 "); - Serial.print(conPM1); - Serial.print(" PM25 "); - Serial.println(conPM25); - lowpulseoccupancyPM1 = 0; - lowpulseoccupancyPM25 = 0; - starttime = millis(); - } -} |