主導機 mbed用のプログラムです 改良しました
Dependencies: mbed
Fork of F3RC_syudou_master_3 by
Diff: User.cpp
- Revision:
- 23:33a40d8c0535
- Parent:
- 22:e88dd3acec2b
- Child:
- 24:3610bcb8e275
--- a/User.cpp Wed Aug 23 16:41:56 2017 +0000 +++ b/User.cpp Thu Aug 24 03:52:13 2017 +0000 @@ -30,9 +30,9 @@ double fai=60;//φ //個体差で出力調整 -double power_f=0.8; -double power_l=0.8; -double power_r=0.8; +double power_f=0.2; +double power_l=0.2; +double power_r=0.2; double M1; double M2; @@ -86,12 +86,12 @@ { spi.format(8,3); spi.frequency(1000000); - motor_f_1.period_us(50); - motor_f_2.period_us(50); - motor_l_1.period_us(50); - motor_l_2.period_us(50); - motor_r_1.period_us(50); - motor_r_2.period_us(50); + motor_f_1.period_us(100); + motor_f_2.period_us(100); + motor_l_1.period_us(100); + motor_l_2.period_us(100); + motor_r_1.period_us(100); + motor_r_2.period_us(100); } @@ -200,35 +200,13 @@ sita=0; } else { - if(LSX>=center && LSX<=255 && LSY>=center && LSY<=255) { //第四象限 - sita = -1.0*(atan2((double)LSY-center,(double)LSX-center))*180/Pi; - sita_2=90-sita; - M1=sin((sita_2-(fai+0))*Pi/180)*power_f; - M2=sin((sita_2-(fai+240))*Pi/180)*power_l; - M3=sin((sita_2-(fai+120))*Pi/180)*power_r; - motor_act(); - } else if(LSX>=0 && LSX<=center && LSY>=center && LSY<=255) { //第三象限 sita = -1.0*(atan2((double)LSY-center,(double)LSX-center))*180/Pi; sita_2=90-sita; M1=sin((sita_2-(fai+0))*Pi/180)*power_f; M2=sin((sita_2-(fai+240))*Pi/180)*power_l; M3=sin((sita_2-(fai+120))*Pi/180)*power_r; motor_act(); - } else if(LSX>=0 && LSX<=center && LSY>=0 && LSY<=center) { //第二象限 - sita = -1.0*(atan2((double)LSY-center,(double)LSX-center))*180/Pi; - sita_2=90-sita; - M1=sin((sita_2-(fai+0))*Pi/180)*power_f; - M2=sin((sita_2-(fai+240))*Pi/180)*power_l; - M3=sin((sita_2-(fai+120))*Pi/180)*power_r; - motor_act(); - } else if(LSX>=center && LSX<=255 && LSY>=0 && LSY<=center) { //第一象限 - sita = -1.0*(atan2((double)LSY-center,(double)LSX-center))*180/Pi; - sita_2=90-sita; - M1=sin((sita_2-(fai+0))*Pi/180)*power_f; - M2=sin((sita_2-(fai+240))*Pi/180)*power_l; - M3=sin((sita_2-(fai+120))*Pi/180)*power_r; - motor_act(); - } + } //真っすぐだけのプログラム(いらない) /*else if(LSX==255) { @@ -264,7 +242,7 @@ motor_act(); } */ - } +