原文链接:https://www.yourcee.com/newsinfo/2929148.html

BME680简介

BME680是一个四合一数字环境检测传感器,可以测量所处周围环境的温度、湿度、气压、有机挥发性化合物(VOC)。其内部的金属氧化物敏感元件用于测量空气中的VOCs,不同VOCs浓度下金属氧化物表面的电导率不一样从而输出不同的电阻值。这个传感器能给到一个关于周围空气中VOCs/污染物之和的定性概念,而不是特定的气体分子。

敏感元件 测量范围 精度
温度 -40 to 85 ºC +/- 1.0 ºC
湿度 0 to 100 % +/- 3 %
气压 300 to 1100 hPa +/- 1 hPa

接口说明

点击图片购买
VCC 供电正极3.3-5V
GND 供电负极
SCL SPI/IIC模式时钟信号输入
SDA SPI模式的MOSI数据信号的输入,IIC模式的数据信号的输入和输出
SDO SPI模式的MISO数据信号的输出,IIC模式时为IIC器件地址设置引脚,接GND时器件地址为1110110(0x76),接VCC时器件地址为1110111(0x77)
CS SPI/IIC模式的选择引脚,当接VCC时为IIC模式,当接GND时为SPI模式

BME680与Arduino UNO接线与程序

BME680 SPI接线方式 IIC接线方式
SCL D13 A5
SDA D11 A4
SDO D12 /
CS D10 /

IIC接线方式

Arduino IDE库管理器安装 Adafruit_BME680 library

Arduino IDE库管理器安装Adafruit Unified Sensor

打开示例代码

/***************************************************************************This is a library for the BME680 gas, humidity, temperature & pressure sensorDesigned specifically to work with the Adafruit BME680 Breakout----> http://www.adafruit.com/products/3660These sensors use I2C or SPI to communicate, 2 or 4 pins are requiredto interface.Adafruit invests time and resources providing this open source code,please support Adafruit and open-source hardware by purchasing productsfrom Adafruit!Written by Limor Fried & Kevin Townsend for Adafruit Industries.BSD license, all text above must be included in any redistribution***************************************************************************/#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_BME680.h"#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10#define SEALEVELPRESSURE_HPA (1013.25)Adafruit_BME680 bme; // I2C
//Adafruit_BME680 bme(BME_CS); // hardware SPI
//Adafruit_BME680 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK);void setup() {Serial.begin(9600);while (!Serial);Serial.println(F("BME680 async test"));if (!bme.begin()) {Serial.println(F("Could not find a valid BME680 sensor, check wiring!"));while (1);}// Set up oversampling and filter initializationbme.setTemperatureOversampling(BME680_OS_8X);bme.setHumidityOversampling(BME680_OS_2X);bme.setPressureOversampling(BME680_OS_4X);bme.setIIRFilterSize(BME680_FILTER_SIZE_3);bme.setGasHeater(320, 150); // 320*C for 150 ms
}void loop() {// Tell BME680 to begin measurement.unsigned long endTime = bme.beginReading();if (endTime == 0) {Serial.println(F("Failed to begin reading :("));return;}Serial.print(F("Reading started at "));Serial.print(millis());Serial.print(F(" and will finish at "));Serial.println(endTime);Serial.println(F("You can do other work during BME680 measurement."));delay(50); // This represents parallel work.// There's no need to delay() until millis() >= endTime: bme.endReading()// takes care of that. It's okay for parallel work to take longer than// BME680's measurement time.// Obtain measurement results from BME680. Note that this operation isn't// instantaneous even if milli() >= endTime due to I2C/SPI latency.if (!bme.endReading()) {Serial.println(F("Failed to complete reading :("));return;}Serial.print(F("Reading completed at "));Serial.println(millis());Serial.print(F("Temperature = "));Serial.print(bme.temperature);Serial.println(F(" *C"));Serial.print(F("Pressure = "));Serial.print(bme.pressure / 100.0);Serial.println(F(" hPa"));Serial.print(F("Humidity = "));Serial.print(bme.humidity);Serial.println(F(" %"));Serial.print(F("Gas = "));Serial.print(bme.gas_resistance / 1000.0);Serial.println(F(" KOhms"));Serial.print(F("Approx. Altitude = "));Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));Serial.println(F(" m"));Serial.println();delay(2000);
}

打开串口监视器显示出传感器测量的数据

总结

首次使用传感器器时建议使其工作48小时后其测量的数据相对稳定准确,建议使传感器工作半小时后读取到的气敏电阻值相对准确。通过本实验能快速直观的使用传感器获取所处环境的参数。

