ultimaact

Dependencies:   mbed Adafruit_GFX DS1820

Files at this revision

API Documentation at this revision

Comitter:
davidmateos
Date:
Tue Dec 14 11:02:12 2021 +0000
Parent:
10:db8ef252faba
Commit message:
mod taladro

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Tue Dec 14 09:38:10 2021 +0000
+++ b/main.cpp	Tue Dec 14 11:02:12 2021 +0000
@@ -34,10 +34,18 @@
 DigitalOut dir(D12);
 DigitalOut enable(D11);
 DigitalOut  led(LED1);   
-DS1820      ds1820(D10);    // substitute PA_9 with actual mbed pin name connected to the DS1820 data pin                             
+DS1820      ds1820(D10);    // substitute PA_9 with actual mbed pin name connected to the DS1820 data pin          
+
+//gitalOut rele(A5);
+                   
 float       temp = 0;
 int contador=0;
 
+// control aplicacion
+int x=0;
+int y=1;
+////////////////
+Timer tiempo;
 
 enum estados {cerrada, abriendose, cerrandose, abierta};
 estados estado;
@@ -59,9 +67,9 @@
 
 void estadoCerrada()
 {
-   
+   if (x==1){
     if( (finalIzq == 1) && contador <3) {
-        wait(1.0);
+        wait(0.5);
         enable=1;
         estado=abriendose;
        // pc.printf("Distance =%d\n",distancia);
@@ -70,11 +78,28 @@
        
         //distancia < 5 
     }
-    
+    }
+    if(x==0 &&y==0){
+        pc.printf("No seleccionado programa\r\n");
+        }
+        
+        
+    if(y==1){
+            if(finalIzq == 1 && finalDer==1){
+                
+                enable=1;
+                  tiempo.reset();
+      tiempo.start();
+                estado=abriendose;
+                }
+            }
+            
 }
 
 void estadoAbriendose()
 {
+    
+      if(x==1){
     //pc.printf("Distance =%d\n",distancia);
     if((finalDer==1)) {
         
@@ -82,29 +107,51 @@
         enable=0;
              
     } else  {
-        
+        gOled.clearDisplay();
+  
         paso(1);
         //pc.printf("paso\n");
         
     }
+    }
   //  if (distancia<4){
         //estado=cerrandose;
         
        // }
+       if(y==1){
+           
+               
+                   if(tiempo.read()<1){
+                   paso(1);
+                   }
+                   else if(finalIzq==0){
+                       paso(0);
+                       }
+                       else{
+                           estado=cerrada;
+                           }
+                   
+           }
+   
+   
 }
 
 void estadoCerrandose(){
      //pc.printf("Distance =%d\n",distancia);
+       if(x==1){
      if((finalIzq==1)) {
         
         estado=cerrada;
         enable=0;
     } else  {
-        
+ 
         paso(0);
         //pc.printf("paso\n");
         
     }
+    }
+  
+     
 }
 
 void estadoAbierta()
@@ -133,7 +180,20 @@
      gOled.begin();
     gOled.clearDisplay();
      gOled.printf("Hola\n");
+     gOled.display();
     //pc.printf("Estado cerrada\n");
+    if(x==1){
+        gOled.clearDisplay();
+     gOled.printf("Programa de transporte de piezas\n);
+     gOled.display();
+        }
+        
+        if(y==1){
+        gOled.clearDisplay();
+     gOled.printf("Programa de taladro\n"){
+     gOled.display();
+        }
+    tiempo.reset();
     
      int  error = 0; 
     pc.baud(115200);
@@ -165,6 +225,15 @@
     while(1) {
         distancia=usensor.get_dist_cm();
         
+        //calefactor
+ //     rele=1;
+ //     led=1;
+//      wait(1.0);
+ //     rele=0;
+//      led=0;
+ //     wait(1.0);
+        //
+        
         switch ( estado ) {
             case cerrada:
                 estadoCerrada();