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.1、BME280传感器接线说明
|
引脚功能 |
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
- 2025-12-02
- 2025-12-02
- 2025-12-02
- 2025-12-01
