ultimaact
Dependencies: mbed Adafruit_GFX DS1820
Diff: main.cpp
- 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"); + } }