Dust Sesnsor PMS5003

Dependencies:   DustSenzor NetServices ThingSpeakEthernet mbed

Fork of PMS5003 by marko puric

Files at this revision

API Documentation at this revision

Comitter:
mpuric
Date:
Wed Jun 28 18:36:09 2017 +0000
Parent:
13:5c98f1d10e70
Commit message:
added api doc

Changed in this revision

DustSenzor.lib Show annotated file Show diff for this revision Revisions of this file
ThingSpeak.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 5c98f1d10e70 -r 48368d18a793 DustSenzor.lib
--- a/DustSenzor.lib	Tue Jun 13 19:15:58 2017 +0000
+++ b/DustSenzor.lib	Wed Jun 28 18:36:09 2017 +0000
@@ -1,1 +1,1 @@
-https://developer.mbed.org/users/mpuric/code/DustSenzor/#067de0268900
+https://developer.mbed.org/users/mpuric/code/DustSenzor/#d846eb9ef8e6
diff -r 5c98f1d10e70 -r 48368d18a793 ThingSpeak.lib
--- a/ThingSpeak.lib	Tue Jun 13 19:15:58 2017 +0000
+++ b/ThingSpeak.lib	Wed Jun 28 18:36:09 2017 +0000
@@ -1,1 +1,1 @@
-https://developer.mbed.org/users/mpuric/code/ThingSpeakEthernet/#ea7f0ef29ef5
+https://developer.mbed.org/users/mpuric/code/ThingSpeakEthernet/#5191c0e163d6
diff -r 5c98f1d10e70 -r 48368d18a793 main.cpp
--- a/main.cpp	Tue Jun 13 19:15:58 2017 +0000
+++ b/main.cpp	Wed Jun 28 18:36:09 2017 +0000
@@ -3,16 +3,14 @@
 #include "TextLCD.h"
 #include "DustSenzor.h"
 
-
-
-
 ThingSpeak ts("FI2NZGSOB8LSR8YX"); 
-DustSenzor ds(p5, p9, p10);
+DustSenzor ds(p5, p9, p10); // set pin, uartTx pin, Rx pin
+float value[6];
+float finValue[3];
+TextLCD_I2C lcd(&i2c_lcd, 0x7E, TextLCD::LCD16x2);
 
 int main() {
-    ds.stop();
     float *ptr;
-    float values [6];
     ts.connect();
     wait(1);
     while(1){     
@@ -22,15 +20,22 @@
             }
         while( res == 1){
                 ptr = ds.read();
-                for( int i = 0; i < 6; i++) {
-                    values[i] = *(ptr + i) ;
-                    ts.setField ( values[i]*10000, i+1 );
-                }
+                
+                    for( int i = 0; i < 6; i++) 
+                        value[i] = *(ptr + i);
+                
+                finValue[0] = ( value[0] - value[2] ); // 0.3 - 1 um / m3
+                finValue[1] = ( value[2] - value[4] ); // 1 - 5 um / m3
+                finValue[2] = ( value[4] - value[5] ); // 5 - 10 um / m3
+                    
+                    for ( int j = 0; j < 3; j++ ) 
+                        ts.setField( finValue[j], j+1);
+                            
                 ts.putUp();
                 wait(15);
                 res = ts.pull(282724, 1);
             }
-            ds.stop();           
+        ds.stop();           
     }
 }