MIDE CALIDAD DELA AIRE CON MUCHA PRESICION

Dependencies:   mbed

/media/uploads/tony63/pm25.jpg

MEDIDOR DE CALIDAD DEL AIRE MODELO: PMS5303 MUY PRECISO MIDE EL PM-2.5 y OTRAS ESCALAS DE PARTÍCULAS A DIFERENCIA DE LOS OTROS SENSORES, EN ESTA UNIDAD

CABLE ROJO ES +VCC CABLE NEGRO ES GND CABLE AMARILLO ES RX CABLE VERDE ES TX

LOS DATOS SE PRESENTAN EN UNA TERMINAL VIRTUAL SERIAL DE WINDOWS.

SOLO REQUIERE CONECTAR CUATRO PINES ANTERIORES EL CONECTOR DE LA IMAGEN SE DISEÑO EN UNA IMPRESORA 3D Y SE PEGO A LOS CABLES CON CIANOACRILATO TIPO FLEXIBLE. /media/uploads/tony63/cn25.png/media/uploads/tony63/pm25b.png

Committer:
tony63
Date:
Mon May 27 05:08:09 2019 +0000
Revision:
0:0cefe4d28e60
MEDIDOR DE CALIDAD DEL AIRE

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tony63 0:0cefe4d28e60 1 /*******************************************************************************
tony63 0:0cefe4d28e60 2 * Referencias
tony63 0:0cefe4d28e60 3 * [1] https://www.dfrobot.com/wiki/index.php/PM2.5_laser_dust_sensor_SKU:SEN0177
tony63 0:0cefe4d28e60 4 *******************************************************************************/
tony63 0:0cefe4d28e60 5 #include "mbed.h"
tony63 0:0cefe4d28e60 6 #include "pms1003.h"
tony63 0:0cefe4d28e60 7
tony63 0:0cefe4d28e60 8 #define LENG 31 //0x42 + 31 bytes equal to 32 bytes
tony63 0:0cefe4d28e60 9 char buf[LENG];
tony63 0:0cefe4d28e60 10
tony63 0:0cefe4d28e60 11 Serial *pc = new Serial(USBTX, USBRX); // tx, rx
tony63 0:0cefe4d28e60 12 Serial *device = new Serial(PTE0, PTE1); // tx, rx
tony63 0:0cefe4d28e60 13 pms1003 *PM = new pms1003();
tony63 0:0cefe4d28e60 14
tony63 0:0cefe4d28e60 15 int main() {
tony63 0:0cefe4d28e60 16 while(1) {
tony63 0:0cefe4d28e60 17 if(device->readable()) {//if 1
tony63 0:0cefe4d28e60 18 //pc.putc(device.getc());
tony63 0:0cefe4d28e60 19 if ( device->getc() == 0x42){//if 2
tony63 0:0cefe4d28e60 20 device->gets(buf,LENG);
tony63 0:0cefe4d28e60 21
tony63 0:0cefe4d28e60 22 if(buf[0] == 0x4d){//if 3
tony63 0:0cefe4d28e60 23
tony63 0:0cefe4d28e60 24 PM->setPM(buf);
tony63 0:0cefe4d28e60 25 pc->printf("*******************************\n");
tony63 0:0cefe4d28e60 26 pc->printf("PM_1.0:%4d [ug/m3]\n",PM->get_PM01Value());
tony63 0:0cefe4d28e60 27 pc->printf("PM_2.5:%4d [ug/m3]\n",PM->get_PM2_5Value());
tony63 0:0cefe4d28e60 28 pc->printf("PM__10:%4d [ug/m3]\n",PM->get_PM10Value());
tony63 0:0cefe4d28e60 29 }//if 3
tony63 0:0cefe4d28e60 30 }//if 2
tony63 0:0cefe4d28e60 31 }//if 1
tony63 0:0cefe4d28e60 32 }//while
tony63 0:0cefe4d28e60 33 }// main