This program is about limit switches

Dependencies:   mbed

Revision:
2:f64f79a6b5e0
Parent:
1:08c96d55206d
Child:
3:7bbcd64e7127
--- a/main.cpp	Tue Jun 25 09:21:06 2019 +0000
+++ b/main.cpp	Thu Sep 05 09:42:23 2019 +0000
@@ -6,27 +6,32 @@
 #include "mbed.h"
 Serial master(PC_6,PC_7);
 Serial pc(USBTX,USBRX);
-DigitalIn limit1(D9);//右上ラック
-DigitalIn limit2(D8);//左上ラック
-DigitalIn limit3(D7);//右下ラック
-DigitalIn limit4(D6);//左下ラック
-DigitalIn limit5(D5);//回収機構右
-DigitalIn limit6(D4);//回収機構左
-DigitalIn limit7(D2);//予備
+DigitalIn limit0(D10);//右上ラック
+DigitalIn limit1(D9);//左上ラック
+DigitalIn limit2(D8);//右下ラック
+DigitalIn limit3(D7);//左下ラック
+
+DigitalIn limit4(D6);//回収機構右
+DigitalIn limit5(D5);//回収機構左
+DigitalIn limit6(D4);//吐き出し1
+DigitalIn limit7(D2);//吐き出し2
 DigitalOut green(D12);//電源確認
-DigitalOut yellow(D11);//通信確認
-DigitalOut red(D10);//動作確認
+DigitalOut red(D11);//動作確認
+
 
 //データ格納用変数
 char data;
 
+
+
 //関数プロトタイプ宣言
 void send_data(char send);
 
 //main()関数
 int main(){
     
-    green=1;
+    
+    limit0.mode(PullUp);
     
     limit1.mode(PullUp);
     
@@ -44,88 +49,132 @@
     
     while(true){
         
-        if(!limit1&&!limit2){
+        if(!limit0&&!limit1){
                 
                 red=1;
                 
+                green=1;    
+                
                 data=0x20;
                 
                 send_data(data);
                 
-            }else if(!limit1&&limit2){
+            }else if(!limit0&&limit1){
+                
+                red=0;
+                
+                green=1;
+                
+                    data=0x22;
+                    
+                
+                send_data(data);
+                
+            }else if(limit0&&!limit1){
                 
                 red=1;
                 
-                data=0x22;
-                
-                send_data(data);
-             
-            }else if(limit1&&!limit2){
-                
-                red=1;
+                green=0;
                 
                 data=0x24;
                 
                 send_data(data);
                 
-            }else if(!limit3&&!limit4){
+            }
+            
+            if(!limit2&&!limit3){
                 
+                green=1;
+            
                 red=1;
-                
+
                 data=0x26;
                 
                 send_data(data);
                 
-            }else if(!limit3&&limit4){
+            }else if(!limit2&&limit3){
                 
-                red=1;
+                green=1;
+                
+                red=0;
                 
                 data=0x28;
                 
                 send_data(data);
                 
-            }else if(limit3&&!limit4){
+            }else if(limit2&&!limit3){
+                
+                green=0;
                 
                 red=1;
                 
-                data=0x30;
+                    data=0x30;
+                    
                 
                 send_data(data);
-                
-            }else if(!limit5){
+                 
+            }
+            
+             if(!limit4){
                 
                 red=1;
                 
+                green=0;
+                
                 data=0x32;
                 
                 send_data(data);
                 
-            }else if(!limit6){
+            }
+            
+             if(!limit5){
                 
-                red=1;
+                red=0;
+                
+                green=1;
                 
                 data=0x34;
                 
                 send_data(data);
-                
-            }else if(!limit7){
+
+            }
+             if(!limit6){
                 
                 red=1;
                 
+                green=0;
+                
                 data=0x36;
                 
                 send_data(data);
                 
-            }else{
+            }
+            
+            
+             if(!limit7&&data==0x40){
                 
                 red=0;
                 
+                green=1;
+                
                 data=0x38;
                 
                 send_data(data);
                 
-                }
+            }
             
+            if(limit0&&limit1&&limit2&&limit3&&limit4&&limit5&&limit6&&limit7){
+                
+                red=0;
+                
+                green=0;
+                
+                data=0x40;
+                
+                send_data(data);
+                
+            }
+         pc.printf("%c\n",data);
             
         }
         
@@ -133,7 +182,6 @@
 
 //rs232通信
 void send_data(char send){
-    yellow=1;
     master.putc(send);
     wait(0.005);
     }
\ No newline at end of file