×

Aerisilla空气质量监测仪

消耗积分:0 | 格式:zip | 大小:0.73 MB | 2022-12-20

分享资料个

描述

介绍

我总是对我们周围的所有小东西着迷,我们看不到也不知道。

总是想知道我的房间周围实际上漂浮着多少微小的灰尘,我每天沐浴在多少有机挥发性化合物中。它与头痛或空气不流通的感觉有关吗?如果是这样,拥有一些提醒我需要更频繁地清新空气的东西不是很酷吗?用了一段时间后,发现空气净化器其实很有用,控制湿度可以缓解一些鼻塞症状,提醒多开窗刷新室内空气,有助于提高我的生活质量生活。

特征

• 测量总挥发性有机化合物 (TVOC),提供 1 分钟平均当量二氧化碳 (eCO2)

• 测量灰尘级别,从大的室内灰尘到 0.5 微米的微小颗粒,如细菌、花粉、霉菌和雪茄烟雾。提供 1 分钟的平均粉尘密度。

• 测量摄氏温度和相对湿度

• 在 128x32 像素单色 OLED 显示屏上显示信息

• 通过WiFI 连接到互联网并使用Blynk 将实时数据发送到云端。Blynk 移动应用程序项目显示了一个带有漂亮历史图表的仪表板

• 大型多功能按钮(控制显示器、使用继电器的开关灯等)。

• 红色状态指示灯提醒不同的异常情况

• 背面的两个3.3V 逻辑输出可用于使用继电器、晶体管、MOSFET 或IR LED 控制从电灯到空调或风扇的任何东西。

 

 
 
 
 
pYYBAGOSjOaAXNcbAAYC1qhgco8909.jpg
 
1 / 10ESP8266 板在底部。顶部带有公排针的连接板
 

 

挥发性有机化合物 (VOC) 对空气质量的影响

VOC 通常被归类为污染物和/或感官刺激物,来源多种多样,例如建筑材料(油漆、地毯等)、机器(复印机、处理器等)甚至人(呼吸、吸烟等)。 ).

术语“挥发性有机化合物”或“VOC”是指在室温下主要以气体形式存在的数千种有机(含碳)化学品中的任何一种。此定义不包括无机含碳气体,例如二氧化碳和一氧化碳。VOC 可以是人造的或天然存在的化合物。

VOC 的一个重要子类是半挥发性有机化合物或 SVOC,它们往往比其他 VOC 具有更高的分子量和更高的沸点温度。示例包括增塑剂、阻燃剂和杀虫剂。所有室内 VOC 都部分以气态空气化学物质的形式存在,部分以吸附在室内表面和微观空气传播和沉降颗粒上的化学物质形式存在。SVOC 通常主要存在于表面和颗粒上,空气中只有一小部分未附着在颗粒上。

室内空气中 VOC 的含量或浓度以多种单位表示。常用的单位是十亿分之一 (ppb)、百万分之一 (ppm) 和微克每立方米 (µg/m3)。一微克是一克的百万分之一。如果浓度为 1 ppb(或 1 ppm),则每十亿(或百万)个空气分子就有一个 VOC 分子。

建筑材料、家具、清洁化合物、办公设备、个人护理产品、空气清新剂、杀虫剂、居住者活动以及不通风的燃烧过程(例如吸烟、燃烧木材或煤油)会向室内空气中排放大量 VOC,或者用燃气灶做饭。SVOC 的一些主要室内来源是杀虫剂、由软塑料制成或含有软塑料的建筑或装饰材料,如乙烯基壁纸或乙烯基地板,以及含有阻燃剂的建筑材料和家具。

术语 TVOC 是指同时存在于空气中的多种气载 VOC 的总浓度。TVOC 方法不会测量空气中的所有 VOC,而是测量预计会存在的 VOC 的一个子集。测量 TVOC 浓度比测量许多单个 VOC 的浓度要便宜。然而,TVOC 测量有两个主要限制。首先,不同的 TVOC 测量方法会产生截然不同的 TVOC 浓度,并且测量方法之间的差异将取决于存在的 VOC 混合物。其次,VOC 混合物中个别 VOC 的毒性和气味阈值可能相差几个数量级;因此,总浓度不太可能提供总毒性或总气味水平的有用衡量标准。一般来说,

