最近要用一下GY89,GY89有三個模塊,溫度壓強、加速度計、陀螺儀。通過不同的片選信號來選擇。
mbed庫上都寫好了,挺好的。
以下是自己的代碼:
#include "mbed.h"
#include "BMP180.h"//溫度壓強
#include "L3GD20.h"//三軸陀螺儀
#include "LSM303DLH.h"//加速度計
#include "vector.h"//加速度計的向量類 包含xyz
//片選信號的引腳 默認使用BMP180 片選信號為10時使用L3GD20 片選信號為01時使用LSM303D
DigitalOut cs1(PC_2);
DigitalOut cs2(PC_3);
int main()
{
/****************使用BMP180獲取溫度和壓強***************************/
BMP180 bmp180(PB_9, PB_8);//實例化bmp180
float pressure, temperature;//用這兩個變量存儲獲取到的壓強和溫度
bmp180.Initialize(64, BMP180_OSS_ULTRA_LOW_POWER);//初始化
while(1)
{
//bmp180獲取數據
if (bmp180.ReadData(&temperature, &pressure)){
//將獲得的數據輸出到終端
printf("溫度: %f\n",temperature);
printf("壓強: %f\n",pressure);
}
wait(1);
}
/*****************使用BMP180獲取溫度和壓強***************************/
}
就是這個東西

試了一下室外,室內的數據,還是蠻准確的。


