使用Adafruit的SSD1306库与XIAO SAMD21, BME680传感器和12864 OLED制作一个室内空气质量监测仪
扫描二维码
随时随地手机看文章
建立显示室内空气质素的空气质素监测系统!
本项目为使用廉价组件的室内空气质量监测系统。家用室内空气质量检测仪的售价为50美元,但大多数设备的价格都在100美元以上。本项目向您展示了如何构建一个设备,该设备将根据室内环境中存在的总挥发性有机化合物(TVOCs)显示室内空气质量读数。
BME680传感器专为测量静态室内空气质量而设计,也可高度精确地测量气压变化。为了提高能见度,选择了一个小的OLED。XIAO SAMD21的DAC、QT Touch和板载LED功能允许该项目在未来的版本中添加更多的交互功能。
本设计采用0.96英寸128x64 OLED显示屏,传感器和显示屏均通过I2C连接到XIAO SAMD21上。
组件列表| DIY-AIQ项目
MCU: Seeed Studio XIAO SAMD21 (Seeeduino)
传感器:BME680
屏幕:0.96“蓝/黄128x64像素OLED
XIAO SAMD21单片机|价格小,功能大
Seeed Studio的XIAO SAMD21采用ARM Cortex M0+设计,具有“多个开发接口:11个数字/模拟引脚,10个PWM引脚,1个DAC输出,1个SWD Bonding pad接口,1个I2C接口,1个UART接口,1个SPI接口”。
XIAO SAMD21也有4个板载led !DAC, QT Touch和led的组合似乎非常适合将声音,触觉和视觉提示结合在一个负担得起的包中的项目。进入引导加载程序模式需要手动缩短下图中可见的两个pad(上面链接中的指南)。
在使用更强大的XIAO ESP32-S芯片后,我选择尝试XIAO SAMD21,并欣赏整个XIAO阵容的功能范围。
BME680传感器- TVOCs和气压
博世BSEC算法测量挥发性有机化合物,根据uThing文档中这篇文章中描述的“呼吸挥发性有机化合物”。静态室内空气质量指标是基于TVOC水平博世文档中指出,iaqAccuracy功能将在校准后显示“2”,但我还没有看到这一点。调谐有这篇很棒的文章,其中有关于由于tvoc导致的室内空气质量差的风险的进一步信息。通风是室内空气质量的重要组成部分,测量TVOC水平可以衡量暖通空调系统是否有效。
事实上,在校准期后,iaaqaccuracy指标并没有显示“2”,这导致这个帖子在Adafruit的论坛上陷入了一场小而活跃的火焰之战。用户snurt实际上指责Adafruit损坏了传感器,并得到了适当的回应。我的观点是iaqAccuracy度量是有缺陷的,我计划在博世论坛上发表这一观点。
BME680传感器提供高度精确的气压读数,可用于创建天气预报指标。自9月底以来,我一直在使用本教程中展示的DIY-IAQ监视器,并且对其性能非常满意。
网上有人批评该传感器给出的温度读数比预期的高1摄氏度。虽然超出了本教程的范围,但如果您希望在显示读数之前调整读数,则似乎可以优化传感器库中的算法。
0.96英寸128x64 OLED显示屏
我选择了一个蓝色/黄色像素的版本,任何版本都可以。这是一个相当常见的4引脚I2C显示器,制造商之间可能存在差异。我从亚马逊采购了这个项目的显示器,每个单位成本不到3美元。我在这个Arduino项目中使用了Adafruit_SSD1306库,它工作得很好。该库中包含许多文件,这就是为什么repo代码库目前只包含sketch和bsech。
博世代码和文档的挑战
我没有充分考虑代码许可就购买了BME680传感器。BSD-3-Clause许可证很好,因为只要在任何发行版中包含大约40行的头文件,它就是开源的。
到这里查看博世Sensortec关于BME680的所有文档和代码,您需要签署一份声明。我的存储库包括bsech和两个参考文档。博世包括60pp的BSEC集成指南,作为zip文件的一部分,该文件描述了对传感器的粒度控制和数据结构示例。
汇编说明|第一次构建
DIY-IAQ监视器的第一个构建使用半面包板来容纳XIAO SAMD21 MCU, BME680传感器和0.96“128 × 64 OLED显示器。如上所述,将XIAO的A4/A5引脚连接到BME680的SDA/SCL引脚。从面包板上的显示器直接连接BME680的SDA/SCL引脚后面的SDA/SCL引脚。
将XIAO的GND和3v3引脚连接到面包板导轨上。将显示器和传感器的VCC和GND引脚连接到导轨上,以便它们由XIAO供电。将USB- c电缆插入XIAO,然后插入USB端口或移动电源。初次使用时,BME680通过加热传感器48-72小时来校准自身。校准后,“iaqAccuracy”度量从“0”移动到“1”大约5分钟后,XIAO插入电源。
数据收集和其他功能
我现在正在学习MQTT,使用在线平台记录环境数据。我的目标是创建一个小的功能列表,以改进显示并添加天气预报指标。XIAO SAMD21可以作为DAC,为项目添加音频功能。
当我使用Anycubic树脂打印机时,diy室内空气质量显示室内空气质量读数升高。室内空气质量水平显示,水溶性树脂的结果比紫外线树脂低,我在室内使用紫外线树脂很舒服,因为室内空气质量不超过110。这一证据加强了等待打印其他材料如ASA和ABS的重要性,直到我安装排气和/或过滤器。我相信BME680传感器总体上是准确的。
我创建了一个基本的enclosure,在修改USB-C Port后会将STL文件添加到这个项目中。我正在设计一个顶部的外壳,可以在清晰的PLA或切割出丙烯酸打印。请注意,XIAO SAMD21没有电源调节功能,因此添加电池并通过XIAO上的USB-C端口充电是不安全的。
本文编译自hackster.io