有些 VOC 和 SVOC 有气味,有些可能会对健康造成不良影响。疑似健康影响范围广泛,包括但不限于感觉刺激症状、过敏和哮喘、神经和肝脏毒性以及癌症。虽然多种 VOC 一起存在的影响可能大于(或小于)它们各自影响的总和,但现在关于这种综合影响的信息很少。以下文本简要总结了当前关于室内 VOC 与感官刺激、过敏、哮喘和相关呼吸系统影响以及癌症之间联系的知识。附加部分简要总结了有关清洁产品中的 VOC、SVOC 和化学反应在室内产生的 VOC 对健康的潜在影响的知识。

甲醛是一种常见的 VOC,广泛用于建筑材料和众多家用产品的制造,也是燃烧和其他自然过程的副产品。甲醛在室内和室外都可能以很高的浓度存在。由于其无处不在的性质和显着的健康影响,该网站的“室内挥发性有机化合物与健康”部分经常提供专门针对甲醛的讨论。

基于对科学文献的检查,各种组织已经针对最大甲醛浓度制定了指导方针或建议(没有一个是法律强制执行的限制)。从该表中可以明显看出,尽管不同组织的指南存在差异,但相对于 8 小时或更短时间的指南,较长的暴露时间(超过 8 小时)一致指定较低的甲醛指南浓度(7-40 ppb) (44-750 ppb)。一个例外是世界卫生组织 (WHO) 的 100 ppb 的相对较高的慢性指南。

 
poYBAGOSjPSAApz_AARykeKf-C8709.png
甲醛指南和标准。
 

VOC 传感器 - CCS811

我使用Sparkfun 的 CCS811作为 VOC 传感器。CCS811 是一种超低功耗数字气体传感器解决方案,它集成了一个金属氧化物 (MOX) 气体传感器,可通过微控制器单元 (MCU) 检测各种挥发性有机化合物 (VOC),用于室内空气质量监测,其中包括模数转换器 (ADC) 和 I2C 接口。

 

 
poYBAGOSjPyAF9V-AAKRgWYlY-s122.png
 

要提供准确的结果,需要进行温度和湿度补偿。您可以添加一个 10K NTC 热敏电阻,它可以焊接在分线器上,但您只会得到温度补偿,或者您可以像我一样使用外部温度/湿度传感器(我使用 DHT22)并定期将此数据提供给传感器.

MOX 气体传感器的功能基于气敏 MOX 半导体层在气体暴露时的电导率变化,可以从外部测量和分析。

 

 
poYBAGOSjP6AA6MZAAA3sh1h7tk032.png
 

运作模式

CCS811有以下5种工作模式

  • 模式 0:空闲、低电流模式
  • 模式一:恒功率模式,每秒测量一次IAQ
  • 模式二:脉冲加热模式每10秒测量一次IAQ
  • 模式三:低功率脉冲加热模式每60秒测量一次IAQ
  • 模式4:恒功率模式,传感器每250ms测量一次

在模式 1、2、3 中,等效 CO 2 浓度 (ppm) 和

计算每个样品的 eTVOC 浓度 (ppb)。

  • 模式 1 对气体的存在反应最快,但具有更高的工作电流
  • 模式 3 对气体的反应较慢,但平均工作电流最低。

我正在使用模式 2(每 10 秒测量一次)。我不需要更高的精度,这样我就避免了 I2C 总线共享问题。

该芯片将每 24 小时保存一次基线。此基线表示最低读取原始值,对应于清洁空气阈值。每天在运行传感器的房间内更新空气以防止漂移是个好主意。

Sparkfun 提到模式 1 的平均功耗为 12 mA,但 CCS811 的数据表提到 30mA。我没有测量它,但我想是介于两者之间。

  • 工作环境温度 -40 – 85 C
  • 储存温度 -40 125 C
  • 相对湿度(非冷凝)10 – 95%

 

请参阅SparkFun 的连接指南

注意:请注意,CCS811 数据表建议老化 48 小时,磨合 20 分钟(您必须留出 20 分钟让传感器预热并输出有效数据)。草图中已经考虑了 20 分钟的初始化时间。

准确性

没有关于此传感器精度的数据。看到了与不同传感器的一些比较,它似乎对 VOC 的反应比测试的更慢,但相关性很好。

