BME280环境传感器(BME280 Environmental Sensor)

 

 

一、产品介绍

BME280环境传感器 温度/湿度/气压监测

本产品为高精度环境传感器,借助BME280传感器实现温度、湿度和气压的监测,芯片的温度测量范围在-40~+85°C, 湿度测量范围在0~100 %,气压测量范围在300~1100 hPa。采用PH2.0 6PIN连接线将模块与开发板连接,实现环境的检测,提供Arduino、树莓派的C和python以及STM32版本例程,例程可实现温度、湿度和气压的实时监测。

二、产品特性

  • I2C和SPI接口可随意转换,默认是I2C
  • 板载RT9193-33线性稳压器,功耗低,开启时间快
  • 提供可用于Arduino、Raspberry Pi和STM32开发板的开源示例程序

三、产品参数  

尺寸

30mm(长)*18mm(宽)

传感器芯片

BME280

信号接口

I2C/SPI

供电电压

3.3V/5V

温度范围

-40~+85°C (分辨率0.01°C,误差±1°C)

湿度范围

0~100%RH (分辨率0.008%RH,±3% RH)

气压范围

300~1100 hPa (分辨率0.18Pa,误差±1 hPa)

四、产品使用

4.1 硬件接口配置说明

4.1.1BME280传感器接线说明

引脚功能

I2C

SPI

VCC

电源正

电源正

GND

电源地

电源地

SCK

时钟控制线

串行时钟

MOSI

数据线

主机数据输出从机输入

MISO/ADDR

NC

主机数据输入从机输出

CS

NC

SPI片选信号(低电平有效)

表4-1 BME280模块引脚定义表

资源简介如下图所示:

图4-1 BME280环境传感资源简介图

① PH2.0 6PIN模块连接线  RT9193-33线性稳压器

 BME280精密传感器   拨码开关用于选择I2C地址

4.2 Raspberry Pi例程使用

4.2.1、接线说明

BME280与树莓派接线如下表所示:

4.2 Raspberry Pi 示例代码用法

4.2.1 接线说明

BME280 和 Raspberry Pi 之间的连接如下:

BME280

I2C

SPI

VCC

3.3V

3.3V

GND

GND

GND

SCK

SCL.1

SCLK

MOSI

SDA.1

MOSI

MISO/ADDR

NC

MISO

CS

NC

CE0

表 4-2 模块与树莓派连接的引脚定义
4.2.2 WiringPi库的安装

sudo apt-get install wiringpi
wget https://project-downloads.drogon.net/wiringpi-latest.deb  #Version 4B upgrade                 of Raspberry Pi
sudo dpkg -i wiringpi-latest.deb
 
gpio -v #

如果出现 2.52 版本,则表示安装成功
对于 Bullseye 分支系统,请使用以下命令:

git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v

运行gpio -v会出现2.70版本,如果没有出现说明安装出错

如在运行python版本的示例程序时出现“ImportError: No module named 'wiringpi'”的错误提示则运行以下命令:

对Python2.x 版本

pip install wiringpi

对于Python 3. x 版本

pip3 install wiringpi

 

注:若安装失败,可尝试下面的编译安装:

git clone --recursive https://github.com/WiringPi/WiringPi-Python.git

注意:--recursive 选项可以自动获取子模块;否则,需要手动下载。
要继续,请导航到下载的 WiringPi-Python 文件夹并输入以下命令进行编译和安装:

对于 Python 2. x 版本

sudo python setup.py install

对于 Python 3. x 版本

sudo python3 setup.py install

如出现以下错误:

此时,输入命令“sudo apt install swig”来安装swig。完成后,继续进行“sudo python3 setup.py install”进行编译和安装。如果您看到如下类似的信息,则表示安装成功:

4.2.3 启用 SPI and I2C 接口

sudo raspi-config

启用I2C接口:

Interfacing Options -> I2C -> Yes

启用SPI接口:

Interfacing Options -> SPI -> Yes

重启设备:

sudo reboot

执行命令检查I2C和SPI是否启动。

lsmod

如果看到显示“i2c_bcm2835”和“spi_bcm2835”,则表示I2C和SPI模块已成功启动。

请安装 i2c-tools 实用程序进行确认

sudo apt-get install i2c-tools

查看连接的 I2C 设备

i2cdetect -y 1

查看地址并确认 BME280 已成功连接到树莓派。当 ADDR 开关(如图 4-1 所示 (4))连接到默认高电平时,显示的地址0x77。当 ADDR 连接到低电平时,显示的地址0x76。

4.2.4运行示例程序

打开目录“demo codesraspberry-pi”并将“c”文件夹复制到 Raspberry Pi。然后,打开 Raspberry Pi 终端,导航到“c”文件夹,然后运行以下命令。

