传感器篇
卤煮一直在纠结是先说下卤煮使用的传感器呢,还是先说下后来使用的联机方式。在第一,第二篇发出后有值友说可以直接使用1602显示数据,因为卤煮在做这玩意之前真的是一点都没摸过单片机和编程,所以在实践的过程中其实掉了很多个坑,所以也一直不太想去碰液晶屏啥的,不过昨晚受大家启发,研究了1602的代码,发觉可能不是那么的难,所以昨晚把之前那个山寨的空气检测仪给拆了,从里面扒了块1602出来,准备试试,但是更新不能断,所以就先说下传感器的那些事吧。
激光Pm2.5传感器,在之前的两篇文章里已详细介绍了攀藤科技的系列产品,同时淘宝上也有很多其他品牌的传感器可供选择,例如六度科技/诺方/SDS018等,大家可以自行搜索,但是如果对单片机编程不是很在行的话,还是建议选择大多数人的选择,这样源码排错都会比较方便。至于pm2.5传感器的使用和程序,之前一篇文章应该写的非常详细了,这儿CT就不再重复了。
激光pm2.5传感器正如卤煮所说的,刚开始的时候只是想测个pm2.5开始的,但是后来发现关窗开净化器会导致室内pm2.5超标,于是想着既然搞了,就再加个二氧化碳传感器吧,淘宝一搜,发现二氧化碳传感器实在是贵,基本都要200+。但是所谓折腾就是不要去管花了多少钱,就图个开心不是。
市面上所卖的二氧化碳传感器基本有两种类型,一种是卤煮没有选择的以MG-811为代表的电解质感应型,另一种就是卤煮选择的红外检测二氧化碳传感器。
这方面卤煮不是很懂,也就目前看到的说下,MG-811一般都是模拟输出,然后单片机程序根据传感器输出电压来判断气体浓度,大家可以想象,要做到将电压和浓度值一一对应,是多大的工程,所以很多玩家在使用这类探头的时候,也仅仅是把输出值定几个大概范围,例如安全/危险/有害之类的。这么粗略的东西还要200多块钱,卤煮可是不能忍受啊。还有一点就是,此类探头在工作的时候会加热,如果边上有其他温度感应器的话,肯定是要被影响的,看到这,卤煮就果断放弃了此类探头。
接着卤煮就看二氧化碳传感器了,二氧化碳传感器的品牌和种类也很多,其中比较有名的应该就是瑞典的SenseAir和美国的GE了,卤煮在选择的时候并没有多考虑,基于荷包的厚度,第一眼相中的就是GE的T6603-5
红外二氧化碳传感器其实这款传感器除了名头之外,参数非常平庸,特别是量程,只有400-2000。卤煮选择的时候因为看介绍说CO2浓度大于2000ppm的时候人可能就处于缺氧状态了,所以卤煮当时异常坚定的觉得2000的上限是足够了,谁知道买回来之后测试了一晚,发觉晚上关着门睡觉的时候,CO2浓度分分钟就上2000,早上定时的燃油取暖器开启之后,CO2读取数值分分钟上7000啊(7000已经远远超出传感器的有效量程范围,所以数值连参考意义都没有,但确实印证了燃油取暖器上写着的,使用时请通风)所以现在卤煮睡觉的时候都会把窗开一条缝。好了闲话少说,说回正题,后来发现有国产的红外二氧化碳传感器,售价比6603-5还便宜几十块,有些是可以直接替代6603-5的,有些则不同,具体使用卤煮并没有研究,还望哪位值友做了小白鼠之后分享下。
下面来说说CO2传感器的使用,和其他传感器一样,先要做的就是搜一下前人们的成果,这里再次强烈推荐
搜索框里直接键入T6603,马上就有结果了
直接打包下载使用即可,这儿先说下T6603的接线。

