0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BMP280氣壓傳感器使用指南

CHANBAEK ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者: Jason ? 2023-04-17 18:02 ? 次閱讀

博主最近在調(diào)試 bmp280 氣壓傳感器。

1、前言

BOSCH 出的 BMP280 氣壓傳感器,可以用于測(cè)量氣壓、海拔高度等。 無(wú)人機(jī)一般都會(huì)使用氣壓計(jì),給飛控定高,還可以做天氣監(jiān)控,因?yàn)闇囟群惋L(fēng)速的變化都會(huì)影響測(cè)量結(jié)果。

目前已經(jīng)出了 BMP380、BMP390 ,精度更高。

2、傳感器特性

  1. 具有數(shù)字 I2C、SPI 串口標(biāo)準(zhǔn)輸出。 (I2C up to 3.4 MHz) (SPI 3 and 4 wire, up to 10 MHz)
  2. 封裝 8-pin LGA,2.0 × 2.5 × 0.95mm,小尺寸適用于很多設(shè)備
  3. 功耗 2.7μA @ 1 Hz 采樣率
  4. 工作溫度 -40 … +85 °C
  5. 測(cè)壓范圍 300 … 1100 hPa

典型應(yīng)用

  1. 增強(qiáng) GPS 導(dǎo)航(例如,首次修復(fù)改進(jìn)時(shí)間、航位推算、坡度檢測(cè)
  2. 室內(nèi)導(dǎo)航(樓層檢測(cè)、電梯檢測(cè))
  3. 戶(hù)外導(dǎo)航、休閑和體育應(yīng)用
  4. 天氣預(yù)報(bào)
  5. 醫(yī)療保健應(yīng)用(如肺活量測(cè)定)
  6. 垂直速度指示(例如上升/下降速度)

目標(biāo)設(shè)備

  1. 手機(jī)、平板電腦、GPS 設(shè)備等手持設(shè)備
  2. 導(dǎo)航系統(tǒng)
  3. 便攜式醫(yī)療保健設(shè)備
  4. 家庭氣象站
  5. 飛行玩具
  6. 手表

BMP180、BMP280 對(duì)比

圖片

3、參考資料

bosch 官網(wǎng)有數(shù)據(jù)手冊(cè)

4、引腳說(shuō)明

一共 8 個(gè) PIN 腳

圖片

引腳說(shuō)明

圖片

4 線 SPI

圖片

3 線 SPI

圖片

C1, C2 為 100 nF。

I2C 連接

圖片

5、工作模式

  1. 睡眠模式
  2. 正常模式
  3. 強(qiáng)制模式

在睡眠模式下,不進(jìn)行任何測(cè)量。 正常模式包括自動(dòng)在活動(dòng)測(cè)量周期和非活動(dòng)待機(jī)周期之間的永久循環(huán)。 在強(qiáng)制模式下,執(zhí)行單次測(cè)量,測(cè)量完成后傳感器返回睡眠模式。

圖片

6、I2C 讀寫(xiě)地址

BMP280 從機(jī)地址是 111011x ,高 6 bit 是固定的,最后一位 x 和一個(gè) PIN 的狀態(tài)有關(guān)系。 如果 SDO 是高,從機(jī)地址是 1110111 (0x77)。 如果 SDO 是低,從機(jī)地址是 1110110 (0x76)。

這個(gè)方案可以使得一路 I2C bus 掛兩個(gè) bmp280,同時(shí)使用。

I2C 寫(xiě)入

圖片

I2C 讀取

圖片

另外,該器件支持 SPI mode ‘00’ (CPOL = CPHA = ‘0’) and mode ‘11’ (CPOL= CPHA = ‘1’). SPI 支持 4-wire and 3-wire。 詳情參看數(shù)據(jù)手冊(cè)。

7、寄存器

圖片

#define BMP280_ADDRESS  0x76  //從設(shè)備地址
#define BMP280_RESET_VALUE  0xB6  //復(fù)位寄存器寫(xiě)入值

#define BMP280_CHIPID_REG       0xD0  /*Chip ID Register */
#define BMP280_RESET_REG        0xE0  /*Softreset Register */
#define BMP280_STATUS_REG       0xF3  /*Status Register */
#define BMP280_CTRLMEAS_REG     0xF4  /*Ctrl Measure Register */
#define BMP280_CONFIG_REG       0xF5  /*Configuration Register */
#define BMP280_PRESSURE_MSB_REG    0xF7  /*Pressure MSB Register */
#define BMP280_PRESSURE_LSB_REG    0xF8  /*Pressure LSB Register */
#define BMP280_PRESSURE_XLSB_REG   0xF9  /*Pressure XLSB Register */
#define BMP280_TEMPERATURE_MSB_REG   0xFA  /*Temperature MSB Reg */
#define BMP280_TEMPERATURE_LSB_REG   0xFB  /*Temperature LSB Reg */
#define BMP280_TEMPERATURE_XLSB_REG  0xFC  /*Temperature XLSB Reg */
//狀態(tài)寄存器轉(zhuǎn)換標(biāo)志
#define BMP280_MEASURING     0x01
#define BMP280_IM_UPDATE     0x08
  1. 第一個(gè) chip_id 寄存器。
  2. 第二個(gè)復(fù)位寄存器,向 0xE0 寫(xiě) 0xB6 復(fù)位。
  3. 狀態(tài)寄存器,兩個(gè)狀態(tài):一個(gè)是 MEASURING,一個(gè)是 UPDATE。
  4. 4 和 5 寄存器用來(lái)設(shè)置它的模式。
  5. 最后 6 個(gè)是數(shù)據(jù)寄存器,XLSB 是小數(shù)位的意思,后面用來(lái)浮點(diǎn)轉(zhuǎn)化用。

8、代碼

博主用的是輪詢(xún)?nèi)プx數(shù)據(jù),大家也可以配置成中斷方式。

