otamesi
Dependencies: mbed
Diff: main.cpp
- Revision:
- 39:a0c63ae63c99
- Parent:
- 38:d3b7fda44f72
- Child:
- 40:d0b0d2a26cac
diff -r d3b7fda44f72 -r a0c63ae63c99 main.cpp --- a/main.cpp Sat Dec 15 15:54:39 2018 +0000 +++ b/main.cpp Sat Dec 15 17:10:52 2018 +0000 @@ -119,9 +119,9 @@ // fclose(fp); // GPSの測定終了 */ motorSpeedR.period_ms(4); //モーター調節 - motorSpeedR = 0.955; + motorSpeedR = 0.255; motorSpeedL.period_ms(4); //モーター調節 - motorSpeedL = 0.755; + motorSpeedL = 0.255; compass.init(); //地磁気センサー動作 @@ -203,9 +203,9 @@ //スリットの間隔であるπ/4とタイヤの半径70mmつまり一つのスリットを通過するごとに52.5mm加算していく必要があるから //0になった瞬間はこれを総距離に加えるというスイッチの役割をする。 float rightrun; //変数runをフロートで型づけする - float leftrun2; + float leftrun; rightrun=0.0; - leftrun2=0.0; + leftrun=0.0; int accel[3];//accelを3つの配列で定義。*/ @@ -244,12 +244,12 @@ } else if (test2.read() == 0 and flag2 == 1){ flag2 = 0; - leftrun2 += 56.5625; + leftrun += 56.5625; printf("test2.read else\r\n"); } - printf("%f", leftrun2); - printf("\t%f\r\n", rightrun); - run=culculate_distance_3(rightrun,leftrun2); + printf("%f %f", leftrun,leftrun/452.5); + printf("\t%f %f\r\n", rightrun,rightrun/452.5); + run=culculate_distance_3(rightrun,leftrun); if(5000< run && run<5050 && k!=1){//中間地点で北を向きなおす motorStopR(); motorStopL(); @@ -306,7 +306,7 @@ wait(0.01); - fprintf(fp,"%5d, %5d, %5d, %8lf, %8lf\r\n", x, y, z, leftrun2, rightrun);//加速度とフォトインタラプタによる距離を出力 + fprintf(fp,"%5d, %5d, %5d, %8lf, %8lf\r\n", x, y, z, leftrun, rightrun);//加速度とフォトインタラプタによる距離を出力 if(450 < distance && distance < 550) //障害物発見 { @@ -378,18 +378,18 @@ } else if (test2.read() == 0 and flag2 == 1){ flag2 = 0; - leftrun2 += 56.5625; + leftrun += 56.5625; } - printf("%f", leftrun2); + printf("%f", leftrun); printf("\t%f\r\n", rightrun); mpu.readAccelData(accel);//加速度の値をaccel[3]に代入 - int x = accel[0]-123;//x軸方向の加速度 - int y = accel[1]+60;//y軸方向の加速度 - int z = accel[2]+1110 ;//z軸方向の加速度 - fprintf(fp,"%5d, %5d, %5d, %8lf, %8lf\r\n", x, y, z, leftrun2, rightrun);//加速度とフォトインタラプタによる距離を出力 + int x = accel[0] - 123;//x軸方向の加速度 + int y = accel[1] + 60;//y軸方向の加速度 + int z = accel[2] + 1110 ;//z軸方向の加速度 + fprintf(fp,"%5d, %5d, %5d, %8lf, %8lf\r\n", x, y, z, leftrun, rightrun);//加速度とフォトインタラプタによる距離を出力 if (run >= 10000){ //もし総距離が250以上ならば、というのもここの値は暫定値。とりあえずゴール地点が決まればまたその値に修正する break; //つまりゴールについたらこのループからぬける @@ -473,7 +473,7 @@ fprintf(fp, "last photo\r\n"); fprintf(fp,"(%lf)\r\n", run);//最後の加速度とフォトインタラプタによる距離を出力 fprintf(fp, "last left.right\r\n"); - fprintf(fp,"(%lf, %lf)\r\n", leftrun2, rightrun); + fprintf(fp,"(%lf, %lf)\r\n", leftrun, rightrun); fclose(fp);