Arduino驱动BME680四合一传感器模块

目录

  • 一、简介
  • 二、技术参数
  • 三、使用方法
  • 四、实验现象

一、简介

在这里插入图片描述

点击图片购买

GYMCU680 是一款低成本空气检测模块,工作电压 3-5v 功耗小,体积小。其工作原理,是通过 MCU 读取 BME680传感器数据,经过算法得到,温湿度,大气压, IAQ 室内空气质量,电阻值。
此模块,有两种方式读取数据,即串口( TTL 电平)或者芯片本身 IIC通信方式。该产品精度高,稳定性高。能够直接输出实用数据,省略了算法。串口的波特率有 9600bps 与 115200bps,有连续输出与询问输出两种方式,可适应不同的工作环境。与所有的单片机及电脑连接当焊接上 PS 焊点时候,模块是芯片本身 IIC 模式,此时 MCU 不参与工作,不消耗电流。可以当成简单的 BME680 模块使用。IAQ 室内空气质量算法是根据 BME680 芯片官网的例程移植,测试时候上电要一定时间,大约 5 分钟,数据才会正常。可应用于手持式仪器仪表、室内空气品质质量检测、天气预报系统、家庭自动化与控制、物联网,互联网、室外休闲与体育运动。

二、技术参数

在这里插入图片描述

三、使用方法

实验准备

BME680传感器模块1个
原装正版Arduino uno r3开发板1个
USB2.0打印机数据线高速方口连接转接线 A公对B公1条
杜邦线若干

接线

ArduinoBME680传感器模块
5V5V
GNDGND
11RX
10TX

如下图所示
在这里插入图片描述

