shit

Dependencies:   mbed

Committer:
naruu
Date:
Sat Nov 28 12:20:52 2020 +0000
Revision:
0:617cc23cd899
shit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
naruu 0:617cc23cd899 1 #include "mbed.h"
naruu 0:617cc23cd899 2 #include "BMP180.h"
naruu 0:617cc23cd899 3 #include <math.h>
naruu 0:617cc23cd899 4 #include <stdio.h>
naruu 0:617cc23cd899 5
naruu 0:617cc23cd899 6 #define PIN_SDA D4
naruu 0:617cc23cd899 7 #define PIN_SCL D5
naruu 0:617cc23cd899 8 Serial pc(SERIAL_TX,SERIAL_RX,921600);
naruu 0:617cc23cd899 9 Serial xbee(D1,D0);
naruu 0:617cc23cd899 10 DigitalOut FET(D9);
naruu 0:617cc23cd899 11 DigitalIn flight(D6);
naruu 0:617cc23cd899 12 DigitalOut SW(D7);
naruu 0:617cc23cd899 13
naruu 0:617cc23cd899 14
naruu 0:617cc23cd899 15 int main(){
naruu 0:617cc23cd899 16 float x8;
naruu 0:617cc23cd899 17 FET=0;
naruu 0:617cc23cd899 18 SW=1;
naruu 0:617cc23cd899 19 flight==1;
naruu 0:617cc23cd899 20
naruu 0:617cc23cd899 21 myled=1;
naruu 0:617cc23cd899 22
naruu 0:617cc23cd899 23 while(1) {
naruu 0:617cc23cd899 24 if(flight==1) {
naruu 0:617cc23cd899 25 wait(10);
naruu 0:617cc23cd899 26 }
naruu 0:617cc23cd899 27
naruu 0:617cc23cd899 28 else{
naruu 0:617cc23cd899 29 if(flight==1) {
naruu 0:617cc23cd899 30 wait(10);
naruu 0:617cc23cd899 31 }
naruu 0:617cc23cd899 32 else{
naruu 0:617cc23cd899 33 myled=0;
naruu 0:617cc23cd899 34 SW = 0;
naruu 0:617cc23cd899 35 printf("こんにちわ!");
naruu 0:617cc23cd899 36 break;
naruu 0:617cc23cd899 37 }
naruu 0:617cc23cd899 38
naruu 0:617cc23cd899 39
naruu 0:617cc23cd899 40
naruu 0:617cc23cd899 41 }
naruu 0:617cc23cd899 42 }
naruu 0:617cc23cd899 43 BMP180 bmp180(PIN_SDA,PIN_SCL);
naruu 0:617cc23cd899 44 float pressure,temperature,altitude;
naruu 0:617cc23cd899 45 xbee.printf("\rstart!\n\r");
naruu 0:617cc23cd899 46 bmp180.Initialize(27,BMP180_OSS_ULTRA_HIGH_RESOLUTION);//27は府大の海抜高度
naruu 0:617cc23cd899 47 xbee.printf("initialization complete!\n\r");
naruu 0:617cc23cd899 48
naruu 0:617cc23cd899 49 while(1){
naruu 0:617cc23cd899 50 if(bmp180.ReadData(&temperature,&pressure)){
naruu 0:617cc23cd899 51 float x4,x5,x6,x7,a,b;
naruu 0:617cc23cd899 52 a = pressure;
naruu 0:617cc23cd899 53 b = temperature;
naruu 0:617cc23cd899 54 x4 = 1019.11 / a; //海面気圧を気圧でわる
naruu 0:617cc23cd899 55 x5 = powf(x4, 0.1902225); //5.257ぶんの1
naruu 0:617cc23cd899 56 x6 = 273.15 + b; //絶対温度
naruu 0:617cc23cd899 57 x7 = (x5 - 1) * x6;
naruu 0:617cc23cd899 58 x8 = x7 / 0.0065;
naruu 0:617cc23cd899 59 altitude = x8;
naruu 0:617cc23cd899 60
naruu 0:617cc23cd899 61
naruu 0:617cc23cd899 62 xbee.printf("Altitude(m)\t:%.3f\n\r",altitude);
naruu 0:617cc23cd899 63 xbee.printf("--------------------------------\n\r");
naruu 0:617cc23cd899 64 wait(1);
naruu 0:617cc23cd899 65 break;
naruu 0:617cc23cd899 66 }else{
naruu 0:617cc23cd899 67 xbee.printf("NO DATA\n\r");
naruu 0:617cc23cd899 68 xbee.printf("---------------------------\n\r");
naruu 0:617cc23cd899 69 wait(1);
naruu 0:617cc23cd899 70 }
naruu 0:617cc23cd899 71 }
naruu 0:617cc23cd899 72 while(i<10){
naruu 0:617cc23cd899 73 if(bmp180.ReadData(&temperature,&pressure)){
naruu 0:617cc23cd899 74 float y4,y5,y6,y7,y8,c,d;
naruu 0:617cc23cd899 75 float speed;
naruu 0:617cc23cd899 76
naruu 0:617cc23cd899 77 c = pressure;
naruu 0:617cc23cd899 78 d = temperature;
naruu 0:617cc23cd899 79 y4 = 1019.11 / c; //海面気圧を気圧でわる
naruu 0:617cc23cd899 80 y5 = powf(y4,0.1902225);
naruu 0:617cc23cd899 81 y6 = 273.15 + d;
naruu 0:617cc23cd899 82 y7 = (y5 - 1) * y6;
naruu 0:617cc23cd899 83 y8 = y7 / 0.0065;
naruu 0:617cc23cd899 84 altitude = y8;
naruu 0:617cc23cd899 85 speed = (x8 - y8)/1;
naruu 0:617cc23cd899 86
naruu 0:617cc23cd899 87 xbee.printf("Altitude(m)\t:%.3f\n\r",altitude);
naruu 0:617cc23cd899 88 xbee.printf("Speed(m/s)\t:%.3f\n\r",speed);
naruu 0:617cc23cd899 89 xbee.printf("--------------------------------\n\r");
naruu 0:617cc23cd899 90 x8 = y8;
naruu 0:617cc23cd899 91 wait(1);
naruu 0:617cc23cd899 92 i++;
naruu 0:617cc23cd899 93 if(speed<=0){
naruu 0:617cc23cd899 94 break;
naruu 0:617cc23cd899 95 }}
naruu 0:617cc23cd899 96 else{
naruu 0:617cc23cd899 97 xbee.printf("NO DATA\n\r");
naruu 0:617cc23cd899 98 wait(1);
naruu 0:617cc23cd899 99 }
naruu 0:617cc23cd899 100 }
naruu 0:617cc23cd899 101 FET=1;
naruu 0:617cc23cd899 102 wait(20);
naruu 0:617cc23cd899 103 FET=0;
naruu 0:617cc23cd899 104 return 0;
naruu 0:617cc23cd899 105 }