Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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 | 
--- 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
--- 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;
    