程序下载

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
uint16_t temp1=0;
int16_t temp2=0;unsigned char Re_buf[30],counter=0;
unsigned char sign=0;
int led = 13;//-----------------------------------------------------------
void setup()
{Serial.begin(9600);  mySerial.begin(9600);mySerial.listen();  delay(4000);    mySerial.write(0XA5); mySerial.write(0X55);    mySerial.write(0X3F);    //初始化GY_MCU680,输出所有数据mySerial.write(0X39); delay(100); mySerial.write(0XA5); mySerial.write(0X56);    //初始化GY_MCU680,连续输出模式mySerial.write(0X02);    mySerial.write(0XFD);delay(100);  
}
//-------------------------------------------------------------
void loop(){float Temperature ,Humidity;unsigned char i=0,sum=0;uint32_t Gas;uint32_t Pressure;uint16_t IAQ;int16_t  Altitude;uint8_t IAQ_accuracy;while (mySerial.available()) {   Re_buf[counter]=(unsigned char)mySerial.read();if(counter==0&&Re_buf[0]!=0x5A) return;      // 检查帧头     if(counter==1&&Re_buf[1]!=0x5A){counter=0;return;};      // 检查帧头       counter++;       if(counter==20)                //接收到数据{    counter=0;                 //重新赋值,准备下一帧数据的接收 sign=1;}      }if(sign){  sign=0;if(Re_buf[0]==0x5A&&Re_buf[1]==0x5A )        //检查帧头,帧尾{  	for(i=0;i<19;i++)sum+=Re_buf[i]; if(sum==Re_buf[i] ) {temp2=(Re_buf[4]<<8|Re_buf[5]);   Temperature=(float)temp2/100;temp1=(Re_buf[6]<<8|Re_buf[7]);Humidity=(float)temp1/100; Pressure=((uint32_t)Re_buf[8]<<16)|((uint16_t)Re_buf[9]<<8)|Re_buf[10];IAQ_accuracy= (Re_buf[11]&0xf0)>>4;IAQ=((Re_buf[11]&0x0F)<<8)|Re_buf[12];Gas=((uint32_t)Re_buf[13]<<24)|((uint32_t)Re_buf[14]<<16)|((uint16_t)Re_buf[15]<<8)|Re_buf[16];Altitude=(Re_buf[17]<<8)|Re_buf[18]; Serial.print("Temperature:");Serial.print(Temperature); Serial.print(" ,Humidity:"); Serial.print(Humidity); Serial.print(" ,Pressure:"); Serial.print(Pressure);     Serial.print("  ,IAQ:");Serial.print(IAQ); Serial.print(" ,Gas:"); Serial.print(Gas ); Serial.print("  ,Altitude:"); Serial.print(Altitude);                       Serial.print("  ,IAQ_accuracy:"); Serial.println(IAQ_accuracy);  }            delay(1000);           }} 
} 
//---------------------------------------------------------------

四、实验现象

在这里插入图片描述
测量温度为19.70℃,湿度是38.75%,压力是102498pa,空气品质IAQ是49。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/299399.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Error loading MySQLdb module.Did you install mysqlclient?报错解决方法

出现报错django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient? 这个错误意味着你的Django项目在尝试使用MySQL数据库时找不到MySQLdb模块。 首先检查自己有没有安装mysqlclient 运行以下命令来安装mysqlclient&…

Spring之国际化:i18n

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

玩转大数据22:常见的关联规则挖掘算法

引言 关联规则挖掘是数据挖掘中的一种重要技术&#xff0c;主要用于发现数据集中项之间的有趣关系。关联规则挖掘在许多领域都有广泛的应用&#xff0c;如市场篮子分析、推荐系统等。常见的关联规则挖掘算法包括Apriori算法和FP-Growth算法。 一、Apriori算法 关联规则挖掘是…

【鸿蒙应用ArkTS开发系列】- 沉浸式状态栏实现

文章目录 一、前言二、封装沉浸式状态栏管理类1、创建Demo工程2、封装状态栏管理类 三、编写页面实现沉浸式状态栏效果1、存储windowStage实例2、Page页面中实现沉浸式开启关闭功能2.1、开启沉浸式状态栏2.2、设置标题栏偏移量 一、前言 在应用开发中&#xff0c;页面跟状态栏…

防止synplify优化ILA模块或信号

摘要&#xff1a;synplify综合的时候会优化掉没有用到的信号或者模块&#xff0c;为防止synplify优化ILA或信号特记录此方法&#xff1b; 我使用的是synplify_pro compile完成之后&#xff0c;可以打开synplify图形化的网表 1.防止synplify优化wire信号 在vivado里面一般可以…

多重断言插件之pytest-assume的简单使用

背景&#xff1a; pytest-assume是Pytest框架的一个扩展&#xff0c;它允许在单个测试用例中多次断言。通常情况下&#xff0c;当一个断言失败时&#xff0c;测试会立即停止执行&#xff0c;而pytest-assume允许我 们继续执行剩余的断言&#xff0c;以便查看更多的失败信息。…

opencv入门到精通——形态学转换

目录 目标 理论 1. 侵蚀 2. 扩张 3. 开运算 4. 闭运算 5. 形态学梯度 6. 顶帽 7. 黑帽 结构元素 目标 在这一章当中&#xff0c; 我们将学习不同的形态学操作&#xff0c;例如侵蚀&#xff0c;膨胀&#xff0c;开运算&#xff0c;闭运算等。我们将看到不同的功能&…

浙江大唐乌沙山电厂选择ZStack Cloud打造新一代云基础设施

浙江大唐乌沙山电厂选择云轴科技ZStack Cloud云平台为其提供高性能、高可用的云主机、云存储和云网络&#xff0c;构建了简单、稳定、安全、高效的云基础设施&#xff1b;通过ZStackCloud为其提供可视化服务编排、多租户自服务等模块&#xff0c;帮助电厂提高IT资源利用率&…

vivado 多周期路径与时钟相移

多周期路径与时钟相移 有时&#xff0c;必须在具有相同时钟域的两个时钟域之间定义定时约束时钟周期&#xff0c;但两个时钟之间的相移。在这些情况下&#xff0c;理解正时引擎使用的默认设置和保持关系。如果没有仔细调整两个时钟之间的相移可能导致两个时钟间的逻辑约束过大…

360压缩安装一半不动了怎么办?

360压缩软件是我们常用的压缩软件&#xff0c;但是常常会遇到压缩安装到一半停止的情况&#xff0c;下面提供了一些可能的原因和解决办法&#xff0c;大家可以进行尝试~ 方法一&#xff1a;关闭防火墙和杀毒软件 有时候&#xff0c;防火墙和杀毒软件可能会阻止360压缩的安装过…

抖店可以上传多少产品?抖店的细节问题解答,电商王路飞分享

我是王路飞。 精细化运营阶段&#xff0c;抖店的一切运营方式、玩法、类目、商品数量等&#xff0c;都必须可控。 现在不是初期草莽阶段了&#xff0c;抖店可以长期做下去&#xff0c;所以我们不能挑战风险&#xff0c;也不能挑战概率。 那么关于一个抖店内可以上传多少个产…

哪个猫粮好?五款备受好评的主食冻干猫粮推荐!

还有谁是在盯着大促、等着进口冻干猫粮降价给自家小猫薅一波羊毛&#xff01;进口冻干猫粮的羊毛是国内可以薅到的吗&#xff1f;国产冻干猫粮的价格主要受到原材料成本、生产和运输成本这两项的影响&#xff0c;然而进口冻干猫粮还要受到汇率波动和关税的影响。羊毛出在羊身上…