ultimaact

Dependencies:   mbed Adafruit_GFX DS1820

Revision:
1:1e68e882342d
Parent:
0:8a1a447db446
Child:
2:828e6ac4800a
--- a/main.cpp	Thu Dec 09 17:59:02 2021 +0000
+++ b/main.cpp	Fri Dec 10 15:32:56 2021 +0000
@@ -1,13 +1,15 @@
 #include "mbed.h"
 #include "hcsr04.h"
 
+
+
 Serial pc(USBTX, USBRX); // tx, rx
 Ticker tickerMideDistancia;
 unsigned distancia=1000;;
 
-
-DigitalIn final1(D10);
-DigitalIn final2(D9);
+HCSR04  usensor(D7,D8); //(PinName TrigPin,PinName EchoPin):
+DigitalIn final1(D2);
+DigitalIn final2(D3);
 DigitalOut step(D13);
 DigitalOut dir(D12);
 DigitalOut enable(D11);
@@ -33,46 +35,48 @@
 
 void estadoCerrada()
 {
-    if(distancia<10) {
+    if(distancia<5)&&(final1 == 1) {
         enable=1;
         estado=abriendose;
         pc.printf("Estado Abriendose, distancia %d\n",distancia);
+        pc.printf("Final1 pulsado\r\n");
     }
 }
 
 void estadoAbriendose()
 {
-    if((final1==1)&&(distancia<10)) {
+    if((final2==1)) {
+        
         estado=abierta;
         enable=0;
-    } else if((final1==1)&&(distancia>=10)) {
-        enable=1;
-        estado=cerrandose;
-    } else {
-        paso(1);
-        pc.printf("paso\n");
+    } else  {
+        dir = 1;
+        step=1;
         
     }
 }
 
 void estadoCerrandose(){
-      if(distancia<10) {
-        estado=abriendose;
-        enable=1;
-    } else if(final2==1) {
+     if((final1==1)) {
+        
         estado=cerrada;
         enable=0;
-    } else {
-        paso(0);
-        pc.printf("paso\n");
+    } else  {
+        dir = 0;
+        step=1;
+        
     }
 }
 
 void estadoAbierta()
 {
-    if (distancia>=10) {
+    if (final2==1) {
+        
+        wait(1.0);
         enable=1;
         estado=cerrandose;
+        pc.printf("Final2 pulsado\r\n");
+        
     }
 }