成都专业网站建设机构,网校培训,基于中小企业需求的电子商务网站建设,南昌地宝网最新招聘学物联网#xff0c;来万物简单IoT物联网#xff01;#xff01; 一、产品简介
通过CCS811传感器模块可以测量环境中TVOC(总挥发性有机物质)浓度和eCO2(二氧化碳)浓度#xff0c;作为衡量空气质量#xff08;IAQ#xff09;的指标。 引脚定义
VCC#xff1a;3.3VGND来万物简单IoT物联网 一、产品简介
通过CCS811传感器模块可以测量环境中TVOC(总挥发性有机物质)浓度和eCO2(二氧化碳)浓度作为衡量空气质量IAQ的指标。 引脚定义
VCC3.3VGND接地SCLI2C时钟SDAI2C数字WAK接地INTNC阈值中断引脚RSTNC复位引脚ADDNC
二、技术参数
供电电压3.3V接口I2C接口分辨率14位工作电流20mA睡眠模式的电流3uA模块尺寸15mm * 21mm
三、软件接口
CCS811(i2cObj) - 创建CCS811驱动对象
函数原型 ccs811Obj CCS811(i2cObj) 参数说明
参数类型必选参数说明i2cObjI2C是传入i2c对象
返回值 CCS811对象创建成功返回CCS811对象CCS811对象创建失败抛出Exception示例代码
from machine import I2C,Pin # 驱动库
import ccs811 # CCS811空气质量传感器驱动库# 初始化I2C类型的设备
i2cObj I2C(1, sclPin(22), sdaPin(21), freq400000)
print(ccs811 inited!)
ccs811Obj ccs811.CCS811(i2cObj)输出
ccs811 inited!geteCO2 - 获取空气中二氧化碳浓度
函数功能 获取空气中二氧化碳浓度函数原型 CCS811.geteCO2() 参数说明 无 返回值 | 返回值 | 类型 | 说明 | | — | — | — | | status | 整型 | 0-无效数值 1-有效数值 | | eco2 | 整型 | 单位ppm400 | 示例
from machine import I2C,Pin # 驱动库
import ccs811 # CCS811空气质量传感器驱动库
import utime# 初始化I2C类型的设备
i2cObj I2C(1, sclPin(22), sdaPin(21), freq400000)
print(ccs811 inited!)
ccs811Obj ccs811.CCS811(i2cObj)
while True:status,eco2 ccs811Obj.geteCO2()if status 1:print(eCO2: %d ppm %(eco2))utime.sleep(1)输出
ccs811 inited!
eCO2: 400 ppm
eCO2: 868 ppm
eCO2: 400 ppm
eCO2: 400 ppmgetTVOC - 获取空气中挥发有机物的浓度
函数功能 获取空气中挥发有机物的浓度函数原型 CCS811.getTVOC() 参数说明 无返回值
返回值类型说明status整型0 - 无效数值 1 - 有效数值tvoc整型单位ppb
示例
from machine import I2C,Pin # 驱动库
import ccs811 # CCS811空气质量传感器驱动库
import utime# 初始化I2C类型的设备
i2cObj I2C(1, sclPin(22), sdaPin(21), freq400000)
print(ccs811 inited!)
ccs811Obj ccs811.CCS811(i2cObj)
while True:status,tvoc ccs811Obj.getTVOC()if status 1:print(TVOC: %d ppb %(tvoc))utime.sleep(1)输出
ccs811 inited!
TVOC: 0 ppb
TVOC: 0 ppb
TVOC: 0 ppb
TVOC: 3 ppb
TVOC: 734 ppb
TVOC: 68 ppb
TVOC: 129 ppb
TVOC: 62 ppb
TVOC: 25 ppbgeteCO2TVOC - 获取空气中二氧化碳以及挥发有机物的浓度
函数功能 获取空气中二氧化碳以及挥发有机物的浓度函数原型 CCS811.geteCO2TVOC() 参数说明 无返回值
返回值类型说明status整型0-无效数值1-有效数值eco2整型单位ppm , 400tvoc整型单位ppb
示例
from machine import I2C,Pin # 驱动库
import ccs811 # CCS811空气质量传感器驱动库
import utime# 初始化I2C类型的设备
i2cObj I2C(1, sclPin(22), sdaPin(21), freq400000)
print(ccs811 inited!)
ccs811Obj ccs811.CCS811(i2cObj)
while True:status,eco2,tvoc ccs811Obj.geteCO2TVOC()if status 1:print(eCO2: %d ppm, TVOC: %d ppb % (eco2, tvoc))utime.sleep(1)输出
ccs811 inited!
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 1495 ppm, TVOC: 168 ppb
eCO2: 481 ppm, TVOC: 12 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb四、接口案例
# Python代码
from machine import I2C,Pin # 驱动库
import ccs811 # CCS811空气质量传感器驱动库
import utime# 初始化I2C类型的设备
i2cObj I2C(1, sclPin(22), sdaPin(21), freq400000)
print(ccs811 inited!)
ccs811Obj ccs811.CCS811(i2cObj)
while True:status,eco2,tvoc ccs811Obj.geteCO2TVOC()if status 1:print(eCO2: %d ppm, TVOC: %d ppb % (eco2, tvoc))utime.sleep(1)输出
ccs811 inited!
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 1495 ppm, TVOC: 168 ppb
eCO2: 481 ppm, TVOC: 12 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb
eCO2: 400 ppm, TVOC: 0 ppb五、工作原理
INA219传感器寄存器描述如下表所示
序号寄存器地址功能说明默认值10x00状态寄存器–20x01测量模式寄存器–30x02测量结果寄存器–40x20硬件ID寄存器0x8150x21硬件版本寄存器0x1X60xF4APP启动寄存器–70xFF软件重启寄存器–
从下图可以看到CCS811内置I2C通信单元与MCU进行数据交互。其中nINT和nRESET是可选的根据实际项目需要而定nWAKE低电平状态为激活CCS811。 引脚分布如下
序号引脚名功能说明1I2C_ADDR低电平 - I2C地址总线0x5A 高电平 - I2C地址总线0x5B2nRESET复位引脚低电平有效3nINT阈值中断引脚4PWM–5Sense–6VDD电源正7nWAKE唤醒引脚低电平有效8AUX–9I2C_SDAI2C数据线10I2C_SCKI2C时钟线
参考文献及购买链接
[1] CCS811传感器DATASHEET [2] CCS811传感器模块购买