本番用

Dependencies:   MotorDriver_SU USBDevice mbed

Revision:
1:f5a011cef88b
Parent:
0:fa4301e041d0
Child:
2:ac16e274c6d5
--- a/main.cpp	Sat Nov 08 10:57:34 2014 +0000
+++ b/main.cpp	Sat Nov 08 15:31:47 2014 +0000
@@ -20,7 +20,7 @@
     float hoge3;
     float hoge4;
     float hoge5;
-    
+    int AI = 0;
      
         
         /********************************/
@@ -39,397 +39,63 @@
         hoge4 = sw4.read();
         hoge5 = sw5.read();
         
-        while( sw == 0 ){
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);
-        }
+        
         /************************************/
         /*ラインに沿って走るためのプログラム*/
         /************************************/
         
-        
-        /*1 センサ1が黒*/
-        if(sw1  <= 0.3 && sw2 > 0.5 && sw3 > 0.5 && sw4  > 0.5 && sw5 > 0.5){     
-            motor.Drive(0, CW, 1500);           
+        ///////////まっすぐ走るためのプログラム//////////
+        /*1.1.1 センサ1が黒*/
+        if(sw1  <= 0.3 && sw2 > 0.3 && sw3 > 0.3 && sw4  > 0.3 && sw5 > 0.3){     
+            motor.Drive(0, CW, 1000);           
             motor.Drive(1, CW, 4095);             
             
         }
         
         
-        /*2 センサ2が黒*/
-        else if(sw1  > 0.5 && sw2 <= 0.3 && sw3 > 0.5 && sw4 > 0.5 && sw5 > 0.5){   
-            motor.Drive(0, CW, 2000);           
+        /*1.1.2 センサ2が黒*/
+        else if(sw1  > 0.3 && sw2 <= 0.3 && sw3 > 0.3 && sw4 > 0.3 && sw5 > 0.3){   
+            motor.Drive(0, CW, 1250);           
             motor.Drive(1, CW, 4095);           
             
         }
         
         
-        /*3 センサ3が黒*/
-        else if(sw1  > 0.5 && sw2  > 0.5 && sw3 <= 0.3 && sw4  > 0.5 && sw5 > 0.5){  
+        /*1.1.3 センサ3が黒*/
+        else if(sw1  > 0.3  && sw2  > 0.3 && sw3 <= 0.3 && sw4  > 0.3 && sw5 > 0.3){  
             motor.Drive(0, CW, 4095);        
             motor.Drive(1, CW, 4095);      
             
         }
         
         
-        /*4 センサ4が黒*/
-        else if(sw1  > 0.5 && sw2  > 0.5 && sw3  > 0.5 && sw4 <= 0.3 && sw5 > 0.5){  
+        /*1.1.4 センサ4が黒*/
+        else if(sw1  > 0.3 && sw2  > 0.3 && sw3  > 0.3 && sw4 <= 0.3 && sw5 > 0.3){  
             motor.Drive(0, CW, 4095);       
-            motor.Drive(1, CW, 2000);           
+            motor.Drive(1, CW, 1250);           
             
         }
         
         
-        /*5 センサ5が黒*/
-        else if(sw1  > 0.5 && sw2  > 0.5 && sw3  > 0.5 && sw4  > 0.5 && sw5 <= 0.3){  
+        /*1.1.5 センサ5が黒*/
+        else if(sw1  > 0.3 && sw2  > 0.3 && sw3  > 0.3 && sw4  > 0.3 && sw5 <= 0.3){  
             motor.Drive(0, CW, 4095);        
-            motor.Drive(1, CW, 1500);       
+            motor.Drive(1, CW, 1000);       
         
         }
         
-        /*6 センサ2-3が黒*/
-        else if(sw1  > 0.5 && sw2 <= 0.3 && sw3 <= 0.3 && sw4 > 0.5 && sw5 > 0.5){   
-            motor.Drive(0, CW, 3000);         
+        /*1.1.6 センサ2-3が黒*/
+        else if(sw1  > 0.3 && sw2 <= 0.3 && sw3 <= 0.3 && sw4 > 0.3 && sw5 > 0.3){   
+            motor.Drive(0, CW, 1500);         
             motor.Drive(1, CW, 4095);        
             
         }
         
-        /*7 センサ2-5が黒*/
-        else if(sw1  > 0.5 && sw2 <= 0.3 && sw3 > 0.5 && sw4 > 0.5 &&sw5  <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        
-        /*8 センサ3-4が黒*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 <= 0.3 && sw4 <= 0.3 && sw5 > 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, CW, 3000);        
-            
-        }
-       
-        /*9 センサ3-5が黒*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 <= 0.3 &&  sw4 > 0.5 && sw5  <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        /*10 センサ4-5が黒*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 > 0.5 &&  sw4 <= 0.3 && sw5  <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        
-        /*11 センサ2-3-5が黒*/
-        else if(sw1  > 0.5 && sw2 <= 0.3 && sw3 <= 0.3 && sw4 > 0.5 && sw5 <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        
-        /*12 センサ3-4-5が黒*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 <= 0.3 && sw4 <= 0.3 && sw5 <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        
-        /*13 全部白*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 > 0.5 && sw4 > 0.5 && sw5 > 0.5){   
+        /*1.1.7 センサ3-4が黒*/
+        else if(sw1  > 0.3 && sw2 > 0.3 && sw3 <= 0.3 && sw4 <= 0.3 && sw5 > 0.3){   
             motor.Drive(0, CW, 4095);         
-            motor.Drive(1, CCW, 4095);        
-            
-        }
-        
-        /**********************************/
-        /*停止位置で止まるためのプログラム*/
-        /**********************************/
-        
-        /*14 センサ1-3-5が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 <= 0.5 && sw4  > 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-            
-        }
-        
-        /*15 センサ1-2-5が黒*/
-        else if(sw1  <= 0.5 && sw2 <= 0.5 && sw3 > 0.5 && sw4  > 0.5 && sw5 <= 0.5){
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-            
-        }
-        
-        /*16 センサ1-4-5が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 > 0.5 && sw4  <= 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*17 センサ1-2-3-5が黒*/
-        else if(sw1  <= 0.5 && sw2 <= 0.5 && sw3 <= 0.5 && sw4  > 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*18 センサ1-2-3-5が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 <= 0.5 && sw4  <= 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*19 センサ1-4-5が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 > 0.5 && sw4  <= 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*19 センサ1-2-5が黒*/
-        else if(sw1  <= 0.5 && sw2 <= 0.5 && sw3 > 0.5 && sw4  > 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*21 センサ1-3-4が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 <= 0.5 && sw4  <= 0.5 && sw5 > 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-            
-        }
-        
-        /*22 センサ1-4が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 > 0.5 && sw4  <= 0.5 && sw5 > 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-            
-        }
-        }
-        motor.Drive(0, STOP, 0);           
-        motor.Drive(1, STOP, 0);
-        wait(0.1);
-        lift.Drive(0, CCW, 4095);
-        wait(1.5);
-        lift.Drive(0, STOP, 0);
-        wait(0.1);
-        motor.Drive(0, CW, 4095);           
-        motor.Drive(1, CW, 4095);
-        wait(1.0);
-        
-        
-        
-        
-        /********************************/
-        /********************************/
-        /********************************/
-        /*荷物を持ち上げた後のプログラム*/
-        /********************************/
-        /********************************/
-        /********************************/
-        
-        
-        while(1){
-        
-        hoge1 = sw1.read();
-        hoge2 = sw2.read();
-        hoge3 = sw3.read();
-        hoge4 = sw4.read();
-        hoge5 = sw5.read();
-        
-        
-        /************************************/
-        /*ラインに沿って走るためのプログラム*/
-        /************************************/
-        
-        
-        /*1 センサ1が黒*/
-        if(sw1  <= 0.3 && sw2 > 0.5 && sw3 > 0.5 && sw4  > 0.5 && sw5 > 0.5){     
-            motor.Drive(0, CW, 1500);           
-            motor.Drive(1, CW, 4095);             
-            
-        }
-        
-        
-        /*2 センサ2が黒*/
-        else if(sw1  > 0.5 && sw2 <= 0.3 && sw3 > 0.5 && sw4 > 0.5 && sw5 > 0.5){   
-            motor.Drive(0, CW, 2000);           
-            motor.Drive(1, CW, 4095);           
+            motor.Drive(1, CW, 1500);        
             
         }
-        
-        
-        /*3 センサ3が黒*/
-        else if(sw1  > 0.5 && sw2  > 0.5 && sw3 <= 0.3 && sw4  > 0.5 && sw5 > 0.5){  
-            motor.Drive(0, CW, 4095);        
-            motor.Drive(1, CW, 4095);      
-            
-        }
-        
-        
-        /*4 センサ4が黒*/
-        else if(sw1  > 0.5 && sw2  > 0.5 && sw3  > 0.5 && sw4 <= 0.3 && sw5 > 0.5){  
-            motor.Drive(0, CW, 4095);       
-            motor.Drive(1, CW, 2000);           
-            
-        }
-        
-        
-        /*5 センサ5が黒*/
-        else if(sw1  > 0.5 && sw2  > 0.5 && sw3  > 0.5 && sw4  > 0.5 && sw5 <= 0.3){  
-            motor.Drive(0, CW, 4095);        
-            motor.Drive(1, CW, 1500);       
-        
-        }
-        
-        /*6 センサ2-3が黒*/
-        else if(sw1  > 0.5 && sw2 <= 0.3 && sw3 <= 0.3 && sw4 > 0.5 && sw5 > 0.5){   
-            motor.Drive(0, CW, 3000);         
-            motor.Drive(1, CW, 4095);        
-            
-        }
-        
-        /*7 センサ2-5が黒*/
-        else if(sw1  > 0.5 && sw2 <= 0.3 && sw3 > 0.5 && sw4 > 0.5 &&sw5  <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        
-        /*8 センサ3-4が黒*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 <= 0.3 && sw4 <= 0.3 && sw5 > 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, CW, 3000);        
-            
-        }
-       
-        /*9 センサ3-5が黒*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 <= 0.3 &&  sw4 > 0.5 && sw5  <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        /*10 センサ4-5が黒*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 > 0.5 &&  sw4 <= 0.3 && sw5  <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        
-        /*11 センサ2-3-5が黒*/
-        else if(sw1  > 0.5 && sw2 <= 0.3 && sw3 <= 0.3 && sw4 > 0.5 && sw5 <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        
-        /*12 センサ3-4-5が黒*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 <= 0.3 && sw4 <= 0.3 && sw5 <= 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, STOP, 0);        
-            
-        }
-        
-        /*13 全部白*/
-        else if(sw1  > 0.5 && sw2 > 0.5 && sw3 > 0.5 && sw4 > 0.5 && sw5 > 0.5){   
-            motor.Drive(0, CW, 4095);         
-            motor.Drive(1, CCW, 4095);        
-            
-        }
-        
-        /**********************************/
-        /*停止位置で止まるためのプログラム*/
-        /**********************************/
-        
-        /*14 センサ1-3-5が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 <= 0.5 && sw4  > 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-            
-        }
-        
-        /*15 センサ1-2-5が黒*/
-        else if(sw1  <= 0.5 && sw2 <= 0.5 && sw3 > 0.5 && sw4  > 0.5 && sw5 <= 0.5){
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-            
-        }
-        
-        /*16 センサ1-4-5が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 > 0.5 && sw4  <= 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*17 センサ1-2-3-5が黒*/
-        else if(sw1  <= 0.5 && sw2 <= 0.5 && sw3 <= 0.5 && sw4  > 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*18 センサ1-2-3-5が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 <= 0.5 && sw4  <= 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*19 センサ1-4-5が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 > 0.5 && sw4  <= 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*19 センサ1-2-5が黒*/
-        else if(sw1  <= 0.5 && sw2 <= 0.5 && sw3 > 0.5 && sw4  > 0.5 && sw5 <= 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-        }
-        
-        /*21 センサ1-3-4が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 <= 0.5 && sw4  <= 0.5 && sw5 > 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-            
-        }
-        
-        /*22 センサ1-4が黒*/
-        else if(sw1  <= 0.5 && sw2 > 0.5 && sw3 > 0.5 && sw4  <= 0.5 && sw5 > 0.5){     
-            motor.Drive(0, STOP, 0);           
-            motor.Drive(1, STOP, 0);             
-            break;
-            
-        }
-        }
-        
-        motor.Drive(0, STOP, 0);           
-        motor.Drive(1, STOP, 0);
-        wait(0.1);
-        lift.Drive(0, CW, 4095);
-        wait(1.0);
-        lift.Drive(0, STOP, 0);
-        wait(0.1);
-        motor.Drive(0, CCW, 4095);           
-        motor.Drive(1, CCW, 4095);
-        wait(2.0);
-        motor.Drive(0, STOP, 0);           
-        motor.Drive(1, STOP, 0);
-        wait(1.0);
-        
-        
-
-}
\ No newline at end of file
+}        
+}   
\ No newline at end of file