201903_14ISEで実際に使用した開放用プログラム. 使用マイコンがNUCLES-F303K8なので注意
Dependencies: mbed Madgwick MPU6050 Kalman BMP180
main.cpp@0:0ff20d8e9090, 2016-06-07 (annotated)
- Committer:
- mikawataru
- Date:
- Tue Jun 07 05:17:35 2016 +0000
- Revision:
- 0:0ff20d8e9090
- Child:
- 1:b9ea35d93329
sample of using BMP180
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mikawataru | 0:0ff20d8e9090 | 1 | #include "mbed.h" |
mikawataru | 0:0ff20d8e9090 | 2 | #include "math.h" |
mikawataru | 0:0ff20d8e9090 | 3 | #include "BMP180.h" |
mikawataru | 0:0ff20d8e9090 | 4 | #define p0 1013.25f//海面気圧 |
mikawataru | 0:0ff20d8e9090 | 5 | |
mikawataru | 0:0ff20d8e9090 | 6 | DigitalOut myled(LED1); |
mikawataru | 0:0ff20d8e9090 | 7 | Serial pc(USBTX,USBRX); |
mikawataru | 0:0ff20d8e9090 | 8 | BMP180 bmp(PB_7, PB_6); |
mikawataru | 0:0ff20d8e9090 | 9 | Timer timer; |
mikawataru | 0:0ff20d8e9090 | 10 | |
mikawataru | 0:0ff20d8e9090 | 11 | float getAlt(float press, float temp); |
mikawataru | 0:0ff20d8e9090 | 12 | |
mikawataru | 0:0ff20d8e9090 | 13 | int main() { |
mikawataru | 0:0ff20d8e9090 | 14 | float pressure,temperature,altitude; |
mikawataru | 0:0ff20d8e9090 | 15 | float time; |
mikawataru | 0:0ff20d8e9090 | 16 | bmp.Initialize(64,BMP180_OSS_ULTRA_LOW_POWER); |
mikawataru | 0:0ff20d8e9090 | 17 | pc.printf("time, temperature ,pressure, altitude\r\n"); |
mikawataru | 0:0ff20d8e9090 | 18 | timer.start(); |
mikawataru | 0:0ff20d8e9090 | 19 | |
mikawataru | 0:0ff20d8e9090 | 20 | while(1) { |
mikawataru | 0:0ff20d8e9090 | 21 | bmp.ReadData(&temperature,&pressure); |
mikawataru | 0:0ff20d8e9090 | 22 | altitude = getAlt(pressure,temperature); |
mikawataru | 0:0ff20d8e9090 | 23 | time = timer.read(); |
mikawataru | 0:0ff20d8e9090 | 24 | pc.printf("%f, %f, %f, %f \r\n",time, temperature, pressure, altitude); |
mikawataru | 0:0ff20d8e9090 | 25 | myled =! myled; |
mikawataru | 0:0ff20d8e9090 | 26 | wait(1); |
mikawataru | 0:0ff20d8e9090 | 27 | } |
mikawataru | 0:0ff20d8e9090 | 28 | } |
mikawataru | 0:0ff20d8e9090 | 29 | |
mikawataru | 0:0ff20d8e9090 | 30 | float getAlt(float press, float temp){ |
mikawataru | 0:0ff20d8e9090 | 31 | return (pow((p0/press), (1.0f/5.257f))-1.0f)*(temp+273.15f)/0.0065f; |
mikawataru | 0:0ff20d8e9090 | 32 | } |