Dependencies:   PID Serialservo TCS3200 XQ_servo encoder encoder2 mbed moter

Fork of nhk_2018_undercarry_test09 by ケンタ ミヤザキ

Files at this revision

API Documentation at this revision

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;