发作品签到
专业版

CO2、TVOC浓度检测仪·基于AIR001

工程标签

1.8k
0
0
4

简介

通过AIR001获取SGP30测量的TVOC与CO2浓度数据,并显示在四位PCB数码管上。 支持常亮

简介:通过AIR001获取SGP30测量的TVOC与CO2浓度数据,并显示在四位PCB数码管上。 支持常亮
星火计划2024

开源协议

CC BY-NC-SA 4.0

(未经作者授权,禁止转载)
创建时间:2024-04-02 12:52:10更新时间:2024-07-23 13:48:33

描述

项目说明&相关功能

主控使用AIR001

通过SGP30测量的TVOC与CO2浓度数据

使用IP5407充放电芯片(这芯片5v常开,不用担心因为功耗低被断电)

成本50左右(SGP30传感器就要28,应该没有更便宜的能测CO2的传感器了……)

 

使用led显示电池状态、四位(CO2或TVOC)读数,还有四个指示灯(预热、TVOC显示、CO2显示、测量值超标警告),可自行按偏好或丝印说明焊接相应颜色。

 

led下方的这四个电阻可自行选择500R-1K阻值焊接,电阻越大,亮度越低。

 

此处可在GND TX RX焊接3p排母,并在3V3焊一根带母头的杜邦线 可直插DAPlink烧程序

3V3右边的焊盘是RST,注意不要连锡。BOOT键在板子左上方(U14)

 

建议如图放平焊接,少用点锡,烧完程序可以直接把排母掰下来

 

 

IP4057及其外围电路建议烧完程序,验证co2测量功能正常之后再焊

中间焊盘(GND)开了个孔,如果没有加热台或风枪可以拿烙铁加热并从背面灌锡进去(如果用加热台或风枪建议把这个大孔删了以防虚焊)

ip4057详细数据可以去看文档,这里复制了8-9页led的显示说明

 

开源协议

本项目遵守 CC-BY-NC-SA 4.0 协议

 

代码中引用了Adafruit_SGP30库,用于获取SGP30读数及校准SGP30

原理图中IP5407外围电路部分改自项目”5V充放电模块IP5407“

SGP30转接板借鉴了@yanshimi的随身WIFI转接板

 

项目属性

本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。(该项目没参加过别的比赛)

 

项目进度

2024.4.2及以前:

创建该页面,并完成原理图绘制、PCB设计、第一版焊接

代码均能正常运行

2024.4.7:

外壳画完了,这里放一些渲染图(等打样)

2024.4.10:

更新实物图

2024.6.20:

完善说明

增加亚克力面板

 

 

设计原理&软件说明

通过AIR001获取SGP30测量的TVOC与CO2浓度数据,并显示在四位PCB数码管上。

启动后每秒检测一次TVOC与CO2浓度,若任意一值过高会亮警告灯与对应超标项指示灯(如CO2超标则会使CO2指示灯与警告灯每秒同时闪烁一次)

 

启动后若短摁键在板子左上方(U14)BOOT键会显示当前测量值5秒,并点亮对应数值指示灯,此时每秒仍会刷新数值及显示内容。若在第2、3、4秒再次短摁BOOT则会切换至另一数值显示(如短摁BOOT后显示了CO2浓度测量值并点亮CO2指示灯,2秒后再短摁一次切换显示TVOC浓度测量值,此时TVOC指示灯点亮)

 

启动后若长摁BOOT超过4秒可以开启常亮,并保持测量值刷新。再次短摁可关闭常亮。

 

每次启动时都需要预热SGP30传感器(大概半分钟),因此做了个开机动画,启动后将传感器在空气较好的地方放一会可获得更准确的读数。

使用电池供电时接通外部供电不会使主控重启(但拔掉外部供电大概率会重启,IP4057特性)

 

实物展示

第一代-待机状态(电量指示灯太亮,所以往上面抹了一堆阻焊油来遮光)

第一代-显示CO2浓度 (476ppm)

 

注意事项

IP4057尽量找好点的渠道买,我一开始买的tb上的芯片用一会就不工作了,换上立创商城的就好了

亚克力面板略贵,可选择性下单或者拼进其他的大板子里,或者用pcb替代(效果会差一些)

 

其他

源代码在附件中,请使用arduino自行烧写

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
co2TesterV1.ino
17
2
演示视频v2.mp4
3
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航