ultimaact
Dependencies: mbed Adafruit_GFX DS1820
Diff: main.cpp
- Revision:
- 2:828e6ac4800a
- Parent:
- 1:1e68e882342d
- Child:
- 3:2685cbff6832
--- a/main.cpp Fri Dec 10 15:32:56 2021 +0000 +++ b/main.cpp Fri Dec 10 16:38:31 2021 +0000 @@ -8,8 +8,8 @@ unsigned distancia=1000;; HCSR04 usensor(D7,D8); //(PinName TrigPin,PinName EchoPin): -DigitalIn final1(D2); -DigitalIn final2(D3); +DigitalIn finalDer(D2); +DigitalIn finalIzq(D3); DigitalOut step(D13); DigitalOut dir(D12); DigitalOut enable(D11); @@ -17,7 +17,6 @@ enum estados {cerrada, abriendose, cerrandose, abierta}; estados estado; -HCSR04 usensor(D7,D8); //(PinName TrigPin,PinName EchoPin): void mideDistancia() { @@ -28,54 +27,60 @@ { dir=d; step=1; - wait_us(100); + wait_us(100); // Este es el cambio de paso step=0; - wait_us(900); + wait_us(900); //Este hay que cambiar } void estadoCerrada() { - if(distancia<5)&&(final1 == 1) { + if((finalIzq == 1)) { + wait(1.0); enable=1; estado=abriendose; - pc.printf("Estado Abriendose, distancia %d\n",distancia); - pc.printf("Final1 pulsado\r\n"); + + pc.printf("Final2 pulsado\r\n"); + + } } void estadoAbriendose() { - if((final2==1)) { + if((finalDer==1)) { estado=abierta; enable=0; + } else { - dir = 1; - step=1; + + paso(1); + //pc.printf("paso\n"); } } void estadoCerrandose(){ - if((final1==1)) { + if((finalIzq==1)) { estado=cerrada; enable=0; } else { - dir = 0; - step=1; + + paso(0); + //pc.printf("paso\n"); } } void estadoAbierta() { - if (final2==1) { + if (finalDer==1) { - wait(1.0); + enable=1; estado=cerrandose; - pc.printf("Final2 pulsado\r\n"); + pc.printf("Final1 pulsado\r\n"); } } @@ -85,7 +90,7 @@ pc.baud(115200); tickerMideDistancia.attach(&mideDistancia, 0.5); estado=cerrada; - pc.printf("Estado cerrada\n"); + pc.printf("Estado cerrada\n"); while(1) { distancia=usensor.get_dist_cm(); switch ( estado ) {