BMP085 test

Dependencies:   mbed

Fork of bmp085_lib by Suga koubou

Committer:
khaledelmadawi
Date:
Sun Apr 05 19:17:27 2015 +0000
Revision:
2:5a2a1d891d40
Parent:
0:dbba605ca87c
Bmp085 test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:dbba605ca87c 1 #include "mbed.h"
okini3939 0:dbba605ca87c 2 #include "BMP085.h"
okini3939 0:dbba605ca87c 3
okini3939 0:dbba605ca87c 4 BMP085 bmp085(p9, p10);
okini3939 0:dbba605ca87c 5
okini3939 0:dbba605ca87c 6 DigitalOut myled(LED1);
okini3939 0:dbba605ca87c 7 Serial pc(USBTX, USBRX);
khaledelmadawi 2:5a2a1d891d40 8 float get_altitude(float pressure);
khaledelmadawi 2:5a2a1d891d40 9 Timer t;
khaledelmadawi 2:5a2a1d891d40 10 Serial xbee1(p13, p14);
okini3939 0:dbba605ca87c 11
khaledelmadawi 2:5a2a1d891d40 12 LocalFileSystem local("local"); //////setting the destination of the file that will be saved
khaledelmadawi 2:5a2a1d891d40 13 float altitude,Max_altitude,altitude_node,pressure,Temperature;
khaledelmadawi 2:5a2a1d891d40 14 int main()
khaledelmadawi 2:5a2a1d891d40 15 {
khaledelmadawi 2:5a2a1d891d40 16 pc.baud(9600);
khaledelmadawi 2:5a2a1d891d40 17 xbee1.baud(9600);
okini3939 0:dbba605ca87c 18
khaledelmadawi 2:5a2a1d891d40 19 while(1)
khaledelmadawi 2:5a2a1d891d40 20 { xbee1.printf("select any button to start operation\r\n");
khaledelmadawi 2:5a2a1d891d40 21 while(!xbee1.readable()/*||!pc.readable()*/);
khaledelmadawi 2:5a2a1d891d40 22 xbee1.getc();
khaledelmadawi 2:5a2a1d891d40 23
khaledelmadawi 2:5a2a1d891d40 24 t.reset();
khaledelmadawi 2:5a2a1d891d40 25 t.start();
khaledelmadawi 2:5a2a1d891d40 26 FILE *fp=fopen("/local/out.xls","a");
khaledelmadawi 2:5a2a1d891d40 27 bmp085.update();
khaledelmadawi 2:5a2a1d891d40 28 //Temperature=alt_sensor.get_temperature();
khaledelmadawi 2:5a2a1d891d40 29 //pressure=alt_sensor.get_pressure();
khaledelmadawi 2:5a2a1d891d40 30 altitude_node=get_altitude(bmp085.get_pressure());
khaledelmadawi 2:5a2a1d891d40 31 Max_altitude=0;
khaledelmadawi 2:5a2a1d891d40 32 while(1){
khaledelmadawi 2:5a2a1d891d40 33 if(xbee1.readable()) {
khaledelmadawi 2:5a2a1d891d40 34 xbee1.getc();
khaledelmadawi 2:5a2a1d891d40 35 break;
khaledelmadawi 2:5a2a1d891d40 36 }
khaledelmadawi 2:5a2a1d891d40 37 bmp085.update();
khaledelmadawi 2:5a2a1d891d40 38 //Temperature=alt_sensor.get_temperature();
khaledelmadawi 2:5a2a1d891d40 39 //pressure=alt_sensor.get_pressure();
khaledelmadawi 2:5a2a1d891d40 40 altitude=get_altitude(bmp085.get_pressure())-altitude_node;
khaledelmadawi 2:5a2a1d891d40 41 if(Max_altitude<altitude){
khaledelmadawi 2:5a2a1d891d40 42 Max_altitude=altitude;
khaledelmadawi 2:5a2a1d891d40 43 }
khaledelmadawi 2:5a2a1d891d40 44 xbee1.printf("altitude:%f Max_alt%f t:%f\r\n",altitude,Max_altitude,t.read());
khaledelmadawi 2:5a2a1d891d40 45 fprintf(fp,"%f \t %f \t %f \t %f \t %f\r\n",altitude,Max_altitude,pressure,Temperature,t.read());
khaledelmadawi 2:5a2a1d891d40 46 pc.printf("altitude:%f Max_alt%f t:%f\r\n",altitude,Max_altitude,t.read());
khaledelmadawi 2:5a2a1d891d40 47 }
khaledelmadawi 2:5a2a1d891d40 48 fclose(fp);
okini3939 0:dbba605ca87c 49 }
okini3939 0:dbba605ca87c 50 }
khaledelmadawi 2:5a2a1d891d40 51
khaledelmadawi 2:5a2a1d891d40 52
khaledelmadawi 2:5a2a1d891d40 53
khaledelmadawi 2:5a2a1d891d40 54 float get_altitude(float pressure){
khaledelmadawi 2:5a2a1d891d40 55 const float p0 = 1013.25; // Pressure at sea level (Pa)
khaledelmadawi 2:5a2a1d891d40 56 float altitude;
khaledelmadawi 2:5a2a1d891d40 57
khaledelmadawi 2:5a2a1d891d40 58 // Add this into loop(), after you've calculated the pressure
khaledelmadawi 2:5a2a1d891d40 59 altitude = (float)44330 * (1 - (float)pow(((double) pressure/p0), 0.190295));
khaledelmadawi 2:5a2a1d891d40 60 return altitude;
khaledelmadawi 2:5a2a1d891d40 61 }