请选择 进入手机版 | 继续访问电脑版
凡是官网购买产品,均可以获得积分,(积分可以用来下载技术资料)还可以获得精致技术支持。零知实验室可提供全套电子方案定制服务,了解详情请咨询客服。           
查看: 1552|回复: 12

空气质量传感器CCS811获取CO2和VOC数据

[复制链接]

337

主题

1775

帖子

807

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
807
发表于 2018-6-27 18:36:23 | 显示全部楼层 |阅读模式
在本篇文章中,将主要介绍如何使用零知开发板和CCS811空气质量传感器进行CO2和VOC的测量。此外,您将学习如何将CSS811与零知开发板进行连接。

一、硬件连接硬件使用零知开发板-标准板+CCS811空气质量传感器模块;

按照下面图连接线路:
1557990859103639.png

二、操作步骤
(1)连接
通过查看模块的数据手册,可以发现以下表格。一般需要用到的引脚有:SDA、SCL、ADD、INT、WAK、VCC、GND。这里需要说明一下,SDA和SCL大家比较熟悉,但是WAK就比较少见,在这款模块中,WAK为低电平的时候SDA、SCL才能正常通信。所以硬件连接需要把WAK引脚接低电平,如上图所示:
1557990858123498.png

(2)上传程序
硬件连接好后就可以打开我们的零知开源开发工具,找到以下示例:
1557990859832834.png

三、结果显示
选择正确串口,编译上传程序,打开调试窗口即可看到室内CO2和VOC的含量了。
1557990859647258.png

文档资料:

CCS811_Datasheet-DS000459.pdf (644.39 KB, 下载次数: 6)
零知开源-让电子制作变得更简单! --- 零知实验室
回复

使用道具 举报

0

主题

4

帖子

26

活跃值

新手上路

Rank: 1

活跃值
26
发表于 2018-10-22 23:03:12 | 显示全部楼层
报错  显示  sensor begin error
回复

使用道具 举报

337

主题

1775

帖子

807

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
807
 楼主| 发表于 2018-10-23 08:58:29 | 显示全部楼层
feierdog 发表于 2018-10-22 23:03
报错  显示  sensor begin error

硬件一样吗?接线也请检查下?
零知开源-让电子制作变得更简单! --- 零知实验室
回复

使用道具 举报

0

主题

4

帖子

26

活跃值

新手上路

Rank: 1

活跃值
26
发表于 2018-10-23 09:03:23 | 显示全部楼层
你好在arduino编译时出现如下错误

D:\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Arduino\hardware -tools D:\Arduino\tools-builder -tools D:\Arduino\hardware\tools\avr -built-in-libraries D:\Arduino\libraries -libraries C:\Users\Administrator\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=0X2A03_0X0043 -ide-version=10807 -build-path C:\Users\ADMINI~1\AppData\Local\Temp\arduino_build_936327 -warnings=none -build-cache C:\Users\ADMINI~1\AppData\Local\Temp\arduino_cache_837349 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=D:\Arduino\hardware\tools\avr -verbose C:\Users\ADMINI~1\AppData\Local\Temp\arduino_modified_sketch_563935\BasicReadings.ino
D:\Arduino\arduino-builder -compile -logger=machine -hardware D:\Arduino\hardware -tools D:\Arduino\tools-builder -tools D:\Arduino\hardware\tools\avr -built-in-libraries D:\Arduino\libraries -libraries C:\Users\Administrator\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=0X2A03_0X0043 -ide-version=10807 -build-path C:\Users\ADMINI~1\AppData\Local\Temp\arduino_build_936327 -warnings=none -build-cache C:\Users\ADMINI~1\AppData\Local\Temp\arduino_cache_837349 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=D:\Arduino\hardware\tools\avr -verbose C:\Users\ADMINI~1\AppData\Local\Temp\arduino_modified_sketch_563935\BasicReadings.ino
Using board 'uno' from platform in folder: D:\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: D:\Arduino\hardware\arduino\avr
警告:库 Adafruit CCS811 Library 中的分类 'Sensor' 不可用。设置为 'Uncategorized'
构建选项已变更,全部重新构建
Detecting libraries used...
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_936327\\sketch\\BasicReadings.ino.cpp" -o nul
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_936327\\sketch\\BasicReadings.ino.cpp" -o nul
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src" "C:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src\\SparkFunCCS811.cpp" -o nul
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src" "-ID:\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "C:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src\\SparkFunCCS811.cpp" -o nul
Error while detecting libraries included by C:\Users\Administrator\Documents\Arduino\libraries\SparkFun_CCS811_Breakout\src\SparkFunCCS811.cpp
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src" "-ID:\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "D:\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src\\Wire.cpp" -o nul
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src" "-ID:\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "D:\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src\\utility\\twi.c" -o nul
Generating function prototypes...
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src" "-ID:\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_936327\\sketch\\BasicReadings.ino.cpp" -o "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_936327\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"D:\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_936327\\preproc\\ctags_target_for_gcc_minus_e.cpp"
正在编译项目...
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src" "-ID:\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_936327\\sketch\\BasicReadings.ino.cpp" -o "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_936327\\sketch\\BasicReadings.ino.cpp.o"
Compiling libraries...
Compiling library "SparkFun_CCS811_Breakout"
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src" "-ID:\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "C:\\Users\\Administrator\\Documents\\Arduino\\libraries\\SparkFun_CCS811_Breakout\\src\\SparkFunCCS811.cpp" -o "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_936327\\libraries\\SparkFun_CCS811_Breakout\\SparkFunCCS811.cpp.o"
C:\Users\Administrator\Documents\Arduino\libraries\SparkFun_CCS811_Breakout\src\SparkFunCCS811.cpp:61:8: error: macro names must be identifiers

