我造輪子,你造車,創客一塊兒造起來!塔克創新資訊【塔克社區 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/ 】 性能優化
本文介紹X-CTR100控制器 擴展BMP280氣壓計傳感器,模塊型號爲GY-BM E/P280,淘寶上能夠買到。 函數
氣壓計可用於海拔高度測量,經常使用於無人機中,實現定高功能。 性能
BMP280是一款絕對的氣壓傳感器,專爲移動應用而設計。傳感器模塊採用極其緊湊的封裝。其小尺寸和低功耗容許在諸如移動電話,GPS模塊或手錶的電池供電設備中實現。 測試
做爲其前身BMP180,BMP280基於博世通過驗證的壓阻式壓力傳感器技術,具備高精度和線性度以及長期穩定性和高EMC穩健性。衆多器件操做選項提供了最高的靈活性,可針對功耗,分辨率和濾波器性能優化器件。爲開發人員提供了一組通過測試的默認設置(例如用例),以便儘量簡化設計。 優化
應用 ui
- 加強GPS導航(例如,時間改進,航位推算,斜率檢測) spa
- 室內導航(樓層檢測,電梯檢測) .net
- 戶外導航,休閒和運動應用 設計
- 天氣預報 3d
- 醫療保健應用(例如肺活量測定法)
- 垂直速度指示(例如上升/降低速度)
引腳說明:
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,採集氣壓值和溫度數據並輸出顯示。
硬件資源:
硬件鏈接:
模塊鏈接到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