个人印象

在我的实验中,我发现它对气味非常敏感,因为它反应很快。将传感器放在不新鲜的空气中,您会看到 VOC 随时间累积并突然出现峰值,这并不总是与气味相关,因此无法始终判断这些峰值是否为 VOC,但我可以告诉您,如果您这样做旁边放屁的轻率,你会惊讶地看到迅速上升的水平。通过打开一个窗口,您可以立即看到 VOC 水平下降。这是它有效的标志,但并没有说明准确性。我想这是空气清洁度的一个很好的参考,即使我不确定这些随机峰值是如何发生的,因为当它们出现时我闻不到任何不同的味道,而且我不知道它们是否有效阅读或错误,但如果你打开窗户,水平确实会下降。

所以,我不太确定测量空气质量有多准确,但它肯定是一个很好的放屁探测器 :)。也许它也能检测到幻屁,这就解释了这一点。

VOC 传感器放置

我没有找到任何关于制造商建议如何放置的信息,所以我使用我的常识:有一个热的地方检测有机化合物,所以我将 VOC 传感器水平放置在外壳的顶壁上,与热的地方朝向盒子的外面。在顶壁上做了一个约 1 厘米的圆孔,就在黑色热板的顶部,并放置了一个粗网以防止太多灰尘进入。我确实计划不时使用吸尘器清洁传感器,希望在多年的使用中灰尘堆积不会对传感器造成太大影响。

为了安装,我使用了两个十字螺丝,用螺母固定传感器。

粉尘密度对空气质量的影响

与测量 VOC 或 CO2 相比,我们可以说低于 1000 ppm 的水平就可以了,遗憾的是对于灰尘而言情况并非如此。世界卫生组织建议,实际上没有安全水平,即使粉尘浓度在 10 μg/m3,g/m3 左右,死亡率也会增加。

 

 
pYYBAGOSjQKASRWeAADL_6VPxZw877.png
 

 

很明显,吸入空气中的任何颗粒物都会加重呼吸道症状,但专家们尤其担心 PM2.5 等极小颗粒物,因为它们不仅能深入我们的肺部,而且非常微小,可以甚至进入我们的血液。

颗粒的大小是颗粒被吸入后在呼吸道中停留的主要决定因素。较大的颗粒通常通过纤毛和粘液在鼻子和喉咙中过滤,但小于约 10 微米的颗粒物质可以沉淀在呼吸道中支气管和肺并引起健康问题。10 微米尺寸并不代表可吸入颗粒物和不可吸入颗粒物之间的严格界限,但已被大多数监管机构同意用于监测空气中的颗粒物。由于尺寸小,10 微米或更小的颗粒(粗颗粒物,PM10)可以穿透肺部最深处,例如细支气管或肺泡;当哮喘患者暴露在这些条件下时,它会引发支气管收缩。类似地, 所谓的细颗粒物(PM2.5),往往会渗透到肺部的气体交换区域(肺泡),非常小的颗粒物(超细颗粒物,PM0.1)可能会通过肺部影响其他器官。颗粒的穿透力并不完全取决于它们的大小;形状和化学成分也起着一定的作用。来源:维基百科

 

接触 PM2.5 有哪些负面影响?

根据您的总体健康状况,PM2.5 会对健康产生不同的长期和短期负面影响。当暴露于中度至危险范围之间的 PM2.5 水平时,可能会产生以下影响:

  • 呼吸急促
  • 眼睛、鼻子和喉咙刺激
  • 过度咳嗽和喘息
  • 肺功能下降和肺部疾病
  • 心脏功能下降,有时会导致心脏病发作
  • 哮喘发作
  • 死亡
2013年,涉及9个欧洲国家312、944人的ESCAPE研究显示,颗粒物没有安全水平,PM10每增加10微克/立方米,肺癌发病率上升22%。对于 PM2.5,每 10 微克/立方米,肺癌增加 36%。在 2014 年对包括 ESCAPE 数据在内的全球 18 项研究进行的荟萃分析中,PM2.5 每增加 10 微克/立方米,肺癌发病率就会上升 9%资料来源:维基百科

PM2.5 还会增加土壤和水体的酸度,从而破坏环境。这反过来会影响他们生产食物和维持生命的能力。

什么被认为是 PM 的安全水平?如何测量?

 
pYYBAGOhHj6AA4g5AAHnFVEFMhI508.png
 

污染水平通常以 0-500 的等级衡量,称为空气质量指数或 AQI:

来源:https ://cambridgemask.com/blog/6-things-you-need-to-know-about-pm2-5/

注意:AQI 与设备提供的粉尘密度完全不同。对于相同的粉尘密度,根据颗粒大小,您可以有不同的 AQI 级别。在相同密度下,PM2.5 等较小的颗粒被认为比 PM10 等较大的颗粒污染更多。

灰尘传感器 - Sharp GP2Y1014AU0F

我使用夏普 GP2Y1014AU0F 作为灰尘/颗粒传感器。GP2Y1014AU0F 设计用于商用空气净化器或空调,是一款模拟输出灰尘传感器,与流行的GP2Y1010AU0F型号相似,但精度更高。在Arduino威廉希尔官方网站 和应用源代码方面,这两个模拟灰尘传感器或多或少可以互换。

锋利的灰尘传感器根据光散射原理工作。光电探测器和 LED 发射器在传感器的矩形封装内以一定角度彼此相对,传感器的两侧各有一个灰尘通孔含有灰尘颗粒的空气流入传感器室,导致 LED 发射器发出的光向光电探测器散射。传感器室内空气中的灰尘越多,散射光的强度就越大。灰尘传感器输出一个电压值,该电压值根据散射光的强度而变化,而该电压值又对应于室内的灰尘等级空气。实际粉尘密度然后可以使用线性关系从输出电压值计算(或灰尘或质量浓度)。

 

 
poYBAGOhHkKAewzOAAA7_Jin8eo726.png
 

 

 
poYBAGOhHkeAaXf4AAB3ARSYUK8789.png
 

 

两种粉尘传感器型号都测量总粉尘密度。该总数包括 1 微米颗粒、2.5 微米颗粒、10 微米颗粒等的浓度。但在实践中,当总粉尘密度/浓度读数非常高时,例如存在香烟烟雾,大部分检测到的浓度都是由PM2.5颗粒引起的。此外,使用这些模拟输出模型,可以进一步分析输出信号以区分烟雾颗粒和室内灰尘。

您可以在此处找到两种灰尘传感器型号的详细规格

气流设计注意事项

GP2Y1014AU0F 灰尘传感器不包括任何内置风扇或内部电阻加热元件来为传感器提供气流(请注意,规格并未表明需要任何气流)。这在提供传感器定向和定位方面的灵活性方面可能是有利的。但是,考虑是否需要至少在应用程序中设计一些气流是一个好主意。提供一些气流(来自风扇、自然对流或风)将使传感器能够更快地对灰尘浓度的变化做出反应。添加一个迷你 20x20mm 或 25x25mm 外部风扇等选项将引入额外的设计考虑因素,例如风扇可靠性、噪声和成本。总而言之,虽然气流不是严格要求的,

灰尘传感器放置

我找到了夏普的数据表,其中提到了灰尘传感器的定位方式。

传感器有两个面:一个是金属的,另一个是塑料的,上面有印刷。这些侧面之间有一个通孔,IR LED 位于此处,灰尘将被检测到。金属部分应朝向盒子的外侧,较小的孔应位于右侧。此外,连接到插针插座的电线应朝下。

方向似乎很重要,以尽量减少从传感器背面进入的光线,这会对读数产生负面影响。

他们还建议添加一个粗网,以阻止大的房屋灰尘进入围栏并被困在那里,我用一块蚊帐制作了它,并用双面胶带将其粘合。您可以定期使用真空吸尘器来保持外壳无灰尘。

我将传感器放在外壳的背面。我的主要关注点是小颗粒而不是室内灰尘,因此这也应该避免灰尘堆积,因为孔在侧面而不是顶部,以收集掉落在那里的所有东西。

Sharp 传感器没有任何用螺丝安装的孔,并且有一些奇怪的边距,可能会给您带来一些问题。我只是使用中性硅胶将其粘在外壳内部。我想我也可以使用双面胶带,但我担心任何持久的气味会影响 VOC 传感器。我上次使用热胶时真的很不满意(不粘或保持良好),但我可能对我更新更好的热胶枪有更好的体验,所以如果你相信热胶,那就去吧。

