市面上有没有靠谱的PM2.5检测仪?如何自己动手制作PM2.5检测仪
2018-03-01 11:00
519 查看
[align=left] 市面上能买到的11中常见的pm2.5检测仪[/align]
[align=left]网上大佬实测并不是很准,我这里没测过(全买下来有点贵,贫穷限制了我的想象力)[/align]
[align=left]这些检测仪多数是复合式、多功能的空气质量检测仪。具体就不一一介绍了。这篇文章主要分享下怎样用更少的成本,短暂的时间。自己动手制作更加精确的pm2.5检测仪。[/align][align=left]那么PM2.5(细颗粒物)是什么?(废话段)[/align][align=left]因为各国标准不一样,天气预报也报空气质量,预报的空气质量与实际的空气质量一样吗?但这个问题,想动手制作一个PM2.5检测仪,有了自己动手制作的PM2.5检测仪的话,当空气质量较差或者严重污染的时候,提醒家人,同学和身边的人尽量减少户外活动,真正减少吸入细颗粒物。[/align][align=left]制作一个PM2.5检测仪的想法是好,在1个小时内能否制作出一个PM2.5检测仪呢?利用C/C++是贴近硬件的语言来做的话,要花好长一段时间甚至半年先学习C语言以后,再考虑动手制作,更不用说1个小时内制作出一个PM2.5检测仪。[/align][align=left]接下来我介绍一个在1个小时内制作一个PM2.5的方法。[/align]1. PM2.5检测仪原理[align=left]采用TPYBoard开发板为控制处理器,通过串口由PM2.5灰尘传感器GP2Y1010AU0F检测低程度的空气污染PM2.5能够甄别香烟和室内/室外灰尘,并通过SPI接口由LCD5110显示屏显示当前空气粉尘浓度(ug/m³)。当空气中粉尘浓度达到所设定限度点亮不同的LED灯来知道当前空气质量等级。[/align][align=left]该检测仪通过Python脚本语言实现硬件底层的访问和控制细颗粒物检测传感器,每间隔一定时间,传感器自动进行检测,检测到的空气粉尘浓度数据通过串口上传至主控板,主控板收集到数据后,同样使用Python脚本语言将PM2.5的检测结果显示到LCD5110上。[/align][align=left][/align][align=left]参照1:TPYBoardLED亮灯状态与 PM2.5日均浓度对应的指数等级对应表:[/align][align=center]
[align=left][/align][align=left]参照2: TPYBoard的硬件特点:[/align][align=left]————————————————————————————[/align][align=left]ü STM32F405RG MCU.[/align][align=left]ü 168 MHz Cortex-M4 CPU with 32-bit hardware floatingpoint.[/align][align=left]ü 1 MiB flash storage, 192 KiB RAM.[/align][align=left]ü USB口, 支持 串口,通用存储,HID协议。[/align][align=left]ü SD卡插槽。[/align][align=left]ü MMA76603轴加速度计.[/align][align=left]ü 4 LEDs, 1复位按钮, 1通用按钮.[/align][align=left]ü 3.3V0.3A板载 LDO , 可从USB口或者外置电池供电。[/align][align=left]ü 实时时钟。[/align][align=left]ü 30个通用IO口,其中28个支持5V输入输出。[/align][align=left]ü 2个 SPI接口, 2个 CAN接口, 2个I2C接口, 5个USART接口.[/align][align=left]ü 14个 12-bit ADC引脚。[/align][align=left]ü 2个DAC 引脚。[/align][align=left]————————————————————————————[/align]2. 材料准备[align=left]制作PM2.5检测仪所需材料如下:[/align][align=left]1.PM2.5粉尘传感器1个,检测PM2.5(细颗粒物)传感器,TXD串口输出。[/align][align=left]2.TPYBoard开发板1块,主要用来当主控开发板,读入传感器数据。[/align][align=left]3.Lcd5110显示屏1个,主要用来显示检测的信息。[/align][align=left]4.杜邦线若干。[/align][align=left]5.数据线一条。[/align][align=left][/align]3.硬件接线方法传感器的针脚[align=left]传感器上一共六根线,从1到6依次是GND,VCC,NC,NC,RX,TX。其中我们只用三根线,电源(GND,VCC)和串口(TX),传感器与TPYBorad接线参照图1,具体用哪个串口请参照官方网站上文档TPYBoard 关于串口的使用,小编用的串口为 UART(2) is on: (TX, RX) = (X3, X4) = (PA2, PA3),因为只需要将数据传到PTYBoard,所以只用到RED即PTYBoard的X4引脚。[/align]
[align=center]图1[/align]LCD5110的针脚[align=left]TPYBoard LCD5110 memo[/align][align=left]————————————————————————————[/align][align=left]Y10 =>RST Reset pin (0=reset, 1=normal)[/align][align=left]Y11 =>CE Chip Enable (0=listen for input,1=ignore input)[/align][align=left]Y9 =>DC Data/Command (0=commands, 1=data)[/align][align=left]X8 =>DIN data flow (Master out, Slave in)[/align][align=left]X6 =>CLK SPI clock[/align][align=left]VCC[/align][align=left]Y12 => LIGHT Light(0=on, 1=off)[/align][align=left]GND[/align]
[align=left] 图2[/align]PM2.5检测仪整体接线方法[align=left]按照图1、图2所示将PM2.5粉尘传感器以及5110显示屏与PTYBoard连接起来,硬件连接完毕,如图3:[/align]
[align=left] 图3[/align]PM2.5粉尘传感器工作原理及数据处理PM2.5粉尘传感器工作原理[align=left]PM2.5粉尘传感器的工作原理是根据光的散射原理来开发的,微粒和分子在光的照射下会产生光的散射现象,与此同时,还吸收部分照射光的能量。[/align][align=left]当一束平行单色光入射到被测颗粒场时,会受到颗粒周围散射和吸收的影响,光强将被衰减。如此一来便可求得入射光通过待测浓度场的相对衰减率。而相对衰减率的大小基本上能线性反应待测场灰尘的相对浓度。光强的大小和经光电转换的电信号强弱成正比,通过测得电信号就可以求得相对衰减率,进而就可以测定待测场里灰尘的浓度。在传感器的中间有一个洞,这个洞可以让空气在里面流通。在洞的两个边缘 ,一面安装有一个激光发射器,另一面安装有激光接收器。这样一来,空气流过这个小洞,空气里的颗粒物呢就会挡住激光,从而产生散射,另一面的接收器,是依据接收到的激光强度来发出不同的信号的(其实就是输出不同的电压值)。这样一来,空气里的颗粒物越多,输出的电压越高,颗粒物越少,输出的电压越低。[/align][align=left]内部结构如图内部结构仿真图所示:[/align]
[align=center]内部结构仿真图[/align]PM2.5粉尘传感器传感器数据处理[align=left]上面说了传感器的原理,接下来就说说它传出来的信号和对于接收到的信号的计算吧。[/align][align=left]这个传感器的输出数据是靠串口进行传输的,传感器会通过串口每10ms不到(一般3~4ms)发送一个数据,数据的类型大致是个“0X00”这样的16进制的数据。每次的数据会以“0XAA”作为起始端,以“0XFF”作为结束端。共7个数据位,7个数据位中包含了起始位,结束位,数据高位,数据低位,数据高校验位,数据低校验位和校验位(校验位是怎样计算出来的,下面会讲到)。数据格式大致如下:[/align]
[align=left]其中校验位长度=Vout(H)+Vout(L)+Vref(H)+Vref(L)的长度。[/align][align=left]数据的组成一共是有7个数据位,但是只有Vout(H)和Vout(L)这两个数据才是我们真正所需要的。我们需要依照这两个数据算出来串口输出的数字数据,从而通过数模转换公式来计算出输出的电压。进一步的通过比例系数计算出空气中颗粒物的数量。下面来说一下怎么计算。[/align][align=left]传感器输出的数据分为高位和低位,其中呢Vout(H)为高位,Vout(L)为低位。因为串口传进来的Vout(H)和Vout(L)是16进制的,第一步先转化成10进制的(这个大家都会,不多说了)。然后根据这两个输出值的10进制数计算出串口输出数值的电压。[/align][align=left]公式如下(其中Vout(H)和Vout(L)是已转化为10进制的):[/align][align=left] Vout=(Vout(H)*256+Vout(L))/1024*5[/align][align=left]这样就算出来了他输出出来的电压了,再根据比例系数A,就可以计算出空气中的颗粒物的值了。(A的值一般是在800到1000,具体的数值还要根据你买到的传感器的精度,准确度和误差值进行确定。我现在用的是800。)[/align]PM2.5粉尘传感器的采样频率及程序编码PM2.5粉尘传感器的采样频率[align=left]PM2.5粉尘传感器的采样频率是非常高的,一般3~4ms发送一个16进制的采样数据,也就是说传感器通电(接通VCC和GND)后,每隔3~4ms发送一个16进制的采样数据,这么高的采样频率作为一个检测仪来说显然是没有必要的。[/align][align=left]TPYBoard通过串口接收粉尘传感器数据,使用串口当然先定义串口,通过打开就可以接收串口数据,关闭串口就停止接收数据的特点,来自由控制PM2.5粉尘传感器的采样频率。[/align][align=left]
[/align]程序编码[align=left]我们main.py中,采用首先定义串口,其次是打开串口接收采样数据,最后关闭串口,并且处理采样数据及显示,依次循环。[/align]运行测试[align=left]接线ok后,导入font.py文件和upcd8544.py文件(主要用于5110显示数据),再运行main.py即可看到当前的空气质量等级以及PM2.5的浓度值了。[/align][align=left]下面链接是我用烟熏的演示视频,供大家参考一下。[/align][align=left]http://v.youku.com/v_show/id_XMTY5NjM5NDYwMA==.html[/align]源代码[align=left]把我写的程序的源码分享给大家,有需要的可以参考一下。[/align][align=left][/align]
#main.py
import pyb
import upcd8544
from machine import SPI,Pin
from pyb import UART
from ubinascii import hexlify
from ubinascii import *
#M0 = Pin('X1', Pin.OUT_PP)
i=0
K=1
T=0
E=0
F=0
W=0
P=0
L=0
SHUCHU=0
[align=left]A=800#A比例系数,在北方一般使用800-1000.南方空气好一些,一般使用600-800.这个还和你使用的传感器灵敏度有关的,需要自己测试再定下来。[/align][align=left]G=1024/5#G为固定系数,是为了把串口收到的数据转换成PM标准值。[/align][align=left]SHI=0#后面会赋值转换成十进制的数值。[/align][align=left]#*******************************主程序**********************************[/align]#pyb.delay(5000)
SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
#CLK =>SPI(1).SCK 'X6' SPI clock
RST = pyb.Pin('Y10')
CE = pyb.Pin('Y11')
DC = pyb.Pin('Y9')
LIGHT = pyb.Pin('Y12')
while True:
u2 = UART(2, 2400)
pyb.delay(1000)
#print('kaishi ')
u2.deinit()
pyb.delay(10)
if(u2.any()>0):
W=1
_dataRead=u2.readall()
#print('_dataRead=',_dataRead)
R=0
while (W>0):
#print('截取开始')
T=_dataRead[R]
if(T==170):
E=R+1
F=R+2
#R=_dataRead[65]
#print('十位=',_dataRead[E])
#print('个位=',_dataRead[F])
W=0
R=R+1
P=_dataRead[E]
L=_dataRead[F]
SHI=P*256+L#把串口收到的十六进制数据转换成十进制。
SHUCHU=SHI/G*A
if(SHUCHU<35):
Quality = 'Excellente'
print('环境质量:优','PM2.5=',SHUCHU)
pyb.LED(1).off()
pyb.LED(2).on()
pyb.LED(3).off()
pyb.LED(4).off()
elif(35<SHUCHU<75):
Quality = 'Good'
print('环境质量:良好','PM2.5=',SHUCHU)
pyb.LED(1).off()
pyb.LED(2).on()
pyb.LED(3).off()
pyb.LED(4).off()
elif(75<SHUCHU<115):
Quality = 'Slightly-polluted'
print('环境质量:轻度污染 ','PM2.5=',SHUCHU)
pyb.LED(1).off()
pyb.LED(2).off()
pyb.LED(3).on()
pyb.LED(4).off()
elif(115<SHUCHU<150):
Quality = 'Medium pollution'
print('环境质量:中度污染 ','PM2.5=',SHUCHU)
pyb.LED(1).off()
pyb.LED(2).off()
pyb.LED(3).on()
pyb.LED(4).off()
elif(150<SHUCHU<250):
Quality = 'Heavy pollution'
print('环境质量:重度污染 ','PM2.5=',SHUCHU)
pyb.LED(1).on()
pyb.LED(2).off()
pyb.LED(3).off()
pyb.LED(4).off()
elif(250<SHUCHU):
Quality = 'Serious pollution'
print('环境质量:严重污染 ','PM2.5=',SHUCHU)
pyb.LED(1).on()
pyb.LED(2).off()
pyb.LED(3).on()
pyb.LED(4).off()
lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
lcd_5110.lcd_write_string('AQI Level',0,0)
lcd_5110.lcd_write_string(str(Quality),0,1)
lcd_5110.lcd_write_string('PM2.5:',0,2)
lcd_5110.lcd_write_string(str(SHUCHU),0,3)
[align=left][/align][align=left][/align][align=left][/align]
[align=left]网上大佬实测并不是很准,我这里没测过(全买下来有点贵,贫穷限制了我的想象力)[/align]
[align=left]这些检测仪多数是复合式、多功能的空气质量检测仪。具体就不一一介绍了。这篇文章主要分享下怎样用更少的成本,短暂的时间。自己动手制作更加精确的pm2.5检测仪。[/align][align=left]那么PM2.5(细颗粒物)是什么?(废话段)[/align][align=left]因为各国标准不一样,天气预报也报空气质量,预报的空气质量与实际的空气质量一样吗?但这个问题,想动手制作一个PM2.5检测仪,有了自己动手制作的PM2.5检测仪的话,当空气质量较差或者严重污染的时候,提醒家人,同学和身边的人尽量减少户外活动,真正减少吸入细颗粒物。[/align][align=left]制作一个PM2.5检测仪的想法是好,在1个小时内能否制作出一个PM2.5检测仪呢?利用C/C++是贴近硬件的语言来做的话,要花好长一段时间甚至半年先学习C语言以后,再考虑动手制作,更不用说1个小时内制作出一个PM2.5检测仪。[/align][align=left]接下来我介绍一个在1个小时内制作一个PM2.5的方法。[/align]1. PM2.5检测仪原理[align=left]采用TPYBoard开发板为控制处理器,通过串口由PM2.5灰尘传感器GP2Y1010AU0F检测低程度的空气污染PM2.5能够甄别香烟和室内/室外灰尘,并通过SPI接口由LCD5110显示屏显示当前空气粉尘浓度(ug/m³)。当空气中粉尘浓度达到所设定限度点亮不同的LED灯来知道当前空气质量等级。[/align][align=left]该检测仪通过Python脚本语言实现硬件底层的访问和控制细颗粒物检测传感器,每间隔一定时间,传感器自动进行检测,检测到的空气粉尘浓度数据通过串口上传至主控板,主控板收集到数据后,同样使用Python脚本语言将PM2.5的检测结果显示到LCD5110上。[/align][align=left][/align][align=left]参照1:TPYBoardLED亮灯状态与 PM2.5日均浓度对应的指数等级对应表:[/align][align=center]
PM2.5值数[/align] | 日均浓度值(ug/m³ ) | [align=left]空气质量等级[/align] | [align=left]LED灯状态[/align] |
[align=left]0~50[/align] | [align=right]0-35[/align] | [align=right]优[/align] | [align=right]绿灯亮[/align] |
[align=left]50~100[/align] | [align=right]35-75[/align] | [align=right]良[/align] | [align=right]绿灯亮[/align] |
[align=left]100~150[/align] | [align=right]75-115[/align] | [align=right]轻度污染[/align] | [align=right]蓝灯亮[/align] |
[align=left]150~200[/align] | [align=right]115-150[/align] | [align=right]中度污染[/align] | [align=right]黄灯亮[/align] |
[align=left]200~300[/align] | [align=right]150-250[/align] | [align=right]重度污染[/align] | [align=right]红灯亮[/align] |
[align=left]>300[/align] | [align=right]>250[/align] | [align=right]严重污染[/align] | [align=right]红灯亮+黄灯亮[/align] |
[align=center]图1[/align]LCD5110的针脚[align=left]TPYBoard LCD5110 memo[/align][align=left]————————————————————————————[/align][align=left]Y10 =>RST Reset pin (0=reset, 1=normal)[/align][align=left]Y11 =>CE Chip Enable (0=listen for input,1=ignore input)[/align][align=left]Y9 =>DC Data/Command (0=commands, 1=data)[/align][align=left]X8 =>DIN data flow (Master out, Slave in)[/align][align=left]X6 =>CLK SPI clock[/align][align=left]VCC[/align][align=left]Y12 => LIGHT Light(0=on, 1=off)[/align][align=left]GND[/align]
[align=left] 图2[/align]PM2.5检测仪整体接线方法[align=left]按照图1、图2所示将PM2.5粉尘传感器以及5110显示屏与PTYBoard连接起来,硬件连接完毕,如图3:[/align]
[align=left] 图3[/align]PM2.5粉尘传感器工作原理及数据处理PM2.5粉尘传感器工作原理[align=left]PM2.5粉尘传感器的工作原理是根据光的散射原理来开发的,微粒和分子在光的照射下会产生光的散射现象,与此同时,还吸收部分照射光的能量。[/align][align=left]当一束平行单色光入射到被测颗粒场时,会受到颗粒周围散射和吸收的影响,光强将被衰减。如此一来便可求得入射光通过待测浓度场的相对衰减率。而相对衰减率的大小基本上能线性反应待测场灰尘的相对浓度。光强的大小和经光电转换的电信号强弱成正比,通过测得电信号就可以求得相对衰减率,进而就可以测定待测场里灰尘的浓度。在传感器的中间有一个洞,这个洞可以让空气在里面流通。在洞的两个边缘 ,一面安装有一个激光发射器,另一面安装有激光接收器。这样一来,空气流过这个小洞,空气里的颗粒物呢就会挡住激光,从而产生散射,另一面的接收器,是依据接收到的激光强度来发出不同的信号的(其实就是输出不同的电压值)。这样一来,空气里的颗粒物越多,输出的电压越高,颗粒物越少,输出的电压越低。[/align][align=left]内部结构如图内部结构仿真图所示:[/align]
[align=center]内部结构仿真图[/align]PM2.5粉尘传感器传感器数据处理[align=left]上面说了传感器的原理,接下来就说说它传出来的信号和对于接收到的信号的计算吧。[/align][align=left]这个传感器的输出数据是靠串口进行传输的,传感器会通过串口每10ms不到(一般3~4ms)发送一个数据,数据的类型大致是个“0X00”这样的16进制的数据。每次的数据会以“0XAA”作为起始端,以“0XFF”作为结束端。共7个数据位,7个数据位中包含了起始位,结束位,数据高位,数据低位,数据高校验位,数据低校验位和校验位(校验位是怎样计算出来的,下面会讲到)。数据格式大致如下:[/align]
[align=left]其中校验位长度=Vout(H)+Vout(L)+Vref(H)+Vref(L)的长度。[/align][align=left]数据的组成一共是有7个数据位,但是只有Vout(H)和Vout(L)这两个数据才是我们真正所需要的。我们需要依照这两个数据算出来串口输出的数字数据,从而通过数模转换公式来计算出输出的电压。进一步的通过比例系数计算出空气中颗粒物的数量。下面来说一下怎么计算。[/align][align=left]传感器输出的数据分为高位和低位,其中呢Vout(H)为高位,Vout(L)为低位。因为串口传进来的Vout(H)和Vout(L)是16进制的,第一步先转化成10进制的(这个大家都会,不多说了)。然后根据这两个输出值的10进制数计算出串口输出数值的电压。[/align][align=left]公式如下(其中Vout(H)和Vout(L)是已转化为10进制的):[/align][align=left] Vout=(Vout(H)*256+Vout(L))/1024*5[/align][align=left]这样就算出来了他输出出来的电压了,再根据比例系数A,就可以计算出空气中的颗粒物的值了。(A的值一般是在800到1000,具体的数值还要根据你买到的传感器的精度,准确度和误差值进行确定。我现在用的是800。)[/align]PM2.5粉尘传感器的采样频率及程序编码PM2.5粉尘传感器的采样频率[align=left]PM2.5粉尘传感器的采样频率是非常高的,一般3~4ms发送一个16进制的采样数据,也就是说传感器通电(接通VCC和GND)后,每隔3~4ms发送一个16进制的采样数据,这么高的采样频率作为一个检测仪来说显然是没有必要的。[/align][align=left]TPYBoard通过串口接收粉尘传感器数据,使用串口当然先定义串口,通过打开就可以接收串口数据,关闭串口就停止接收数据的特点,来自由控制PM2.5粉尘传感器的采样频率。[/align][align=left]
[/align]程序编码[align=left]我们main.py中,采用首先定义串口,其次是打开串口接收采样数据,最后关闭串口,并且处理采样数据及显示,依次循环。[/align]运行测试[align=left]接线ok后,导入font.py文件和upcd8544.py文件(主要用于5110显示数据),再运行main.py即可看到当前的空气质量等级以及PM2.5的浓度值了。[/align][align=left]下面链接是我用烟熏的演示视频,供大家参考一下。[/align][align=left]http://v.youku.com/v_show/id_XMTY5NjM5NDYwMA==.html[/align]源代码[align=left]把我写的程序的源码分享给大家,有需要的可以参考一下。[/align][align=left][/align]
#main.py
import pyb
import upcd8544
from machine import SPI,Pin
from pyb import UART
from ubinascii import hexlify
from ubinascii import *
#M0 = Pin('X1', Pin.OUT_PP)
i=0
K=1
T=0
E=0
F=0
W=0
P=0
L=0
SHUCHU=0
[align=left]A=800#A比例系数,在北方一般使用800-1000.南方空气好一些,一般使用600-800.这个还和你使用的传感器灵敏度有关的,需要自己测试再定下来。[/align][align=left]G=1024/5#G为固定系数,是为了把串口收到的数据转换成PM标准值。[/align][align=left]SHI=0#后面会赋值转换成十进制的数值。[/align][align=left]#*******************************主程序**********************************[/align]#pyb.delay(5000)
SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
#CLK =>SPI(1).SCK 'X6' SPI clock
RST = pyb.Pin('Y10')
CE = pyb.Pin('Y11')
DC = pyb.Pin('Y9')
LIGHT = pyb.Pin('Y12')
while True:
u2 = UART(2, 2400)
pyb.delay(1000)
#print('kaishi ')
u2.deinit()
pyb.delay(10)
if(u2.any()>0):
W=1
_dataRead=u2.readall()
#print('_dataRead=',_dataRead)
R=0
while (W>0):
#print('截取开始')
T=_dataRead[R]
if(T==170):
E=R+1
F=R+2
#R=_dataRead[65]
#print('十位=',_dataRead[E])
#print('个位=',_dataRead[F])
W=0
R=R+1
P=_dataRead[E]
L=_dataRead[F]
SHI=P*256+L#把串口收到的十六进制数据转换成十进制。
SHUCHU=SHI/G*A
if(SHUCHU<35):
Quality = 'Excellente'
print('环境质量:优','PM2.5=',SHUCHU)
pyb.LED(1).off()
pyb.LED(2).on()
pyb.LED(3).off()
pyb.LED(4).off()
elif(35<SHUCHU<75):
Quality = 'Good'
print('环境质量:良好','PM2.5=',SHUCHU)
pyb.LED(1).off()
pyb.LED(2).on()
pyb.LED(3).off()
pyb.LED(4).off()
elif(75<SHUCHU<115):
Quality = 'Slightly-polluted'
print('环境质量:轻度污染 ','PM2.5=',SHUCHU)
pyb.LED(1).off()
pyb.LED(2).off()
pyb.LED(3).on()
pyb.LED(4).off()
elif(115<SHUCHU<150):
Quality = 'Medium pollution'
print('环境质量:中度污染 ','PM2.5=',SHUCHU)
pyb.LED(1).off()
pyb.LED(2).off()
pyb.LED(3).on()
pyb.LED(4).off()
elif(150<SHUCHU<250):
Quality = 'Heavy pollution'
print('环境质量:重度污染 ','PM2.5=',SHUCHU)
pyb.LED(1).on()
pyb.LED(2).off()
pyb.LED(3).off()
pyb.LED(4).off()
elif(250<SHUCHU):
Quality = 'Serious pollution'
print('环境质量:严重污染 ','PM2.5=',SHUCHU)
pyb.LED(1).on()
pyb.LED(2).off()
pyb.LED(3).on()
pyb.LED(4).off()
lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
lcd_5110.lcd_write_string('AQI Level',0,0)
lcd_5110.lcd_write_string(str(Quality),0,1)
lcd_5110.lcd_write_string('PM2.5:',0,2)
lcd_5110.lcd_write_string(str(SHUCHU),0,3)
[align=left][/align][align=left][/align][align=left][/align]
相关文章推荐
- 市面上有没有靠谱的PM2.5检测仪?如何自己动手制作PM2.5检测仪
- ios如何集成百度地图---还是自己动手做一下--网上好多博客说的都不甚靠谱。
- 自己动手丰衣足食 如何制作限速图片
- 自己动手,制作真正的.net Framework 3.5 SP1离线安装包(转)
- 自己动手将在线文档制作成CHM文件
- 自己如何制作rpm软件包
- Android_Module用法_和_如何制作自己的Library开源库
- 如何自己动手实现 KVO
- 如何制作自己的Windows Service Pack
- 如何自己制作MyEclipse序列号
- THINKPHP 防止重复提交表单 自己动手制作
- 如何利用【百度地图API】,制作房产酒店地图?(下)——结合自己的数据库
- 如何自己动手实现 KVO
- 自己动手将在线文档制作成CHM文件
- 自己动手制作基于jQuery的Web页面加载进度条插件
- iOS上如何制作自己的Framework呢?
- 自己动手制作QQ2009绿色免安装版制作小技巧
- 自己动手制作CSharp编译器
- 自己动手制作XP系统工具软件
- 如何制作自己的第一个google地图样例源码详细介绍