201903_14ISEで実際に使用した開放用プログラム. 使用マイコンがNUCLES-F303K8なので注意
Dependencies: mbed Madgwick MPU6050 Kalman BMP180
Diff: main.cpp
- Revision:
- 14:f932a8a297ff
- Parent:
- 13:3e6411bfd581
- Child:
- 15:a47cf038d601
--- a/main.cpp Mon Mar 11 09:30:01 2019 +0000 +++ b/main.cpp Wed Mar 13 07:28:08 2019 +0000 @@ -52,6 +52,8 @@ float time_judge; int cnt_data=0,cnt_judge=0; float t = 0; + float t_hour = 0; + float t_send = 0; /*センサの初期化等*/ pc.baud(38400); mpu.setAcceleroRange(3); @@ -79,14 +81,24 @@ case STANDBY: /*サーボ入力待ち*/ //servo(); - c[0]=pc.getc(); + if(pc.readable()){ + c[0]=pc.getc(); + } + t = timer_data.read(); + if(t > 1800){ + t_hour =+ 1800; + timer_data.reset(); + } + t = t + t_hour; + t = t/60.0; + if(c[0] == 'o'){ myled = 1; servo1.pulsewidth(0.0006);//open servo2.pulsewidth(0.0015);//open mpu.getAccelero(acc); //pc.printf("OPEN:%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0))); - pc.printf("0,%f,%f,0,%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)),(acc[1]/9.81),timer_data.read()); + pc.printf("0,%f,%f,0,%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)),(acc[1]/9.81),t); } if(c[0] == 'l'){ myled = 0; @@ -94,7 +106,7 @@ servo2.pulsewidth(0.0006); mpu.getAccelero(acc); //pc.printf("LOCK:%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0))); - pc.printf("0,%f,%f,0,%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)),(acc[1]/9.81),timer_data.read()); + pc.printf("0,%f,%f,0,%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)),(acc[1]/9.81),t); } if(c[0] == 'f'){ //pc.printf("flight_mode\r\n"); @@ -185,7 +197,7 @@ wait(0.1); servo1.pulsewidth(0.0006);//open servo2.pulsewidth(0.0015);//open - pc.printf("9,0,0,0,0\r\n"); + pc.printf("9,0,0,0,%d\r\n",cnt_judge); wait(0.5); tic_gps.attach(&_SendGPS, 1.0/RATE_GPS); } @@ -270,7 +282,7 @@ break; }else{ //pc.printf("%s\r\n",gps_data); - pc.printf("NoGPSSignal\r\n"); + //pc.printf("NoGPSSignal\r\n"); break; } }else{