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
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;