如图T6603-5是一款串口数据输出的传感器,就和卤煮之前使用的G5一样,所以只要把pin3接在arduino的+5V,pin4接GND,Pin1接arduino的TX,pin2接RX就行,记得之前说过,UNO只有一个硬串口用于和计算机通信,所以这儿还是需要做一个软串口,好在我们从github上下载的示例和库用的都是软串口,所以非常方便的,你只要打开示例文件,自己定义下使用哪两个数字口作为软串口就行,如下图使用的是数字脚10作为RX,11作为TX:
然后,你只要上传程序,享受串口监视器返回的传感器数据就好。这个真的是一次就能成功啊,别提当时卤煮有多兴奋了,于是立马着手把CO2传感器和PM2.5传感器的编码整合起来,然后RUN了一下,结果就悲剧了……窗口完全没反应,期间卤煮排错过程省去3000字,心头有着800头**来回狂奔的感觉。最后发现问题还是出在软串口上,大意是ARDUINO规定,使用2个或以上软串口时,读取串口信息必须用listen而不是read.虽然解释就一句话,但是github上那位洋大人的代码写法和我接触过的所有代码写法都不同,剪刀浆糊大法瞬间失效。无奈之下,想到了arduino不是还有个硬串口么,只要我不要连接计算机,那我就可以用那个串口了,这位洋大人的代码我改不了,但是我能改G5的代码,非常简单的,只要把上篇里面说到的mySerial改成Serial就成,然后加上乐联网的发送代码,完美通过。但是此时的问题很显然的,这块板子已经不能再添加任何其他的串口传感器了,并且,这两个库和乐联网库的叠加导致主板的动态内存使用度将近80%,实际测试时发现,程序运行的时候时不时会出错,导致上传数据可能要隔2-3分钟才能完整的让乐联网完整的收到一次准确的数据。于是卤煮就直接定了块MEGA 2560。。。这样只让CO2传感器使用软串口,其他串口传感器都直接使用硬串口。
好了,CO2传感器按上了,接着闲着也是闲着,就挂些小传感器上去吧。
温湿度传感器,最简单也是最便宜的温度传感器应该就是LM39了,只是这个传感器也是模拟输出的,并且没有湿度检测,所以卤煮后来选择了DHT22温湿度传感器,DHTXX有多种型号,常见的还有DHT11,相对于DHT22,DHT11比较便宜些,但是量程和精度与DHT22比完全不在一个档次。同类的传感器还有进口的SHT系列以及Si7021等,他们之间的区别很小,大家可以自行选择。只是选购的时候尽量选已经接好线的,这样插上杜邦线就能直接使用了
温湿度传感器以上提到的几款温湿度传感器在淘宝都能非常容易的买到,使用例程有些商家也能提供,如果商家不提供的话上github和各大单片机论坛也能很方便的找到,这玩意的用法相对于上面两个来说真的是太方便了……,所以卤煮就不多说了。
下面说说气压传感器,其实开始的时候并不想加这么个玩意,因为手机自带气压计,而且这东西说实话,自己真的一点都看不懂,初中物理差不多都还给老师了,只记得1个标准大气压是76cm汞柱,买这东西纯粹是因为买其他东西的时候看着这东西便宜(7元)就顺手加了购物车,然后还神不知鬼不觉的点了2个,拿到手的时候还开心了一下,哈哈哈,商家多发了一个给我唉,然后看看已买到的宝贝,原来是自己……,然后最坑爹的是买的时候只看到了便宜,没有看到这东西针脚商家没有焊上,幸好家里工具都有……,就是手艺实在不咋的。
BMP180 新款 BOSCH温度模块 气压模块 气压传感器 代替BMP085这儿需要注意的是这个模块是I2C总线的,接线是固定接到arduino A4,A5两个接口的,SCL接A5,SDA接A4。还有就是这个感应器是卤煮用到的唯一的一个3.3V传感器,所以一定注意要接到3.3V的接口上,卤煮买的传感器扩展板上没有3.3的借口,看了半天说明找到了一个3.3的隐藏接口,但是 接上后并没有用,所以测试成功以后就直接扔在一边放了很久,直到昨晚用nano做了一个室外版分机,才把它用上用来测室外的温度和气压。
刚才说了,这东西接线固定,所以使用非常的方便,github上直接搜索BMP180就能找到一大堆库和示例,直接上传到ARDUINO就可以直接使用了,要是BMP180的示例你觉得不太适合你的要求,也可以搜索BMP085的,可以完全替代。
接下去要说说VOC的事,实际上卤煮找了一圈,并没有找到任何VOC传感器的资讯,为什么?因为压根就没有这东西。这儿先从VOC的定义开始:

就像百度百科所说的,VOC只是一个统称,包含了多种化合物,如果做一个传感器要把所有常见的化合物都包含进来的话,似乎是挺有难度的,为此,卤煮特别请教了做智能家居的朋友,朋友告知,他们一般是使用多个传感器同时进行采样,然后再算出一个值。好吧,多个传感器,还要在家算,听上去就有些复杂的样子,卤煮开始的想法就是算了,不要折腾了,不过后来在采购的时候发现了一个叫MQ135的传感器,官方叫有害气体检测模块,以下是介绍:

其中写到了氨气、芳族化合物、硫化物、苯系蒸汽等等,这些不就是作为化工区主要的污染物么,于是卤煮毫不犹豫的买了一个,现今装在户外模块里测量室外空气中有害气体的浓度。
这儿要多说下MQ135的问题,这个传感器是模拟输出,也就是基本上很难测量出一个准确的值,虽然github上有大神编写了库还能间接测CO2浓度,但是卤煮觉得这东西只能玩玩,千万别当真,而用那个库示例做出来的输出数字都很小,一般都0.001左右,没啥实用价值,所以卤煮就抛弃了库,直接读取A0数值上传(A0范围为1-1023)不过5V才能对应到1023,而传感器最高输出为4V,那么一般到1023的话就是传感器坏了。以下是代码样本:
void setup()
{
Serial.begin(9600);
}
void loop()
{
int val;
val=analogRead(0);
Serial.println(val,DEC);
delay(100);
}
目前扔在阳台,数值现在都是在5-6之间,要是某一时刻突然升高,就说明空气中来了些不速之客。
MQ-135空气质量传感器模块 有害气体检测传感器报警模块
卤煮最后购入的传感器是攀藤科技的甲醛传感器,上周定的,卖家说这周发货,结果昨天问了下说这周发不了了,要下周四、五才能发,所以暂时也没有什么使用经验可以分享,等来了之后装上再和大家说说吧。
卤煮现在一边发文一边改进,昨晚用nano接了MQ135+BMP180做了个室外分机放在阳台,接了个很老的4000mah的移动电源供电,一晚上下来还有75%的电,回头降低更新频率试试看能不能再减少些耗电。现在的状态是:

现在上传的数据仍有一定几率的错误,但是通过串口监视器来看,数据都是正常的,所以问题可能是出在上传到乐联的过程中,回头继续调试下看看。下一篇会说将网关和传感器分开,使用ZIGBEE透传传送数据,并在传感器主机上加蓝牙模块,使得传感器可以直连手机,使用手机读取监测数据,心情好有时间的话也会在网关上加一个1602显示屏。








MorpheusM
校验提示文案
DavidChiang
校验提示文案
fk815121618
校验提示文案
起名真麻烦722
校验提示文案
f10w3r
校验提示文案
达文西张
校验提示文案
广土
校验提示文案
dark邓
校验提示文案
iCassius
校验提示文案
小欣眼
校验提示文案
什龟值得Buy
校验提示文案
zhoujoshua
校验提示文案
月照长安
校验提示文案
enauvy
校验提示文案
star_liu
校验提示文案
happyazhe
校验提示文案
abrams2415
校验提示文案
弃疗青年思路广
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
值友1772912484
校验提示文案
猫0023
校验提示文案
lukason
校验提示文案
值友4665988082
校验提示文案
levn
校验提示文案
记忆散落
校验提示文案
marinecn
校验提示文案
值友8393964671
校验提示文案
ualls
校验提示文案
ufo1234567
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
ualls
校验提示文案
nt941
另外是买攀藤有个pm2.5+甲醛二合一传感器G5S,是这个好还是Pm2.5和甲醛分开买好呢?
另还会有篇四吗?谢谢!
校验提示文案