玩轉X-CTR100 l STM32F4 l BMP280氣壓計傳感器


我造輪子,你造車,創客一起造起來!塔克創新資訊【塔克社區 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/

    

本文介紹X-CTR100控制器 擴展BMP280氣壓計傳感器,模塊型號為GY-BM E/P280,淘寶上可以買到。

氣壓計可用於海拔高度測量,常用於無人機中,實現定高功能。

原理

BMP280是一款絕對的氣壓傳感器,專為移動應用而設計。傳感器模塊采用極其緊湊的封裝。其小尺寸和低功耗允許在諸如移動電話,GPS模塊或手表的電池供電設備中實現。

作為其前身BMP180,BMP280基於博世經過驗證的壓阻式壓力傳感器技術,具有高精度和線性度以及長期穩定性和高EMC穩健性。眾多器件操作選項提供了最高的靈活性,可針對功耗,分辨率和濾波器性能優化器件。為開發人員提供了一組經過測試的默認設置(例如用例),以便盡可能簡化設計。

應用

- 增強GPS導航(例如,時間改進,航位推算,斜率檢測)

- 室內導航(樓層檢測,電梯檢測)

- 戶外導航,休閑和運動應用

- 天氣預報

- 醫療保健應用(例如肺活量測定法)

- 垂直速度指示(例如上升/下降速度)

引腳說明:

Pin1:VCC(3.3V供電)

Pin2:GND

Pin3:SCL(I2C通信模式時鍾信號)

Pin4:SDA(I2C通信模式數據信號)

Pin5:CSB(SPI通信模式下用到的引腳,本次沒用到,可以懸空)

Pin6:SDO(傳感器地址控制位,接GND的時候I2C中器件地址為0xEC,接高電平為0xEC+ 1,本次接GND)

傳感器測試范圍:

溫度:-45℃~+85℃

大氣壓強:0~20000hPa(百帕)

測量主要模式:

Sleep Mode:作電流達到uA級別,典型值為0.1uA,最大值為0.3uA,所有測量工作都停止。

Normal Mode: 正常工作,相關工作間隔時間可以通過寄存器控制。

Forced Mode:主控發起一次采集命令,傳感器采集一次信號,然后進入Sleep Mode,等待下次喚起(本次沒用到)。

BMP280傳感器內部所有寄存器及其地址如下圖所示,更詳細說明,請參考數據手冊。

例程

初始化BMP180,采集氣壓值和溫度數據並輸出顯示。

硬件說明

硬件資源:

  • 串口UART1
  • LF接口(IIC2接口)
  • 擴展模塊BMP180氣壓計(需自備)

硬件連接:

模塊連接到LF IIC2接口,連接如下圖所示。

    

軟件生態

X-SOFT軟件生態,X-API文件如下。

ax_bmp280.c——X-CTR100 擴展BMP280氣壓計源文件

ax_bmp280.h——X-CTR100 擴展BMP280氣壓計頭文件

操作函數如下:

uint8_t AX_BMP280_Init(void); //BMP280傳感器初始化

uint32_t AX_BMP280_GetPressure(void);    //BMP280獲取氣壓值

uint32_t AX_BMP280_GetTemperature(void);    //BMP280獲取溫度值

軟件說明

主程序代碼如下。

int main(void)

{

    uint32_t temp, press;

 

    //X-CTR100初始化

    AX_Init(115200);

    printf("***X-CTR100 BMP280氣壓傳感器例程***\r\n\r\n");

 

    //模塊初始化及配置

    AX_BMP280_Init();

 

    while (1)

    {

        press = AX_BMP280_GetPressure();

        temp = AX_BMP280_GetTemperature();

 

        printf("壓力值:%d(0.1Pa) 溫度:%d (0.01℃)\r\n", press, temp);

 

        AX_Delayms(1000);

        AX_LEDG_Toggle();

    }

}

實現效果

運行效果如下圖所示。

    

參考

https://blog.csdn.net/sunshinebooming/article/details/79637822


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM