2017.11伊豆大島共同打ち上げ実験の開放用プログラム

Dependencies:   BMP180 MPU6050 mbed

Fork of Sample_BMP180 by CORE

Committer:
mikawataru
Date:
Mon Oct 10 11:21:32 2016 +0000
Revision:
1:b9ea35d93329
Parent:
0:0ff20d8e9090
Child:
2:6238109d564d
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mikawataru 1:b9ea35d93329 1 /*
mikawataru 1:b9ea35d93329 2 説明
mikawataru 1:b9ea35d93329 3 Nucleo-F303K8とBMP180を使った気温・気圧・高度計算のサンプルプログラム
mikawataru 1:b9ea35d93329 4
mikawataru 1:b9ea35d93329 5 ライブラリ
mikawataru 1:b9ea35d93329 6 https://developer.mbed.org/users/spiridion/code/BMP180/
mikawataru 1:b9ea35d93329 7
mikawataru 1:b9ea35d93329 8 以下ピン配置
mikawataru 1:b9ea35d93329 9 Nucleo BMP180
mikawataru 1:b9ea35d93329 10 GND-----GND-------0V
mikawataru 1:b9ea35d93329 11 +3V3----VIN
mikawataru 1:b9ea35d93329 12 D4------SDA
mikawataru 1:b9ea35d93329 13 D5------SCL
mikawataru 1:b9ea35d93329 14
mikawataru 1:b9ea35d93329 15 */
mikawataru 0:0ff20d8e9090 16 #include "mbed.h"
mikawataru 0:0ff20d8e9090 17 #include "math.h"
mikawataru 0:0ff20d8e9090 18 #include "BMP180.h"
mikawataru 0:0ff20d8e9090 19 #define p0 1013.25f//海面気圧
mikawataru 0:0ff20d8e9090 20
mikawataru 0:0ff20d8e9090 21 DigitalOut myled(LED1);
mikawataru 0:0ff20d8e9090 22 Serial pc(USBTX,USBRX);
mikawataru 0:0ff20d8e9090 23 BMP180 bmp(PB_7, PB_6);
mikawataru 0:0ff20d8e9090 24 Timer timer;
mikawataru 0:0ff20d8e9090 25
mikawataru 0:0ff20d8e9090 26 float getAlt(float press, float temp);
mikawataru 0:0ff20d8e9090 27
mikawataru 0:0ff20d8e9090 28 int main() {
mikawataru 0:0ff20d8e9090 29 float pressure,temperature,altitude;
mikawataru 0:0ff20d8e9090 30 float time;
mikawataru 0:0ff20d8e9090 31 bmp.Initialize(64,BMP180_OSS_ULTRA_LOW_POWER);
mikawataru 0:0ff20d8e9090 32 pc.printf("time, temperature ,pressure, altitude\r\n");
mikawataru 0:0ff20d8e9090 33 timer.start();
mikawataru 0:0ff20d8e9090 34
mikawataru 0:0ff20d8e9090 35 while(1) {
mikawataru 0:0ff20d8e9090 36 bmp.ReadData(&temperature,&pressure);
mikawataru 0:0ff20d8e9090 37 altitude = getAlt(pressure,temperature);
mikawataru 0:0ff20d8e9090 38 time = timer.read();
mikawataru 0:0ff20d8e9090 39 pc.printf("%f, %f, %f, %f \r\n",time, temperature, pressure, altitude);
mikawataru 0:0ff20d8e9090 40 myled =! myled;
mikawataru 0:0ff20d8e9090 41 wait(1);
mikawataru 0:0ff20d8e9090 42 }
mikawataru 0:0ff20d8e9090 43 }
mikawataru 0:0ff20d8e9090 44
mikawataru 0:0ff20d8e9090 45 float getAlt(float press, float temp){
mikawataru 0:0ff20d8e9090 46 return (pow((p0/press), (1.0f/5.257f))-1.0f)*(temp+273.15f)/0.0065f;
mikawataru 0:0ff20d8e9090 47 }