【雕爷学编程】Arduino动手做(121)---夏普粉尘传感器模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百二十一:夏普SHARP PM2.5 灰尘/粉尘传感器 GP2Y1014AU0F 带线
知识点:细颗粒物
又称细粒、细颗粒、PM2.5。细颗粒物指环境空气中空气动力学当量直径小于等于 2.5 微米的颗粒物。它能较长时间悬浮于空气中,其在空气中含量浓度越高,就代表空气污染越严重。虽然PM2.5只是地球大气成分中含量很少的组分,但它对空气质量和能见度等有重要的影响。与较粗的大气颗粒物相比,PM2.5粒径小,面积大,活性强,易附带有毒、有害物质(例如,重金属、微生物等),且在大气中的停留时间长、输送距离远,因而对人体健康和大气环境质量的影响更大。2013年2月,全国科学技术名词审定委员会将PM2.5的中文名称命名为细颗粒物。细颗粒物的化学成分主要包括有机碳(OC)、元素碳(EC)、硝酸盐、硫酸盐、铵盐、钠盐(Na⁺)等。
细颗粒物生成来源
颗粒物的成分很复杂,主要取决于其来源。主要有自然源和人为源两种,但危害较大的是后者。在学术界的分为一次气溶胶(Primary aerosol)和二次气溶胶(Secondary aerosol)两种。
自然源
自然源包括土壤扬尘(含有氧化物矿物和其他成分)海盐(颗粒物的第二大来源,其组成与海水的成分类似)、植物花粉、孢子、细菌等。自然界中的灾害事件,如火山爆发向大气中排放了大量的火山灰,森林大火或裸露的煤原大火及尘暴事件都会将大量细颗粒物输送到大气层中。
人为源
人为源包括固定源和流动源。固定源包括各种燃料燃烧源,如发电、冶金、石油、化学、纺织印染等各种工业过程、供热、烹调过程中燃煤与燃气或燃油排放的烟尘。流动源主要是各类交通工具在运行过程中使用燃料时向大气中排放的尾气。PM2.5可以由硫和氮的氧化物转化而成。而这些气体污染物往往是人类对化石燃料(煤、石油等)和垃圾的燃烧造成的。在发展中国家,煤炭燃烧是家庭取暖和能源供应的主要方式。没有先进废气处理装置的柴油汽车也是颗粒物的来源。燃烧柴油的卡车,排放物中的杂质导致颗粒物较多。在室内,二手烟是颗粒物最主要的来源。颗粒物的来源是不完全燃烧、因此只要是靠燃烧的烟草产品,都会产生具有严重危害的颗粒物,使用品质较佳的香烟也只是吸烟者的自我安慰,甚至可能因为臭味较低,而造成更大的危害;同理也适用于金纸燃烧、焚香及燃烧蚊香。但是炒菜5分钟,PM2.5增加20倍系误读。
大气化学反应
除自然源和人为源之外,大气中的气态前体污染物会通过大气化学反应生成二次颗粒物,实现由气体到粒子的相态转换。比如:H₂SO₄+NH₃——NH₄HSO₄等,其中气态硫酸来自OH自由基氧化二氧化硫SO₂的气态反应。 盐的水合物:如xCl·yH₂O、xNO₃·yH₂O、xSO₄·yH₂O,随着湿度的变化,水合物对PM2.5的影响较大,水不仅与盐化合物生成水合物,由于湿度的改变还形成了盐的微小溶液液滴。
细颗粒物主要危害
虽然细颗粒物只是地球大气成分中含量很少的组分,但它对空气质量和能见度等有重要的影响。与较粗的大气颗粒物相比,细颗粒物粒径小,富含大量的有毒、有害物质且在大气中的停留时间长、输送距离远,因而对人体健康和大气环境质量的影响更大。研究表明,颗粒越小对人体健康的危害越大。细颗粒物能飘到较远的地方,因此影响范围较大。细颗粒物对人体健康的危害要更大,因为直径越小,进入呼吸道的部位越深。10μm直径的颗粒物通常沉积在上呼吸道,2μm以下的可深入到细支气管和肺泡。细颗粒物进入人体到肺泡后,直接影响肺的通气功能,使机体容易处在缺氧状态。
全球每年约210万人死于PM2.5等颗粒物浓度上升
据悉,2012年联合国环境规划署公布的《全球环境展望5》指出,每年有70万人死于因臭氧导致的呼吸系统疾病,有近200万的过早死亡病例与颗粒物污染有关。《美国国家科学院院刊》(PNAS)也发表了研究报告,报告中称,人类的平均寿命因为空气污染很可能已经缩短了5年半。
伦敦毒雾事件
1952年12月5日的毒雾事件是伦敦历史上最惨痛的时刻之一,那场毒雾造成至少4000人死亡,无数伦敦市民呼吸困难,交通瘫痪多日,数百万人受影响。
世界卫生组织首次认定PM2.5致癌
2013年10月17日,世界卫生组织下属国际癌症研究机构发布报告,首次指认大气污染对人类致癌,并视其为普遍和主要的环境致癌物。然而,虽然空气污染作为一个整体致癌因素被提出,它对人体的伤害可能是由其所含的几大污染物同时作用的结果。
伤害器官
对颗粒的长期暴露可引发心血管病和呼吸道疾病以及肺癌。 当空气中PM2.5的浓度长期高于10μg/m³,就会带来死亡风险的上升。浓度每增加10μg/m³,总死亡风险上升4%,心肺疾病带来的死亡风险上升6%,肺癌带来的死亡风险上升8%。此外,PM2.5极易吸附多环芳烃等有机污染物和重金属,使致癌、致畸、致突变的机率明显升高。
影响气候
人们一般认为,PM2.5只是空气污染。其实,PM2.5对整体气候的影响可能更糟糕。PM2.5能影响成云和降雨过程,间接影响着气候变化。大气中雨水的凝结核,除了海水中的盐分,细颗粒物PM2.5也是重要的源。有些条件下,PM2.5太多了,可能“分食”水分,使天空中的云滴都长不大,蓝天白云就变得比以前更少;有些条件下,PM2.5会增加凝结核的数量,使天空中的雨滴增多,极端时可能发生暴雨。
细颗粒物预防措施
雾霾天气少开窗。出门在外一定要戴口罩,平常多饮水,可多泡饮菊杞茶这类中医茶饮,预防疾病,多食用水果,从外回家后要深度清洁皮肤和头发,此外喜爱晨练以及买菜遛弯的老年人要注意减少出门,因为雾霾对老年人的身体危害极大。
外出戴口罩
多喝茶
适量补充维生素D
饮食清淡多喝水
多吃蔬菜
在雾霾天气尽量减少出门
开车注意车速
出门时,做个自我防护,佩戴专门防霾的PM2.5口罩、防霾鼻罩,过滤PM2.5,随时随地呼吸新鲜空气。
避免雾天锻炼。可以改在太阳出来后再晨练。也可以改为室内锻炼。
患者坚持服药。呼吸病患者和心脑血管病患者在雾天更要坚持按时服药
别把窗子关得太严。可以选择中午阳光较充足、污染物较少的时候短时间开窗换气。
尽量远离马路。上下班高峰期和晚上大型汽车进入市区这些时间段,污染物浓度最高。
补钙、补维D,多吃豆腐、雪梨等。
GP2Y1014AU0F夏普粉尘传感器
灰尘(粉尘)传感器,是一款升级版光学质量传感器,其内部对角安放着红外线发光二极管和光电晶体管,使得其能够探测到尘埃反射光,即使非常细小的如烟草烟雾粒也能够被检测到,通常在空气净化系统中应用,可测量0.8微米以上的微小粒子,感知烟草产生的烟气和花粉,房屋粉尘等。体积小、重量轻、便于安装,广泛应用于空气清新机、换气空调,换气扇等产品。
其在检测非常细的颗粒,如香烟烟雾,是特别有效的,并且是常用的空气净化器系统。该装置中,一个红外发光二极管和光电晶体管,对角布置成允许其检测到在空气中的灰尘反射光。该传感器具有极低的电流消耗(最大20mA,11毫安典型的),可以搭载高达7VDC的传感器。输出的是一个模拟电压正比于所测得的粉尘浓度,敏感性为0.5V/0.1mg/m3。
夏普粉尘传感器模块参数
电源电压:5-7V
工作温度:-10-65摄氏度
消耗电流:20mA最大
最小粒子检出值:0.8微米
灵敏度:0.5V/(0.1mg/m3)
清洁空气中电压:0.9V 典型值
工作温度:-10~65℃
存储温度:-20~80℃
使用寿命:5年
尺寸大小:46mm×30mm×17.6mm
重量大小:15g
夏普粉尘传感器模块检测原理
其原理如下图,传感器中心有个洞可以让空气自由流过,定向发射LED光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量。
模块参考电原理图
Arduino实验接线示意图
Arduino实验开源代码
/* 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验一百二十一:夏普SHARP PM2.5 灰尘/粉尘传感器 GP2Y1014AU0F 带线 项目:模块测试 GP2Y1014AU0F Arduino Pin 1 Vled –> 5V (150ohm resistor) 2 LED-GND –> GND 3 LED –> Digital pin 2 4 S-GND –> GND 5 Vo –> Analog pin 0 6 Vcc –> 5V LED引脚必须调节成1ms的周期。 */ int dustPin=0; float dustVal=0; int ledPower=2; int delayTime=280; int delayTime2=40; float offTime=9680; void setup(){ Serial.begin(9600); pinMode(ledPower,OUTPUT); pinMode(dustPin, INPUT); } void loop(){ // ledPower is any digital pin on the arduino connected to Pin 3 on the sensor digitalWrite(ledPower,LOW); delayMicroseconds(delayTime); dustVal=analogRead(dustPin); delayMicroseconds(delayTime2); digitalWrite(ledPower,HIGH); delayMicroseconds(offTime); delay(1000); if (dustVal>36.455) Serial.println((float(dustVal/1024)-0.0356)*120000*0.035); }
测试得到的数据和空气质量对照:
3000 + = 很差
1050-3000 = 差
300-1050 = 一般
150-300 = 好
75-150 = 很好
0-75 = 非常好
呵呵,实验场所的空气质量一般般.......
当检测到烟雾时,实验串口绘图器返回情况
实验开源仿真编程(Linkboy V4.62)