Dependencies: PID Serialservo TCS3200 XQ_servo encoder encoder2 mbed moter
Fork of nhk_2018_undercarry_test09 by
Revision 10:01aa50804d85, committed 2018-04-15
- Comitter:
- kenken0721
- Date:
- Sun Apr 15 00:36:15 2018 +0000
- Parent:
- 9:0c1fce6d8094
- Commit message:
Changed in this revision
config.h | Show annotated file Show diff for this revision Revisions of this file |
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 0c1fce6d8094 -r 01aa50804d85 config.h --- a/config.h Sun Apr 08 09:56:29 2018 +0000 +++ b/config.h Sun Apr 15 00:36:15 2018 +0000 @@ -1,37 +1,60 @@ + +//機体のモーター出力 #define POWER 0.3 -#define sda PB_9 -#define scl PB_8 + +//PID値 +//STRAIGHT #define SP 0.02 #define SI 0.00 #define SD 0.001 +//RIGHT #define RP 0.021 #define RI 0.000 #define RD 0.001 +//LEFT #define LP 0.02 #define LI 0.00 #define LD 0.0015 -#define X_STOP_DIST 1.3 -#define X_STOP_DIST_2 7.5 -#define X_STOP_DIST_3 4.0 -#define X_STOP_DIST_4 3.5 -#define Y_STOP_DIST 1.5 -#define addr1 0x24 -#define addr2 0x10 -#define addr3 0x64 + +//エンコーダーによる距離指定停止時の値 +#define X_STOP_DIST 1.3//通常停止x軸 +#define X_STOP_DIST_2 7.5//受け取り位置での停止 +#define X_STOP_DIST_3 4.0// +#define X_STOP_DIST_4 3.5// +#define Y_STOP_DIST 1.5//通常停止y軸 -#define koshi_uke_degree 153 -#define koshi_nage_degree 60 -#define koshi_red_nage_degree 70 -#define koshi_blue_nage_degree 69 +//I2Cのピン番号 +#define sda PB_9 +#define scl PB_8 +//ライントレースモジュールのID +#define addr1 0x24//STRAIGHT +#define addr2 0x10//RIGHT +#define addr3 0x64//LEFT + +//腰こ +#define koshi_uke_degree 153//初期位置、受け取り位置 +#define koshi_nage_degree 60//黄色投てき +#define koshi_red_nage_degree 72//赤色投てき +#define koshi_blue_nage_degree 69//青色投てき + +//アームの肘 #define hiji_uke_degree 225 -#define hiji_tsukami_degree 230 -#define hiji_yellow_uke_degree 237 -#define hiji_nage_degree 270 -#define hand_uke_degree 1.0 -#define hand_tsukami_degree 0.0 +#define hiji_tsukami_degree 230//赤、青を受け取る際の角度 +#define hiji_yellow_uke_degree 237//ラックから受け取る際の角度 +#define hiji_nage_degree 270//投てき時退避位置 +//アームの手 +#define hand_uke_degree 1.0//受け取り前 +#define hand_tsukami_degree 0.0//受け取り時 + +//アーム角度 +#define SYOKIITI 168 +#define YELLOW_SYOKIITI 165 +#define RED_TOUTEKI 190//赤投てき +#define BLUE_TOUTEKI 195//青投てき +#define YELLOW_TOUTEKI 184//黄色投てき #define STRAIGHT 1 #define BACK 2
diff -r 0c1fce6d8094 -r 01aa50804d85 main.cpp --- a/main.cpp Sun Apr 08 09:56:29 2018 +0000 +++ b/main.cpp Sun Apr 15 00:36:15 2018 +0000 @@ -132,7 +132,7 @@ master.frequency(100000); lamp = 1.0; //-------初期化------------------------------------------------- - syokikanomai(); + syokikanomai();//初期位置 buzzer = 0; //-----------メインループ---------------------------------------- while (true) { @@ -149,12 +149,14 @@ x_dist = Enc_Carry_X.read_rotate(); y_dist = Enc_Carry_Y.read_rotate(); + + //PCからの命令 kbtpc.putc(state); if(kbtpc.readable()){ kbtread = kbtpc.getc(); } if(kbtread == 255){ - mode = true; + mode = true;// }else if(kbtread == 150){ mode = false; }else if(kbtread == 100){ @@ -281,7 +283,7 @@ }else if(crosscount == 1){ directmode = STOP; prelinedata = 0; - touteki(1.0,185,0); + touteki(1.0,RED_TOUTEKI,0); //syokikanomai2(); if(set_flag == false){ directmode = RIGHT; @@ -359,7 +361,7 @@ }else if(crosscount == 1){ directmode = STOP; prelinedata = 0; - touteki(1.0,190,1); + touteki(1.0,BLUE_TOUTEKI,1); //syokikanomai2(); if(set_flag == false){ directmode = RIGHT; @@ -386,7 +388,7 @@ if(yellow_throw_flag == false){ yellow_throwing(); }else{ - touteki(1.0,184,1.0); + touteki(1.0,YELLOW_TOUTEKI,1.0); syokikanomai2(); } } @@ -474,7 +476,7 @@ } if (syokika_flag==true) { - if(encoder_count == 165){ + if(encoder_count == SYOKIITI){ motor_pwm=0; motor_dir1=1; motor_dir2=1; @@ -505,8 +507,8 @@ } if(syokika_flag==true) { int set_pos; - if(yellow_throw_flag == true) set_pos = 165; - else set_pos = 165; + if(yellow_throw_flag == true) set_pos = YELLOW_SYOKIITI; + else set_pos = SYOKIITI; if(encoder_count == set_pos){ buzzer = 0.0; motor_pwm=0;