初始化部分,主要是讀補(bǔ)償參數(shù)、設(shè)置工作模式、設(shè)置過(guò)采樣參數(shù)等:

BMP280 bmp280_inst;
BMP280* bmp280 = &bmp280_inst;  //這個(gè)全局結(jié)構(gòu)體變量用來(lái)保存存在芯片內(nèi)ROM補(bǔ)償參數(shù)
void Bmp_Init(void)
{
 u8 Lsb,Msb;
 
 /********************接下來(lái)讀出矯正參數(shù)*********************/
 //溫度傳感器的矯正值
 Lsb = BMP280_Read_Byte(BMP280_DIG_T1_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_T1_MSB_REG);
 bmp280->T1 = (((u16)Msb)<<8) + Lsb;   //高位加低位
 Lsb = BMP280_Read_Byte(BMP280_DIG_T2_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_T2_MSB_REG);
 bmp280->T2 = (((u16)Msb)<<8) + Lsb;  
 Lsb = BMP280_Read_Byte(BMP280_DIG_T3_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_T3_MSB_REG);
 bmp280->T3 = (((u16)Msb)<<8) + Lsb;  
 
 //大氣壓傳感器的矯正值
 Lsb = BMP280_Read_Byte(BMP280_DIG_P1_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P1_MSB_REG);
 bmp280->P1 = (((u16)Msb)<<8) + Lsb;  
 Lsb = BMP280_Read_Byte(BMP280_DIG_P2_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P2_MSB_REG);
 bmp280->P2 = (((u16)Msb)<<8) + Lsb; 
 Lsb = BMP280_Read_Byte(BMP280_DIG_P3_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P3_MSB_REG);
 bmp280->P3 = (((u16)Msb)<<8) + Lsb; 
 Lsb = BMP280_Read_Byte(BMP280_DIG_P4_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P4_MSB_REG);
 bmp280->P4 = (((u16)Msb)<<8) + Lsb; 
 Lsb = BMP280_Read_Byte(BMP280_DIG_P5_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P5_MSB_REG);
 bmp280->P5 = (((u16)Msb)<<8) + Lsb; 
 Lsb = BMP280_Read_Byte(BMP280_DIG_P6_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P6_MSB_REG);
 bmp280->P6 = (((u16)Msb)<<8) + Lsb; 
 Lsb = BMP280_Read_Byte(BMP280_DIG_P7_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P7_MSB_REG);
 bmp280->P7 = (((u16)Msb)<<8) + Lsb; 
 Lsb = BMP280_Read_Byte(BMP280_DIG_P8_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P8_MSB_REG);
 bmp280->P8 = (((u16)Msb)<<8) + Lsb; 
 Lsb = BMP280_Read_Byte(BMP280_DIG_P9_LSB_REG);
 Msb = BMP280_Read_Byte(BMP280_DIG_P9_MSB_REG);
 bmp280->P9 = (((u16)Msb)<<8) + Lsb; 
 /******************************************************/
 BMP280_Write_Byte(BMP280_RESET_REG,BMP280_RESET_VALUE); //往復(fù)位寄存器寫(xiě)入給定值
 
 BMP_OVERSAMPLE_MODE   BMP_OVERSAMPLE_MODEStructure;
 BMP_OVERSAMPLE_MODEStructure.P_Osample = BMP280_P_MODE_3;
 BMP_OVERSAMPLE_MODEStructure.T_Osample = BMP280_T_MODE_1;
 BMP_OVERSAMPLE_MODEStructure.WORKMODE  = BMP280_NORMAL_MODE;
 BMP280_Set_TemOversamp(&BMP_OVERSAMPLE_MODEStructure);
 
 BMP_CONFIG     BMP_CONFIGStructure;
 BMP_CONFIGStructure.T_SB = BMP280_T_SB1;
 BMP_CONFIGStructure.FILTER_COEFFICIENT = BMP280_FILTER_MODE_4;
 BMP_CONFIGStructure.SPI_EN = DISABLE;
 
 BMP280_Set_Standby_FILTER(&BMP_CONFIGStructure);
}

