最近在装修房子,刷完墙漆铺完了木地板以后,屋里边有很大的味,所以就买了 攀藤科技的PMS5003ST G5ST PM2.5激光粉尘甲醛温湿度三合一传感器,打算自己测一下甲醛浓度,看看什么时候能够入住。
PMS5003ST传感器手册:https://wenku.baidu.com/view/4f6a10bad5d8d15abe23482fb4daa58da0111cf2
使用5V供电,出一路TTL串口,主动输出传感数据。波特率9600,数据格式为40字节二进制数据包。
拿到传感器后,焊了几根线,把5V GND TX RX焊成杜邦线,插在USB转ttl模块上:
接在电脑上,打开串口调试助手,有数据:
这样看二进制数据不方便,于是建立了一个C# WPF工程,简单画了一个界面,定义了自己用得到的几个数据:
[StructLayout(LayoutKind.Sequential, Pack = )]
public struct S_PMS5003ST
{
public UInt16 syn1; //0x42,0x4d
public UInt16 len;
public UInt16 pm1_s;
public UInt16 pm25_s;
public UInt16 pm10_s;
public UInt16 pm1;
public UInt16 pm25;
public UInt16 pm10;
public UInt16 res0;
public UInt16 res1;
public UInt16 res2;
public UInt16 res3;
public UInt16 res4;
public UInt16 res5;
public UInt16 J; //0.001
public UInt16 T; //0.1
public UInt16 H; //0.1
public UInt16 res; //0.1
public UInt16 ver; //0.1
public UInt16 sum; //0.1
public UInt16 changeend(UInt16 n)
{
return (UInt16)((((UInt16)(n)) << ) | (((UInt16)(n)) >> ));
}
}
这数据类型还是大端存储,还得转换为小端……
于是就做好了,在租的房子里测了一下,各传感器都有值:
甲醛的单位是mg/m3,甲醛的浓度标准:
0.06-0.07mg/m³:儿童轻微气喘;
0.1mg/m³:异味和不适感;
0.5mg/m³:刺激眼睛,引起流泪;
0.6mg/m³:咽喉不适或疼痛。浓度更高时,可引起恶心呕吐,咳嗽胸闷,气喘甚至肺水肿;
30mg/m³:立即致人死亡。
所以室内甲醛的标准是0.1mg/m3。这屋里甲醛浓度合格。
测完以后,又加了个保存日志功能,每小时存一个文本格式的测量日志。
然后就背着笔记本电脑去了装修工地,已通风24小时,但能闻到明显刺激气味。插上传感器,显示甲醛浓度为0,呆了一会,还是0,换了一个屋,还是0,回家洗洗睡了