The last version programs

Dependencies:   mbed TrapezoidControl Pulse QEI

Files at this revision

API Documentation at this revision

Comitter:
Ryosei
Date:
Fri Mar 27 14:03:12 2020 +0000
Parent:
29:5365ee0521f6
Commit message:
h

Changed in this revision

System/Process/Process.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/System/Process/Process.cpp	Sun Oct 06 03:53:06 2019 +0000
+++ b/System/Process/Process.cpp	Fri Mar 27 14:03:12 2020 +0000
@@ -159,7 +159,7 @@
 {
     double Distance=0;
     double Duration=0;
-    double temp=26;////////////////////////////////////////////////温度
+    double temp=10;////////////////////////////////////////////////温度
     if(num==0) {
         Trig0.write_us(1,10);
         Duration=Echo0.read_high_us(5000);
@@ -172,7 +172,7 @@
         double sspead=331.5+0.6*temp;
         Distance=Duration*sspead*100/1000000;
     } else {
-        return 0;
+        return 0-1.5;
     }
     return Distance;
 }
@@ -392,13 +392,14 @@
         }
         Ult_left=UltraRead(0);//////////////////////////////////////////left sensor
         Ult_right=UltraRead(1);//////////////////////////////////////////right sensor
-        for(int i=0; i<19; i++) {
-            pc.printf("%d",LimitSw::IsPressed(i));
-            if(i==18) {
-                pc.printf("\r\n");
-            }
-        }
-//        pc.printf("%lf,%lf\r\n",Ult_left,Ult_right);
+        //for(int i=0; i<19; i++) {
+//            pc.printf("%d",LimitSw::IsPressed(i));
+//            if(i==18) {
+//                pc.printf("\r\n");
+//            }
+//        }
+//        
+        pc.printf("%lf,%lf\r\n",Ult_left,Ult_right);
 //        pc.printf("1:%d 2:%d 3:%d 4:%d 5:%d 6:%d 7:%d 8:%d\n\r",g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7]);
 //        pc.printf("%d\n\r",current);
         /*上
@@ -421,14 +422,14 @@
             LedOut(6);
             startFlag = false;
             lock = false;
-            lineFase = 0;
+            lineFase = 100;
             lineCount = 0;
             lineCheck = false;
             countW = 0;
             if(LimitSw::IsPressed(REDBLUE_SW)) {
-                current = 4;
+                current = 5;
             } else {
-                current = 4;
+                current = 5;
             }
         }
         buzzer.period(1.0/800);
@@ -731,17 +732,17 @@
         motor[TIRE_BL].dir = FOR;
         motor[TIRE_BR].dir = BACK;
         motor[TIRE_FR].dir = BACK;
-        if(linePara[4] >= -1 && linePara[4] <= 1) {
+        if(linePara[4] ==0) {
             lineFase = 3;
             motor[TIRE_FL].dir = BRAKE;
             motor[TIRE_BL].dir = BRAKE;
             motor[TIRE_BR].dir = BRAKE;
             motor[TIRE_FR].dir = BRAKE;
         }
-        motor[TIRE_FL].pwm = 20;
-        motor[TIRE_BL].pwm = 20;
-        motor[TIRE_BR].pwm = 20;
-        motor[TIRE_FR].pwm = 20;
+        motor[TIRE_FL].pwm = 16;
+        motor[TIRE_BL].pwm = 16;
+        motor[TIRE_BR].pwm = 16;
+        motor[TIRE_FR].pwm = 16;
     } else if(lineFase == 3) {  // 右 ライントレース
         switch(linePara[4]) {
             case -2:
@@ -854,13 +855,6 @@
         motor[TIRE_BL].dir = BACK;
         motor[TIRE_BR].dir = BACK;
         motor[TIRE_FR].dir = FOR;
-        if (linePara[LINE_TOW_2] == 0) {  // 1と2逆になります。
-            lineFase = 6;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
         if(linePara[LINE_TOW_2] == 0) {
             if(!LimitSw::IsPressed(SHEETS_SW)) {
                 lineFase=100;
@@ -926,7 +920,7 @@
             motor[TIRE_FR].dir = BACK;
             motor[TIRE_FR].pwm = 16;
         } else {
-            if(LimitSw::IsPressed(QF_SW)) {
+            if(!(LimitSw::IsPressed(QF_SW))) {
                 switch(linePara[LINE_TOW_2]) {
                     case -2:
                         tirePWM[TIRE_FL] = -10;
@@ -1130,7 +1124,7 @@
             motor[TIRE_FR].pwm = 50;
         }
     } else if(lineFase == 8) { // タオル1 解放
-        Air[0] = SOLENOID_ON;
+        Air[TOWEL1] = SOLENOID_ON;
         motor[TIRE_FL].dir = BRAKE;
         motor[TIRE_BL].dir = BRAKE;
         motor[TIRE_BR].dir = BRAKE;
@@ -1426,7 +1420,7 @@
             motor[TIRE_FR].dir = BACK;
             motor[TIRE_FR].pwm = 20;
         } else {
-            if(LimitSw::IsPressed(QF_SW)) {
+            if(!(LimitSw::IsPressed(QF_SW))) {
                 switch(linePara[LINE_TOW_1]) {
                     case -2:
                         tirePWM[TIRE_FL] = -10;
@@ -1630,7 +1624,7 @@
             motor[TIRE_FR].pwm = 50;
         }
     } else if(lineFase == 16) { // タオル2 解放
-        Air[1] = SOLENOID_ON;
+        Air[TOWEL2] = SOLENOID_ON;
         motor[TIRE_FL].dir = BRAKE;
         motor[TIRE_BL].dir = BRAKE;
         motor[TIRE_BR].dir = BRAKE;
@@ -2216,7 +2210,7 @@
             motor[LIFT_U].dir=FOR;
             motor[LIFT_U].pwm=150;
         } else {
-            motor[LIFT_U].dir=FOR;
+            motor[LIFT_U].dir=BRAKE;
             motor[LIFT_U].pwm=150;
         }
         switch(linePara[3]) {
@@ -2250,7 +2244,7 @@
                 break;
             case 1:
                 tirePWM[TIRE_FL] = -20;
-                tirePWM[TIRE_BL] = 40;
+                tirePWM[TIRE_BL] = 30;
                 tirePWM[TIRE_BR] = 20;
                 tirePWM[TIRE_FR] = -30;
                 adjAnable = true;
@@ -2339,7 +2333,7 @@
             motor[LIFT_U].dir=FOR;
             motor[LIFT_U].pwm=150;
         } else {
-            motor[LIFT_U].dir=BACK;
+            motor[LIFT_U].dir=BRAKE;
             motor[LIFT_U].pwm=150;
         }
         motor[TIRE_FL].dir = BACK;
@@ -2364,13 +2358,7 @@
         motor[TIRE_BR].pwm = 16;
         motor[TIRE_FR].pwm = 16;
     } else if(lineFase == 21) {
-        if(!(LimitSw::IsPressed(LSW_UB))) {
-            motor[LIFT_U].dir=FOR;
-            motor[LIFT_U].pwm=150;
-        } else {
-            motor[LIFT_U].dir=FOR;
-            motor[LIFT_U].pwm=150;
-        }
+        
         switch(linePara[2]) {
             case -2:
                 tirePWM[TIRE_FL] = 0;
@@ -4218,7 +4206,6 @@
 #if USE_PROCESS_NUM>7
 static void Process7()
 {
-    static int SW_flag=0;
     static int Processflag=0;
     if(Processflag==0) {
         if(Limitphase==0) {
@@ -4282,7 +4269,7 @@
             motor[LIFT_RB].dir = BRAKE;
             motor[LIFT_RB].pwm = 200;
             Air[TOWEL0]=1;
-            SW_flag=0;
+//            SW_flag=0;
             Limitphase=0;
             current=0;
             startFlag=true;
@@ -4305,7 +4292,7 @@
             motor[LIFT_RB].dir = BRAKE;
             motor[LIFT_RB].pwm = 200;
             Air[TOWEL0]=1;
-            SW_flag=0;
+//            SW_flag=0;
             Limitphase=0;
             current=0;
             startFlag=true;