BMP280.H

#include "myiic.h"
#include "sys.h"
//#include 

#define BMP280_ADDRESS      0xEC
//#define BMP280_ADDRESS      (0x76 << 1)
#define BMP280_RESET_VALUE     0xB6  

#define BMP280_CHIPID_REG                    0xD0  /*Chip ID Register */
#define BMP280_RESET_REG                     0xE0  /*Softreset Register */
#define BMP280_STATUS_REG                    0xF3  /*Status Register */
#define BMP280_CTRLMEAS_REG                  0xF4  /*Ctrl Measure Register */
#define BMP280_CONFIG_REG                    0xF5  /*Configuration Register */
#define BMP280_PRESSURE_MSB_REG              0xF7  /*Pressure MSB Register */
#define BMP280_PRESSURE_LSB_REG              0xF8  /*Pressure LSB Register */
#define BMP280_PRESSURE_XLSB_REG             0xF9  /*Pressure XLSB Register */
#define BMP280_TEMPERATURE_MSB_REG           0xFA  /*Temperature MSB Reg */
#define BMP280_TEMPERATURE_LSB_REG           0xFB  /*Temperature LSB Reg */
#define BMP280_TEMPERATURE_XLSB_REG          0xFC  /*Temperature XLSB Reg */

#define BMP280_MEASURING     0x01
#define BMP280_IM_UPDATE     0x08

/*calibration parameters */
#define BMP280_DIG_T1_LSB_REG                0x88
#define BMP280_DIG_T1_MSB_REG                0x89
#define BMP280_DIG_T2_LSB_REG                0x8A
#define BMP280_DIG_T2_MSB_REG                0x8B
#define BMP280_DIG_T3_LSB_REG                0x8C
#define BMP280_DIG_T3_MSB_REG                0x8D
#define BMP280_DIG_P1_LSB_REG                0x8E
#define BMP280_DIG_P1_MSB_REG                0x8F
#define BMP280_DIG_P2_LSB_REG                0x90
#define BMP280_DIG_P2_MSB_REG                0x91
#define BMP280_DIG_P3_LSB_REG                0x92
#define BMP280_DIG_P3_MSB_REG                0x93
#define BMP280_DIG_P4_LSB_REG                0x94
#define BMP280_DIG_P4_MSB_REG                0x95
#define BMP280_DIG_P5_LSB_REG                0x96
#define BMP280_DIG_P5_MSB_REG                0x97
#define BMP280_DIG_P6_LSB_REG                0x98
#define BMP280_DIG_P6_MSB_REG                0x99
#define BMP280_DIG_P7_LSB_REG                0x9A
#define BMP280_DIG_P7_MSB_REG                0x9B
#define BMP280_DIG_P8_LSB_REG                0x9C
#define BMP280_DIG_P8_MSB_REG                0x9D
#define BMP280_DIG_P9_LSB_REG                0x9E
#define BMP280_DIG_P9_MSB_REG                0x9F

typedef enum {
 BMP280_SLEEP_MODE = 0x0,
 BMP280_FORCED_MODE = 0x1, //???0x2
 BMP280_NORMAL_MODE = 0x3
} BMP280_WORK_MODE;