Arduino UNO测试BME680环境传感器相关推荐

  1. Arduino Uno 使用TCS3200D颜色传感器 分辨颜色

    欢迎关注「凌顺实验室」微信公众号 TCS3200颜色传感器 实验效果 把色纸放在传感器2CM左右高的地方, 可以检测到该物体的RGB值, 然后我们通过画板可以检验出颜色是否正确 在实际环境中,自然光, ...

  2. Arduino UNO测试MH-Z16二氧化碳CO2传感器

    原文链接:https://www.yourcee.com/newsinfo/2928917.html MH-Z16二氧化碳传感器简介 利用非色散红外(NDIR技术)原理对空气中存在的CO2 进行探测, ...

  3. Arduino UNO测试BMP280温度气压传感器

    BMP280简介 BMP280是一个二合一数字环境检测传感器,传感器采用非常紧凑的封装.它是基于博世经过验证的压阻式压力传感器技术,可以测量所处周围环境的温度.气压.由于气压随高度变化,可以估算高度, ...

  4. 如何用Arduino UNO和DS18B20防水传感器制作一个温度计

    使用Arduino UNO和DS18B20防水温度传感器自制温度计! 在本篇文章中,我们将使用Arduino UNO开发板和DS18B20温度传感器来制作温度计.当高精度应用需要良好的响应能力时,DS ...

  5. Arduino UNO测试BMP388温度气压传感器

    原文链接:https://www.yourcee.com/newsinfo/2929077.html BMP388传感器简介 BMP388是一个二合一数字传感器,可以测量温度,绝对大气压.由于气压随高 ...

  6. Arduino Uno PM2.5粉尘传感器(GP2Y1010AU0F) 看看家里的空气质量

    欢迎关注「凌顺实验室」微信公众号 这次用到的这个模块,是SHARP GP2Y10(粉尘传感器,其实我在怀疑是否也叫PM2.5) 买到手的时候,除了传感器还有随附的一个150欧姆的电阻和一个220uf的 ...

  7. Arduino Uno 实验14——声音传感器

    声音传感器简介   声音传感器的作用相当于一个话筒(麦克风).它用来接收声波,显示声音的振动图像,但不能对噪声的强度进行测量.   该传感器内置一个对声音敏感的电容式驻极体话筒.声波使话筒内的驻极体薄 ...

  8. 第四篇、基于Arduino uno,获取土壤湿度传感器的原始值和含水量——结果导向

    0.结果 说明:先来看看串口调试助手显示的结果,第一个值是原始的模拟电压值,第二个值是含水量,如果是你想要的,可以接着往下看. 1.外观 说明:虽然土壤湿度传感器形态各异,但是原理和代码都是适用的. ...

  9. 第三十二篇、基于Arduino uno,获取光敏电阻传感器的原始值和光照强度——结果导向

    0.结果 说明:先来看看串口调试助手显示的结果,第一个值是原始的模拟电压值,第二个值是含光量,也就是光照强度,如果是你想要的,可以接着往下看. 1.外观 说明:虽然光敏电阻传感器形态各异,但是原理和代 ...

最新文章

  1. python dlib学习(七):人脸特征点对齐
  2. 一个word文档中,多个表格的批量调整(根据窗口调整表格和添加表格水平线)...
  3. 厦大复试计算机科学系,2019年厦门大学计算机系经验分享,复试篇!逆袭!
  4. mysql的索引介绍_2
  5. leetcode 796. Rotate String | 796. 旋转字符串(KMP)
  6. Hbase二级索引+CDH+Lily
  7. oracle中job的retry次数,有大佬帮忙看下我安装过程中到底出啥问题了么..
  8. idea 切换git仓库_Idea切换git分支及合并
  9. 2017web前端面试总结
  10. mysqlplus 批量插入_解决SpringBoot+Druid+Mybatis Plus 执行MySQL批量插入,更新 报错的问题...
  11. 信号与系统 chapter5 线性系统与非线性系统
  12. ubuntu查看显卡驱动以及其他驱动
  13. 软件著作权 php代码行数,申报软件著作权时,如何快捷计算源码行数
  14. 如何执行冲刺sprint
  15. Simulink中powergui的FFT分析怎么用m文件实现?
  16. 特价酒店预定应用HotelTonight获Battery和Accel 900万投资
  17. 已知三角函数值用计算机如何求角度,【已知三角函数值求角度】第一册已知三角函数值求角...
  18. 百练 4118 开餐馆
  19. matlab 反步法,反步法的Matlab仿真学习程序
  20. 快速读懂Http3协议总结

热门文章

  1. 汇编学习pushl, popl
  2. 华为Eudemon1000防火墙-详细配置
  3. 打造优秀的项目经理团队︱清晖项目管理学术部资深讲师杨俊
  4. css设置半透明背景颜色并且内容不会受影响的解决办法
  5. 华为云OCR文字识别工具类
  6. C# 写pdf文件(写入表格)
  7. 第五届中国网络安全大会盛大召开 发展网络空间安全事业成重中之重
  8. 拿捏了,这样的购物体验才深得用户心
  9. TensorFlow2.0 教程-图像分类
  10. Line母公司Naver联手软银成立4300万美元基金