准确性

数据表提到了 15% 的准确度,这对于廉价传感器来说已经相当不错了。我读到的所有关于该传感器的技术论文都得出结论,它具有良好的线性度,并且可以根据精密仪器进行校准以提供更准确的读数。温度、湿度、颗粒大小、颗粒组成,甚至随机漂移都会产生一些影响,这些影响很难或不可能减轻,但对于非关键测量来说似乎足够有用。

GP2Y1014AU0F 连接器电缆

Sharp GP2Y1014AU0F 使用与 GP2Y1010AU0F 型号相同类型的6 针连接器。GP2Y1010AU0F 传感器的早期迭代使用 JST(日本无焊端子)连接器S6B-ZR-SM4A 。但是这两个传感器的所有新生产版本现在都使用 JCT 连接器11501W90-6P-S-HF ,它应该与旧 JST 兼容连接器。这一切意味着,如果您有用于 GP2Y1010AU0F 的旧电缆线束,则该电缆也应该可以很好地与 GP2Y1014AU0F 配合使用。下表和下图显示了 GP2Y1014AU0F 的引脚分配。

 

 
poYBAGOhHkyAAhTbAAAsaxPv9WI124.png
GP2Y1014AU0F 引出线
 

 

下图是 GP2Y1014AU0F 及其连接器电缆的图片。

 

 
poYBAGOhHlCAHD4pAABE7vgUng8571.png
 

 

使用灰尘传感器

GP2Y1014AU0F的规范对于如何连接传感器不是很清楚。在GP2Y1010AU0F 型号的应用说明中可以找到一个更好的示例。GP2Y1010AU0F 和 GP2Y1014AU0F 都需要相同的威廉希尔官方网站 ,该威廉希尔官方网站 由一个电阻器(150 欧姆)和一个电容器(220 uF)组成,旨在使传感器LED脉冲开关,而不是连续运行。随着时间的推移,LED 的强度会降低,而对 LED 发出脉冲有助于延长其使用寿命。下图来自 Sharp 的应用笔记(第 6-1 节),显示了一个示例威廉希尔官方网站 。

 

 
poYBAGOhHlOAB2HoAABX9TMBC-E725.png
 

 

应用说明进一步指出(见下图)LED 应每10 毫秒脉冲一次,使用0.32毫秒的脉冲持续时间或宽度LED 点亮后,应用说明会在 LED 点亮后0.28 毫秒(或 280 微秒)后对生成的模拟输出电压进行采样。所有这些都是在我创建的库中完成的,它还负责偏移校正和通过平均减少噪声。

 

 
pYYBAGOhHlWAe-riAAAeOzYsFVk037.png
 

 

需要注意的关键连接是:

  • 灰尘传感器LED端子连接到数字(我的情况下为 pin14), 它将用于打开或关闭传感器 LED 脉冲。
  • 灰尘传感器Vo端子连接到模拟输入引脚A0 ,用于读取传感器的输出电压。

传感器校准

GP2Y1014AU0F 传感器输出一个随 PM/灰尘密度线性变化的电压读数。有必要进行一些校准,将这些输出电压转换为所需的 PM/灰尘密度值,单位为 ug/m3。如下所述,此校准有两个方面。

偏移校正

即使在完全干净、零灰尘的环境中,GP2Y1014AU0F 传感器也会输出一个非零电压值,称为Voc 这种行为实际上很有用,因为您可以轻松判断传感器是否正常工作。GP2Y1014AU0F规范指出 Voc 的典型值为0.6Volts 您可以从该传感器的输出电压 (V) 与灰尘密度 (mg/m3) 的关系图中看到此偏移(参见 Y 轴截距)。

 

 
poYBAGOhHlmARtcSAABctZURe4g709.png
 

 

更复杂的是,传感器具有随机漂移。这个基线在运行时不断变化,通常是增加。

为纠正此问题,图书馆会在提供足够阅读量的情况下为您提供新的基准候选。草图以 1 分钟的间隔设置此新基线。通过这种技术,我设法消除了漂移。

阅读更多关于图书馆如何运作的信息。

个人印象