typedef enum 
{
 BMP280_P_MODE_SKIP = 0x0, /*skipped*/
 BMP280_P_MODE_1,   /*x1*/
 BMP280_P_MODE_2,   /*x2*/
 BMP280_P_MODE_3,   /*x4*/
 BMP280_P_MODE_4,   /*x8*/
 BMP280_P_MODE_5       /*x16*/
} BMP280_P_OVERSAMPLING; 


typedef enum {
 BMP280_T_MODE_SKIP = 0x0, /*skipped*/
 BMP280_T_MODE_1,   /*x1*/
 BMP280_T_MODE_2,   /*x2*/
 BMP280_T_MODE_3,   /*x4*/
 BMP280_T_MODE_4,   /*x8*/
 BMP280_T_MODE_5       /*x16*/
} BMP280_T_OVERSAMPLING;
         
//IIR
typedef enum {
 BMP280_FILTER_OFF = 0x0, /*filter off*/
 BMP280_FILTER_MODE_1,  /*0.223*ODR*/ /*x2*/
 BMP280_FILTER_MODE_2,  /*0.092*ODR*/ /*x4*/
 BMP280_FILTER_MODE_3,  /*0.042*ODR*/ /*x8*/
 BMP280_FILTER_MODE_4  /*0.021*ODR*/ /*x16*/
} BMP280_FILTER_COEFFICIENT;


typedef enum {
 BMP280_T_SB1 = 0x0,  /*0.5ms*/
 BMP280_T_SB2,   /*62.5ms*/
 BMP280_T_SB3,   /*125ms*/
 BMP280_T_SB4,   /*250ms*/
 BMP280_T_SB5,   /*500ms*/
 BMP280_T_SB6,   /*1000ms*/
 BMP280_T_SB7,   /*2000ms*/
 BMP280_T_SB8,   /*4000ms*/
} BMP280_T_SB;


typedef struct  
{
 /* T1~P9 */
 uint16_t T1;
 int16_t T2;
 int16_t T3;
 uint16_t P1;
 int16_t P2;
 int16_t P3;
 int16_t P4;
 int16_t P5;
 int16_t P6;
 int16_t P7;
 int16_t P8;
 int16_t P9;
} BMP280;

typedef   long signed int    BMP280_S32_t;
typedef   long unsigned int   BMP280_U32_t;
typedef   long long signed int  BMP280_S64_t;

#define dig_T1   bmp280->T1 
#define dig_T2   bmp280->T2 
#define dig_T3   bmp280->T3 
#define dig_P1   bmp280->P1
#define dig_P2   bmp280->P2
#define dig_P3   bmp280->P3
#define dig_P4   bmp280->P4
#define dig_P5   bmp280->P5
#define dig_P6   bmp280->P6
#define dig_P7   bmp280->P7
#define dig_P8   bmp280->P8
#define dig_P9   bmp280->P9
/************************************************CUT****************************************/

typedef struct
{
 BMP280_P_OVERSAMPLING P_Osample;
 BMP280_T_OVERSAMPLING T_Osample;
 BMP280_WORK_MODE  WORKMODE;
} BMP_OVERSAMPLE_MODE;
 
typedef struct
{
 BMP280_T_SB     T_SB;
 BMP280_FILTER_COEFFICIENT  FILTER_COEFFICIENT;
 FunctionalState    SPI_EN;
} BMP_CONFIG;

extern BMP280* bmp280;

u8 BMP280_Check(void);
void BMP280_Set_TemOversamp(BMP_OVERSAMPLE_MODE * Oversample_Mode);
void BMP280_Set_Standby_FILTER(BMP_CONFIG * BMP_Config);
void Bmp_Init(void);
u8  BMP280_GetStatus(u8 status_flag);
//long BMP280_Get_Pressure(void);
double BMP280_Get_Pressure(void);
double bmp280_compensate_T_double(BMP280_S32_t adc_T);
double bmp280_compensate_P_double(BMP280_S32_t adc_P);

主函數(shù)

void task2_task(void *pvParameters)
{
 double BMP_Pressure;
 Bmp_Init();

 while(1)
 {
  while(BMP280_GetStatus(BMP280_MEASURING) != RESET);
  while(BMP280_GetStatus(BMP280_IM_UPDATE) != RESET);
  BMP_Pressure = BMP280_Get_Pressure();
  printf("Pressure %f Pa \\r\\n",BMP_Pressure);
 }
}