cd /home/pi/raspberry-pi/c
sudo make clean
sudo make
sudo ./main

然后,您可以在 Raspberry Pi 终端上看到实时温度、湿度和大气压力信息。

如果使用SPI驱动,请根据SPI总线连接的接口说明连接BME280模块,并将main.c文件中的USEIIC宏定义更改为0。然后,重新编译并运行程序。

4.3 Arduino 示例用法
4.3.1、接线说明
BME280与Arduino UNO开发板之间的接线如下:

BME280

I2C

SPI

VCC

3.3V/5V

3.3V/5V

GND

GND

GND

SCK

 SCL D13

MOSI

SDA D11

MISO/ADDR

NC

D12

CS

NC

D10

表4-3 模块和Arduino开发板接线的引脚定义

程序设置为默认的I2C接线模式。要使用 SPI,请将程序中的 #define USE_IIC 1 更改为 #define USE_IIC 0,然后重新编译并运行该程序。
4.3.2、库安装
打开目录 demo codesArduinobme280,使用 Arduino 打开 bme280.ino 文件。安装 Adafruit 统一传感器库和 Adafruit 的 BME280 库。要安装库,请导航到“草图>包含库>管理库”,等待库管理器下载库索引,然后更新已安装库的列表。

 

在库管理器中,搜索“Adafruit Unified Sensor”,然后向下滚动以找到“Adafruit Unified Sensor”。单击它以安装库。

 

同样,在库管理器中搜索“Adafruit BME280”,找到后,单击它以安装库。

4.3.3、验证和上传程序
安装后,点击“关闭”并返回主界面。再次验证代码以确保没有错误,然后继续将代码上传到开发板。单击“工具”并打开“串行监视器”。将波特率设置为 115200,并在串行监视器中观察数据变化。

4.4STM32演示代码使用

4.4.1、接线说明

4.4.1、接线说明

BME280和STM32开发板之间的接线如下:

BME280

I2C

SPI

VCC

3.3V

3.3V

GND

GND

GND

SCK

PB10

PB13

MOSI

PB11

PB15

MISO/ADDR

NC

PB14

CS

NC

PB12

表4-4 STM32模块接线引脚定义
默认程序设置为 I2C 通信。如果需要切换到SPI,则应将程序中的“#define USE_IIC 1”修改为“#define USE_IIC 0”。
下载程序后,您需要使用串行调试助手。打开位于“demo codesSTM32SYSTEMusart”目录中的“usart.c”文件。您将看到以下代码;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

从程序中可以看出,GPIOA9是连接到串行调试工具的发送(TXD)引脚,GPIOA10是连接到串行调试工具的接收(RXD)引脚。
4.4.2、打开项目,编译,刷写程序
按照第 2.4.1 节所述连接 BME280 模块、STM32 和串行调试工具后,打开目录 demo codesSTM32USER,然后使用 Keil uVision5 软件打开该目录中的 main.uvprojx 项目文件。首先,编译项目,如果编译过程中没有错误,则继续将程序刷入STM32开发板,如下图所示。

 

4.4.3、打开串口助手,观察测试值
打开串口助手,选择串口号,将波特率设置为115200,然后点击“打开”按钮。观察串行助手窗口中的值变化。串行输出将如下所示显示。

 

 

产品注意事项和维护

注意事项

  • 在通电状态下,不要插拔模块。
  • 遵循产品上提供的所有警告和指南。
  • 保持产品干燥。如不小心溅水或浸入液体,立即断开电源并彻底干燥产品。
  • 确保操作环境有良好的通风和散热,以避免因高温导致组件损坏。
  • 不要在多尘或肮脏的环境中使用或存放产品。
  • 避免在温度频繁变化的环境中使用产品,以防止组件发生冷凝损坏。
  • 轻拿轻放产品,避免跌落、撞击或剧烈震动,以免损坏电路和组件。
  • 不要使用有机溶剂或腐蚀性液体清洁产品。
  • 请勿自行尝试维修或拆解产品。如出现任何故障,请联系我们公司进行维修。未经授权的维修可能会损坏产品,造成的损坏将不在保修范围内。

维护

地址:广西壮族自治区桂林市七星区漓江花园19栋

联系人:售后维修部

 

技术支持

技术支持时间(工作日):香港时间:上午9:30 - 上午11:30,

下午1:30 - 下午5:30电话:0773-7799838 传真:gxshengui@163.com

感谢您选择深桂科技的产品。如果您有创意产品或想法,请随时给我们发送电子邮件,也许我们可以进一步合作。我们的电子邮件地址是:gxshengui@163.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

其他信息