cansat
Dependencies: SDFileSystem mbed
Diff: main.cpp
- Revision:
- 4:840a96a81c08
- Parent:
- 3:6ea7473e7072
- Child:
- 5:85c3dff1be3f
--- a/main.cpp Mon Feb 29 14:39:34 2016 +0000 +++ b/main.cpp Mon Feb 29 15:07:08 2016 +0000 @@ -42,65 +42,67 @@ wait(60);//焼き切り時間 } -void moter() { +void moter() +{ while(ido_gosa >= 10 && ido_gosa >= 10) { a=50; - {gpsc[a]= gp.getc(); - pc.printf("%c",gpsc[a]);//確認用 要削除 + gpsc[a]= gp.getc(); - if(gpsc[a-34]=='A') - {if(gpsc[a-33]=='G') - {if(gpsc[a-32]=='G') - { - old_ido=ido; - old_kei=kei; - ido=gpsc[a-16]*1000+gpsc[a-15]*100+gpsc[a-14]*10+gpsc[a-13]; - kei=gpsc[a-3]*1000+gpsc[a-2]*100+gpsc[a-1]*10+gpsc[a]; - pc.printf("***%d***%d***",ido,kei);// 要削除 + if(gpsc[a-34]=='A')//GPGGAを見つける + { + if(gpsc[a-33]=='G') + { + if(gpsc[a-32]=='G') + { + old_ido=ido; + old_kei=kei; + ido=gpsc[a-16]*1000+gpsc[a-15]*100+gpsc[a-14]*10+gpsc[a-13]; + kei=gpsc[a-3]*1000+gpsc[a-2]*100+gpsc[a-1]*10+gpsc[a]; - if(a>=50) - {a=25;} - }}} + if(a>=50) + {a=25;}}}} + + moter_l.period(0.02); // 周期 + moter_r.period(0.02); + moter_l.pulsewidth(0.08); //パルス幅 + moter_r.pulsewidth(0.08); - moter_l.period(0.02); // 周期 - moter_r.period(0.02); - moter_l.pulsewidth(0.08); // servo position determined by a pulsewidth between 1-2ms - moter_r.pulsewidth(0.08); //パルス幅 - - while(kei_gosa >=10 || ido_gosa >=10)//先ず経度or緯度をあわせる - { moter_l.pulsewidth(0.10); - moter_r.pulsewidth(0.08); - wait(5); //方向転換90° 要設定 - moter_l.pulsewidth(0.08); - moter_r.pulsewidth(0.08); - wait(10); //gpsの変化待ち + while(kei_gosa >=10 || ido_gosa >=10)//先ず経度or緯度をあわせる + { moter_l.pulsewidth(0.10); + moter_r.pulsewidth(0.08); + wait(5); //方向転換90° 要設定 + moter_l.pulsewidth(0.08); + moter_r.pulsewidth(0.08); + wait(10); //gpsの変化待ち - if(kei_gosa >=10 || ido_gosa >=10) - continue; // 方向転換をやりなおす - } + if(kei_gosa >=10 || ido_gosa >=10) + continue; // 方向転換をやりなおす + } - while(kei_gosa >=10 || ido_gosa >=10) - { moter_l.pulsewidth(0.08); - moter_r.pulsewidth(0.08); - if(kei_gosa >=10 || ido_gosa >=10) - continue; // 進み続ける - } + while(kei_gosa >=10 || ido_gosa >=10) + { moter_l.pulsewidth(0.08); + moter_r.pulsewidth(0.08); + if(kei_gosa >=10 || ido_gosa >=10) + continue; // 進み続ける + } + + } moter_l.pulsewidth(0.0); moter_r.pulsewidth(0.0); - } -}} + +} int main() { janpa1=1; gp.baud(9600); timer.attach(&gps_kakiko, 2.0);//割り込み - if(janpa2==0){//パラシュートが開き、ジャンパピンが抜けたらスタート - + if(janpa2==0)//パラシュートが開き、ジャンパピンが抜けたらスタート + { wait(60);//落下中 要設定 nikuromu(); moter();