我对这个传感器印象不深。在正常室内环境中通常达到的低粉尘水平下,我通常达到 5 – 25 微克/立方米。我真的无法判断传感器是否提供准确的结果,因为我的 Tefal 空气净化器似乎并没有将这些值降低太多。在 15% 的规定精度下,我不期望真正准确的数据,而且我什至不知道这 15% 适用于什么(较低的值,较高的值?)。我本来期望像 ±25 ug/m3 之类的准确度声明有更好的想法,而不是没有任何其他信息的 15% 精度。如果我在传感器的孔中插入一个物体,读数会达到最大值(~500)。还尝试使用香烟烟雾,我确实得到了恒定值,例如 (50 – 200 ug/m3)。所以它似乎确实检测到粒子,但我真的不能说准确度。要么我的空气净化器在去除颗粒物方面做得很差,即使它有 4 个过滤器(一个塑料网状过滤器、一个碳过滤器、一个 HEPA 过滤器和一个用于甲醛的 NanoCaptur 过滤器),要么传感器的精度足以说明空气足够干净或被污染(检测烟雾或真正污染的情况)。一旦我有新数据,我会更新这个。

也可以看看:

温度和湿度对空气质量的影响

我使用 DHT22 作为温度和湿度传感器。它使用单线定制数据接口,可由 3.3V 供电。

我使用了 DHTesp 库,它非常易于使用。

它是一个慢速传感器,所以只要您的读取频率不超过 2 秒,就可以了。

 

 
poYBAGOhHl6AcmC7AAA041NTiV8948.png
 