double BMP280_Get_Pressure(void)
{
 uint8_t XLsb,Lsb, Msb;
 long signed Bit32;
 double pressure;
 XLsb = I2C_ReadOneByte(BMP280_ADDRESS,BMP280_PRESSURE_XLSB_REG);
 Lsb  = I2C_ReadOneByte(BMP280_ADDRESS,BMP280_PRESSURE_LSB_REG);
 Msb  = I2C_ReadOneByte(BMP280_ADDRESS,BMP280_PRESSURE_MSB_REG);
 Bit32 = ((long)(Msb << 12))|((long)(Lsb << 4))|(XLsb>>4); 
 pressure = bmp280_compensate_P_double(Bit32);
 return pressure;
}

double bmp280_compensate_P_double(BMP280_S32_t adc_P)
{
 double var1, var2, p;
 var1 = ((double)t_fine/2.0) - 64000.0;
 var2 = var1 * var1 * ((double)dig_P6) / 32768.0;
 var2 = var2 + var1 * ((double)dig_P5) * 2.0;
 var2 = (var2/4.0)+(((double)dig_P4) * 65536.0);
 var1 = (((double)dig_P3) * var1 * var1 / 524288.0 + ((double)dig_P2) * var1) / 524288.0;
 var1 = (1.0 + var1 / 32768.0)*((double)dig_P1);
 if (var1 == 0.0)
 {
 return 0; // avoid exception caused by division by zero
 }
 p = 1048576.0 - (double)adc_P;
 p = (p - (var2 / 4096.0)) * 6250.0 / var1;
 var1 = ((double)dig_P9) * p * p / 2147483648.0;
 var2 = p * ((double)dig_P8) / 32768.0;
 p = p + (var1 + var2 + ((double)dig_P7)) / 16.0;
 return p;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2551

    文章

    51099

    瀏覽量

    753606
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1554

    瀏覽量

    76523
  • BOSCH
    +關(guān)注

    關(guān)注

    14

    文章

    53

    瀏覽量

    54304
  • 氣壓傳感器
    +關(guān)注

    關(guān)注

    4

    文章

    136

    瀏覽量

    21079
  • BMP280
    +關(guān)注

    關(guān)注

    1

    文章

    20

    瀏覽量

    5731
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    BMP280壓力溫度傳感器的驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)

    壓力和溫度監(jiān)測(cè)在嵌入式系統(tǒng)開(kāi)發(fā)中是非常常見(jiàn)的需求,特別是對(duì)環(huán)境大氣壓力和溫度的檢測(cè)需求就更常見(jiàn)了。我們一般都會(huì)選擇一些封裝較小操作比較方便的壓力傳感器。BMP280就是滿(mǎn)足這一要求的器件。在這一篇中我們將設(shè)計(jì)并實(shí)現(xiàn)
    發(fā)表于 12-09 14:32 ?3066次閱讀
    <b class='flag-5'>BMP280</b>壓力溫度<b class='flag-5'>傳感器</b>的驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)

    【TI SimpleLink SensorTag試用體驗(yàn)】8.數(shù)字氣壓計(jì)BMP280

    本帖最后由 z***hello 于 2016-5-16 17:41 編輯 前面介紹的3個(gè)傳感器均是TI出品的低功耗傳感器,此次介紹一下Bosch出品的氣壓傳感器——
    發(fā)表于 05-15 17:28

    【Ti SimpleLink SensorTag試用體驗(yàn)】+ SensorTag BMP280氣壓傳感器服務(wù)加入

    http://www.ti.com.cn/ww/wireless_connectivity/sensortag2015/index.htmlBMP280-氣壓傳感器BMP280 是一種
    發(fā)表于 05-17 12:47

    有師傅做過(guò) bmp280 的大氣壓強(qiáng)傳感器的試驗(yàn)嗎 跪求 圖紙和代碼

    急!急!急!有師傅做過(guò) bmp280 的大氣壓強(qiáng)傳感器的試驗(yàn)嗎跪求 圖紙和代碼
    發(fā)表于 05-03 14:43

    測(cè)量BMP280氣壓傳感器有什么用呢

    測(cè)量BMP280氣壓傳感器有什么用呢?如何去編寫(xiě)BMP280氣壓傳感器的編程代碼呢?
    發(fā)表于 12-01 06:32

    通過(guò)BMP280氣壓/溫度傳感器模塊測(cè)量大氣壓和溫度

    BMP280氣壓/溫度測(cè)量一、本例程實(shí)現(xiàn)功能二、 傳感器參數(shù)配置概述三、接線圖四、完整代碼五、代碼運(yùn)行結(jié)果一、本例程實(shí)現(xiàn)功能通過(guò)BMP280氣壓
    發(fā)表于 01-07 06:40

    【RVBoards-哪吒】Lab4:大氣壓強(qiáng)傳感器BMP280

    本帖最后由 zhangyue510 于 2022-1-15 10:01 編輯 項(xiàng)目名稱(chēng):大氣壓強(qiáng)傳感器BMP280模塊代碼地址:rvboards/d1_demo: The demo
    發(fā)表于 01-15 09:50

    BOSCH氣壓傳感器BMP280數(shù)據(jù)手冊(cè)

    BOSCH氣壓傳感器BMP280數(shù)據(jù)手冊(cè)
    發(fā)表于 01-19 10:38 ?0次下載

    氣壓傳感器bmp280與ms5611哪個(gè)好

    本文開(kāi)始闡述了BMP280的定義與BMP280的應(yīng)用程序,其次闡述了MS5611的定義、MS5611參數(shù)、MS5611的分類(lèi)與典型應(yīng)用,最后詳細(xì)分析了氣壓傳感器
    發(fā)表于 03-08 09:08 ?2.6w次閱讀

    BMP280氣壓傳感器的特點(diǎn)性能及應(yīng)用

    Bosch 的 BMP280 是一種專(zhuān)為移動(dòng)應(yīng)用設(shè)計(jì)的絕對(duì)氣壓傳感器。該傳感器模塊采用極其緊湊的封裝。得益于小尺寸和低功耗特性,這種器件可用在如移動(dòng)電話(huà)、GPS 模塊或手表等電池供電型
    的頭像 發(fā)表于 05-13 15:12 ?1.9w次閱讀

    博世大氣壓計(jì)BME280BMP280資源下載

    博世大氣壓計(jì)BME280BMP280資源下載
    發(fā)表于 04-25 09:33 ?48次下載

    單片機(jī)-bmp280氣壓強(qiáng)與溫度傳感器使用詳解

    單片機(jī) BMP280氣壓強(qiáng)與溫度傳感器使用詳解 轉(zhuǎn)載:https://blog.csdn.net/sunshinebooming/article/details/79637822最近實(shí)習(xí)中一個(gè)項(xiàng)目要用到多種
    發(fā)表于 12-22 19:30 ?29次下載
    單片機(jī)-<b class='flag-5'>bmp280</b>大<b class='flag-5'>氣壓</b>強(qiáng)與溫度<b class='flag-5'>傳感器使</b>用詳解

    博世BMP280數(shù)字氣壓傳感器介紹

    BMP280是博世最新推出的數(shù)字氣壓傳感器,具有卓越的性能和低廉的價(jià)格,相對(duì)精度為±0.12 hPa(相當(dāng)于±1米),傳感器功耗僅有2.7μA,包括壓力和溫度測(cè)量功能。
    發(fā)表于 07-20 11:12 ?7686次閱讀

    BMP280壓力傳感器模塊與Arduino連接的方法

    如果您想構(gòu)建自己的溫度監(jiān)測(cè)系統(tǒng)或測(cè)量無(wú)人機(jī)的高度,或者只是想測(cè)量您所在地區(qū)的大氣壓力,那么您在項(xiàng)目中使用的最佳模塊之一就是BMP280 壓力傳感器模塊。BMP280是絕對(duì)壓力和溫度監(jiān)測(cè)
    的頭像 發(fā)表于 08-19 15:45 ?7579次閱讀
    將<b class='flag-5'>BMP280</b>壓力<b class='flag-5'>傳感器</b>模塊與Arduino連接的方法

    bmp280氣壓傳感器模塊例程

    BMP280 氣壓傳感器是一種高精度的數(shù)字氣壓傳感器,可以用于測(cè)量大氣壓力、溫度和高度。它具有低
    的頭像 發(fā)表于 12-18 13:51 ?2352次閱讀