otamesi
Dependencies: mbed
Diff: main.cpp
- Revision:
- 32:c522d463c4fa
- Parent:
- 31:1ee80995740a
- Child:
- 33:8d3757a0cd93
--- a/main.cpp Wed Dec 12 08:39:06 2018 +0000 +++ b/main.cpp Wed Dec 12 10:22:22 2018 +0000 @@ -79,7 +79,9 @@ wait(20); //確認用 - printf("GPS start\r\n"); + FILE *fp = fopen("/local/gps,foto.txt", "w"); // Open "gps.txt" on the local file system for writing + +/* printf("GPS start\r\n"); FILE *fp = fopen("/local/gps,foto.txt", "w"); // Open "gps.txt" on the local file system for writing fprintf(fp, "GPS Start\r\n"); int n; @@ -98,10 +100,10 @@ } fprintf(fp,"GPS finish\r\n"); - // fclose(fp); // GPSの測定終了 + // fclose(fp); // GPSの測定終了 */ - motorSpeed.period_ms(2); //モーター調節 - motorSpeed = 0.9; + motorSpeed.period_ms(4); //モーター調節 + motorSpeed = 0.955; compass.init(); //地磁気センサー動作 @@ -237,7 +239,7 @@ else if (test.read() == 0 and flag == 1){ //そうじゃなくて今度はとうとうtestが0でスリットの部分になった瞬間なのにスイッチが1で切れているときは flag = 0; //まずこれでスイッチを0にして入れる。 //こうすることで同じスリットの中でtestが複数回0を返した時に何回も52.5mmを加算しつづけるということがなくなる - rightrun += 54.95; //総距離runに52.5を加算する + rightrun += 56.25; //総距離runに52.5を加算する printf("test.read else\r\n"); } if (test2.read() == 1 and flag2 == 0){ @@ -246,13 +248,13 @@ } else if (test2.read() == 0 and flag2 == 1){ flag2 = 0; - leftrun2 += 54.95; + leftrun2 += 56.25; printf("test2.read else\r\n"); } printf("%f", rightrun); printf("\t%f\r\n", leftrun2); run=culculate_distance_3(rightrun,leftrun2); - if (2000<run<2100){ //半分くらい進んだら方位を計測し直す + if (15000<run && run<15050){ //半分くらい進んだら方位を計測し直す motor1.stop(0); motor2.stop(0); wait(1); @@ -282,7 +284,7 @@ } printf("searchN\r\n"); //機体が北を向く } - else if (run >= 4396){ //もし総距離が250以上ならば、というのもここの値は暫定値。とりあえずゴール地点が決まればまたその値に修正する + else if (run >= 30000){ //もし総距離が250以上ならば、というのもここの値は暫定値。とりあえずゴール地点が決まればまたその値に修正する break; //つまりゴールについたらこのループからぬける } @@ -327,7 +329,7 @@ motor1.speed(msj1); //機体を時計回りに90度回転 motorReverse(); - wait(0.4); + wait(0.5); printf("mortor rotation\r\n"); motor1.stop(0); @@ -347,7 +349,7 @@ motor1.speed(-msj1); //機体を反時計回りに90度回転 motorForward(); - wait(0.4); + wait(0.5); printf("mortor rotation\r\n"); motor1.stop(0); @@ -371,14 +373,14 @@ else if (test.read() == 0 and flag == 1) { flag=0; - rightrun += 52.5; + rightrun += 56.25; } if (test2.read() == 1 and flag2 == 0){ flag2 = 1; } else if (test2.read() == 0 and flag2 == 1){ flag2 = 0; - leftrun2 += 52.5; + leftrun2 += 56.25; } printf("%f", rightrun); printf("\t%f\r\n", leftrun2); @@ -417,7 +419,7 @@ //printf(" speed %f difference %f\r\n",speed,difference);//速度と加速度を表示 printf("speed %f diference %f\r\n",speed,difference);//速度(m)と変位を表示*/ - if (run >= 4396){ //もし総距離が250以上ならば、というのもここの値は暫定値。とりあえずゴール地点が決まればまたその値に修正する + if (run >= 300000){ //もし総距離が250以上ならば、というのもここの値は暫定値。とりあえずゴール地点が決まればまたその値に修正する break; //つまりゴールについたらこのループからぬける } @@ -436,7 +438,7 @@ motor1.speed(-msj1); //機体を反時計回りに90度回転 motorForward(); - wait(0.57); + wait(0.5); printf("mortor rotation\r\n"); motor1.stop(0); @@ -456,7 +458,7 @@ motor1.speed(msj1); //機体を時計回りに90度回転 motorReverse(); - wait(0.57); + wait(0.5); printf("mortor rotation\r\n"); motor1.stop(0);