技术细节

  • 低成本
  • 3 至 5V 电源和 I/O
  • 转换期间最大 2.5mA 电流使用(请求数据时)
  • 适用于 0-100% 的湿度读数,精度为 2-5%
  • 适用于 -40 至 80°C 温度读数 ±0.5°C 精度
  • 不超过 0.5 Hz 采样率(每 2 秒一次)
  • 机身尺寸 27mm x 59mm x 13.5mm (1.05" x 2.32" x 0.53")
  • 4 针,0.1" 间距

数据线和 VCC 之间通常需要一个 1 – 10k 的上拉电阻,具体取决于线长(通常为 4.7k)以避免超时或冻结等通信问题。有一些 DHT22 变体安装在一个包含电阻器的模块上。我必须承认我没有对我的任何 DTH22 使用上拉(将它们与 ESP8266 和 ESP32 一起使用),因为没有它它工作得很好,甚至没有启用内部上拉,但你可能应该添加一个外部电阻。我可能运气不错,因为默认情况下使用的 GPIO 引脚可能已上拉。

温湿度传感器放置

我没有找到有关制造商如何建议放置的任何信息,我想这无关紧要。我没有那么多放置选项,因为我受到其他两个传感器放置的限制。所以决定使用顶壁,传感器水平放置,用木凿切一个矩形孔,然后用十字螺丝和螺母从顶壁安装传感器,这样一半在里面,一半在外面. DHT22有一个类似塑料网的保护装置,应该有助于防止灰尘堆积,但我预计它会及时沾上灰尘并对读数产生小程度的影响,即使我打算使用吸尘器进行维护。理想情况下,您应该为您的项目准备一个更大的盒子,并将温度传感器放置在远离热源的位置,例如 ESP8266 或 VOC 传感器。

我使用了一个较小的盒子,并决定将温度传感器放在顶壁上,与 ESP8266 和 Voc 传感器相反的方向。即使我对底部的温度传感器进行了隔热,从盒子中吸收热量,仍然存在明显的热影响(0.7 - 1.2 摄氏度)。来自 NodeMCU 的稳压器正在释放额外的差异,从源的 ~5v 到芯片运行所需的 3.3v 作为热量,导致 0.1 – 0.35 瓦的耗散。ESP8266 也会发热,尤其是在使用 WiFi 时。VOC 传感器的热板肯定也会产生热量,但影响很小,因为它正好放在顶壁上,对流应该将热量带到外面。

完全消除热影响的最好方法是将温度传感器放在盒子外面,但我不想让电线伸出来,可能还有另一个盒子用于传感器,我认为它很难看。我的设计显然不理想,但就像我说的,如果箱子更大,与热源的距离足够远,通风孔更多,产生对流效应,也许还可以提高隔热性能,这些影响是可以减轻的。

尽管如此,我得到的热影响是相当恒定的,并且可以使用线性校准因子轻松校正,所以我对结果并没有那么失望。

准确性

根据规格,精度应该非常好:温度为 ±0.5° C,湿度为 ±2-5%。许多人提到他们使用这些传感器的准确性很差,并且读数因传感器而异。不能说我证​​实了这一点。这是我使用的第二个 DHT22 传感器,到目前为止我没有发现任何精度问题。读数与其他传感器非常一致,完全在规定的误差范围内。我又买了两个,如果在不同项目中使用时发现与这些不一致,我会更新它。

我将我的热补偿结果与 Sparkfun Si7021(精度 ±0.4° C)等精确传感器进行了比较,发现它们通过使用 0.982 作为校准因子完美匹配,在 25° C 时读数减少了约 0.6° C。

个人印象

只使用一个 GPIO 引脚,价格便宜,精度高,对这个传感器非常满意。

有机发光显示器

这个项目真的不需要显示器,因为它将数据发送到 Blynk,我为它构建了一个漂亮的移动用户界面,但它也非常适合物理屏幕上的一些基本数据。

我选择了一个 128x32 像素的 OLED 显示器,基于 SSD1306 芯片组。

这些廉价的单色显示器非常明亮,因此您也可以在黑暗中轻松使用它们。您可以使用它来单独渲染每个像素,这样您就可以显示具有不同字体和大小、形状的文本,甚至可以制作炫酷的不闪烁动画。

为了控制此显示,我使用了 Adafruit_SSD1306 和 Adafruit_GFX 库。

平均而言,显示器使用 3.3V 电源提供的电流约为 20mA。

 
pYYBAGOhHmKAGzzKAAAsWIjo8Cs691.png
 

为了连接显示器,我使用了 I2C 总线,因此显示器与 VOC 传感器共享这条总线。我依赖于 VOC 传感器的内部上拉。我不知道我是否需要在数据线上添加额外的上拉电阻,但我确实遇到了这两个设备在同一总线上的问题。我设法通过以下方式解决了它们:

  • 通过将 VOC 传感器设置为模式 2,将 VOC 传感器读取频率从每秒降低到每 10 秒。I2C 以这种方式冻结的频率要低得多(一天几次,而在模式 1 下每天冻结数百次)
  • 检测总线冻结并执行恢复序列以清除总线,这使 VOC 传感器和 OLED 再次工作。

如果单独连接它们,它们可以毫无问题地工作。

这可以通过添加额外的上拉电阻来解决,或者它可能只是硬件或库不兼容。我把盒子粘上了,我对软件修复的工作方式没有任何问题,所以我没有真正的理由去深入挖掘,但我建议你更多地调查拉起的东西或寻找不同的库,如果你决定将这两个组件与在模式 1 下工作的 VOC 传感器一起使用。

显示屏提供每种类型传感器的基本信息,这些信息以 10 秒的间隔依次呈现。您可以使用按钮导航到下一个信息部分。

配置

有一个名为的示例配置Config.h.sample,您应该将其用作配置模板。只需将此文件另存为Config.h并调整设置,如 Blynk 令牌、WiFI 设置、GPIO 引脚、超时等。

威廉希尔官方网站 板和连接

我使用的是基于 ESP8266 的 NodeMCU 开发板,但您可以将不同的开发板和不同的引脚用于此代码。它应该适用于任何 Arduino 兼容板。以下是默认引脚:

const uint8_t DHT_PIN = 10;            // DHT22 temperature sensor Data pin
const uint8_t INDICATOR_LED_PIN = 15;  // Led indicator output pin
const uint8_t SHARP_LED_PIN = 14;      // Sharp Dust/particle sensor Led Pin
const uint8_t SHARP_VO_PIN = A0;       // Sharp Dust/particle analog out pin used for reading 
const uint8_t BUTTON_PIN = 12;         // front button input pin
const uint8_t DOUT1_PIN = 13;          // digital output 1 (ex: lights relay, mosfet, transistor)
const uint8_t DOUT2_PIN = 16;          // digital output 2 (ex: Air conditioning remote control IR led)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'Aerisilla空气质量监测仪',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);