#ifdef (ARDUINO_ARCH_ESP32 ARDUINO_ARCH_ESP8266)

        ^

使用 1.0.1  版本的库 SparkFun_CCS811_Breakout 在文件夹: C:\Users\Administrator\Documents\Arduino\libraries\SparkFun_CCS811_Breakout
使用 1.0  版本的库 Wire 在文件夹: D:\Arduino\hardware\arduino\avr\libraries\Wire
exit status 1
为开发板 Arduino/Genuino Uno 编译时出错。
回复

使用道具 举报

337

主题

1775

帖子

807

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
807
 楼主| 发表于 2018-10-23 10:00:10 | 显示全部楼层
feierdog 发表于 2018-10-23 09:03
你好在arduino编译时出现如下错误

D:\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D: ...

这是零知平台的代码,你要使用Arduino平台请找Arduino平台的
零知开源-让电子制作变得更简单! --- 零知实验室
回复

使用道具 举报

0

主题

4

帖子

26

活跃值

新手上路

Rank: 1

活跃值
26
发表于 2018-10-23 13:06:16 | 显示全部楼层
在arduino库里面搜 css811  得到例子程序和这个一样  (SparkFunCCS811.h)
回复

使用道具 举报

337

主题

1775

帖子

807

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
807
 楼主| 发表于 2018-10-23 16:26:53 | 显示全部楼层
feierdog 发表于 2018-10-23 13:06
在arduino库里面搜 css811  得到例子程序和这个一样  (SparkFunCCS811.h)

有的时候库会有点不同,你既然有Arduino的代码,那就直接使用Arduino的,不要用零知平台的,如果使用零知平台的,就可以直接运行这个例子,例子我都是实际验证过的。示例代码一样但是有的时候用的库稍有不同,也会出错的
零知开源-让电子制作变得更简单! --- 零知实验室
回复

使用道具 举报

0

主题

22

帖子

81

活跃值

注册会员

Rank: 2

活跃值
81
发表于 2019-4-25 23:30:11 | 显示全部楼层
我用的是扩展版,手头有个ds18b20。
板子上有3个连续的孔,  
3.3V
XXX  (标记)
GND
应该按顺序插进去就对了吧,那个数据引脚是?
回复

使用道具 举报

337

主题

1775

帖子

807

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
807
 楼主| 发表于 2019-4-26 08:59:25 | 显示全部楼层
huyoudi 发表于 2019-4-25 23:30
我用的是扩展版,手头有个ds18b20。
板子上有3个连续的孔,  
3.3V

没明白你是想问CCS811呢还是DS18B20?还有什么扩展板,最好把图片放上
零知开源-让电子制作变得更简单! --- 零知实验室
回复

使用道具 举报

0

主题

22

帖子

81

活跃值

注册会员

Rank: 2

活跃值
81
发表于 2019-4-26 11:38:08 | 显示全部楼层
我买的是增强版。看板子上那3个孔好像是配套的插传感器的
手头有个DS18B20。
回复

使用道具 举报

337

主题

1775

帖子

807

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
807
 楼主| 发表于 2019-4-26 14:07:45 | 显示全部楼层
huyoudi 发表于 2019-4-26 11:38
我买的是增强版。看板子上那3个孔好像是配套的插传感器的
手头有个DS18B20。 ...

增强板中间吗?
20190426140514.jpg

这里是测试口,不是连接传感器的,板子上只有摄像头模块接口直插,其他一般都要用线连接的
零知开源-让电子制作变得更简单! --- 零知实验室
回复

使用道具 举报

0

主题

1

帖子

96

活跃值

注册会员

Rank: 2

活跃值
96
发表于 2019-7-13 20:41:39 | 显示全部楼层
您好,请问CCS881测得的CO2浓度在串口助手上显示的一直是400是为什么,对传感器呼气也没有用
回复

使用道具 举报

337

主题

1775

帖子

807

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
807
 楼主| 发表于 7 天前 来自手机 | 显示全部楼层
薛宇辰 发表于 2019-7-13 20:41
您好,请问CCS881测得的CO2浓度在串口助手上显示的一直是400是为什么,对传感器呼气也没有用 ...

上电初始化后等几分钟
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver| 手机版| 小黑屋| 零知实验室 ( 粤ICP备17040594号-3 )

GMT+8, 2019-7-21 16:37 , Processed in 0.076040 second(s), 22 queries .

快速回复 返回顶部 返回列表