Arduino UNO测试BMP388温度气压传感器
创作时间:
作者:
@小白创作中心
Arduino UNO测试BMP388温度气压传感器
引用
CSDN
1.
https://blog.csdn.net/qq_42250136/article/details/122301966
BMP388是一款集温度和气压测量于一体的数字传感器,广泛应用于无人机和导航系统中。本文将详细介绍如何使用Arduino UNO与BMP388传感器进行连接和数据读取,包括硬件接线和软件编程的具体步骤。
BMP388传感器简介
BMP388是一个二合一数字传感器,可以测量温度和绝对大气压。由于气压随高度变化,可以非常精确地估计高度,因此对于无人机和导航应用来说非常方便。
参数 | 测量范围 | 精度 |
---|---|---|
温度 | -40 to 85 ºC | +/- 0.5 ºC(0 to 65 ºC) |
气压 | 300 to 1250 hPa | 绝对精度+/- 0.5hPa,相对精度+/- 0.08hPa |
采样率 | / | 200Hz |
接口说明
- VIN-:供电正极3.3-5V
- GND:供电负极
- 3Vo:调压器3.3V输出
- SCK:SPI/IIC模式时钟信号输入
- SDI:SPI模式的MOSI数据信号的输入,IIC模式的数据信号的输入和输出
- SDO:SPI模式的MISO数据信号的输出,IIC模式时为IIC器件地址设置引脚,接GND时器件地址为1110110(0x76),接VCC时器件地址为1110111(0x77)
- CS:SPI模式的片选引脚,低有效输入
- INT:中断输出高电平
BMP388与Arduino UNO接线与程序
SPI接线方式
BMP388 | Arduino UNO |
---|---|
SCK | D13 |
SDI | D11 |
SDO | D12 |
CS | D10 |
IIC接线方式
BMP388 | Arduino UNO |
---|---|
SCK | A5 |
SDI | A4 |
在Arduino IDE中,需要安装以下库:
- Adafruit_BME680 library
- Adafruit Unified Sensor
以下是示例代码:
/***************************************************************************
This is a library for the BMP3XX temperature & pressure sensor
Designed specifically to work with the Adafruit BMP388 Breakout
----> http://www.adafruit.com/products/3966
These sensors use I2C or SPI to communicate, 2 or 4 pins are required
to interface.
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing products
from 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_BMP3XX.h"
#define BMP_SCK 13
#define BMP_MISO 12
#define BMP_MOSI 11
#define BMP_CS 10
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BMP3XX bmp;
void setup() {
Serial.begin(115200);
while (!Serial);
Serial.println("Adafruit BMP388 / BMP390 test");
// 选择I2C或SPI模式
//if (! bmp.begin_I2C()) { // hardware I2C mode, can pass in address & alt Wire
//if (! bmp.begin_SPI(BMP_CS)) { // hardware SPI mode
//if (! bmp.begin_SPI(BMP_CS, BMP_SCK, BMP_MISO, BMP_MOSI)) { // software SPI mode
if (! bmp.begin_I2C()) {
Serial.println("Could not find a valid BMP3 sensor, check wiring!");
while (1);
}
// 设置采样率和滤波系数
bmp.setTemperatureOversampling(BMP3_OVERSAMPLING_8X);
bmp.setPressureOversampling(BMP3_OVERSAMPLING_4X);
bmp.setIIRFilterCoeff(BMP3_IIR_FILTER_COEFF_3);
bmp.setOutputDataRate(BMP3_ODR_50_HZ);
}
void loop() {
if (! bmp.performReading()) {
Serial.println("Failed to perform reading :(");
return;
}
Serial.print("Temperature = ");
Serial.print(bmp.temperature);
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bmp.pressure / 100.0);
Serial.println(" hPa");
Serial.print("Approx. Altitude = ");
Serial.print(bmp.readAltitude(SEALEVELPRESSURE_HPA));
Serial.println(" m");
Serial.println();
delay(2000);
}
打开串口监视器,即可看到传感器测量的数据。
总结
通过本实验,我们了解了BMP388传感器的基本使用方法,能够测量出温度、气压和高度等基本数据。这对于无人机、气象监测和导航系统等应用具有重要参考价值。
热门推荐
为什么蓝色清真寺是土耳其必打卡的拍照地?
卡塔尔最大清真寺:伊玛目·阿卜杜勒·瓦哈卜清真寺
容易忧郁的人吃什么好 盘点6大类解忧食物
抑郁症患者不能吃什么
《鬼灭之刃》新预告引爆社交平台,终极决战即将上演
东南大学附属中大医院推荐:贫血患者的补气血秘籍
秋冬养生:这些日常锻炼帮你补气血!
秋冬补气血,牛肉菠菜这样吃最有效!
双十一后心情低落?试试瑜伽调节情绪吧!
都江堰有轨电车:雪山下的诗意之旅
冬季出游首选:都江堰有轨电车攻略
青少年情绪调节:提升心理健康的关键
宜宾:哪吒文化的现实传承地
春节必看!三部新片温暖你的假期
春节申遗成功,联合国点赞中华文化!
春节申遗成功后的首个非遗灯会:传统与现代的完美融合
浙江台州临海旅游必去十大景点有哪些呢,喜欢的朋友可以收藏
斑马鱼不打瞌睡的秘密:睡眠压力如何影响大脑?
斑马鱼睡眠研究揭示大脑奥秘:神经元突触数量与睡眠压力的关系
斑马鱼睡眠新发现:揭秘水下“熬夜党”
斯坦福大学最新研究:斑马鱼睡眠揭秘人类健康
九寨沟:人间仙境的独特体验
四川毕棚沟,人间仙境等你来打卡!
九寨沟与峨眉山:四川必打卡双雄
河坊街美食地图:杭州老街上的六种地道小吃
解读中国四大佛教名山
张艺兴双春晚上演“如意”首秀,国风新作惊艳四座
丁禹兮三登东方卫视春晚,非遗主题下展现多元才艺
有一种生不如死,叫“反流性食管炎”
慢性胃炎的临床管理:从诊断到治疗 | 慢性胃炎规范化诊疗策略①