ver 2 ultrasonic
Dependencies: mbed mbed-rtos HCSR04
main.cpp@1:a38d3531c822, 2019-03-15 (annotated)
- Committer:
- mohamed2011
- Date:
- Fri Mar 15 14:41:19 2019 +0000
- Revision:
- 1:a38d3531c822
- Parent:
- 0:de082043a69d
Cambios menores;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
oxochimitl | 0:de082043a69d | 1 | #include "mbed.h" |
mohamed2011 | 1:a38d3531c822 | 2 | #include "rtos.h" |
oxochimitl | 0:de082043a69d | 3 | #include "hcsr04.h" |
mohamed2011 | 1:a38d3531c822 | 4 | |
oxochimitl | 0:de082043a69d | 5 | float a=0; |
oxochimitl | 0:de082043a69d | 6 | float b=0; |
oxochimitl | 0:de082043a69d | 7 | float x=0; |
oxochimitl | 0:de082043a69d | 8 | float y=0; |
oxochimitl | 0:de082043a69d | 9 | float z=0; |
oxochimitl | 0:de082043a69d | 10 | unsigned int dist; |
oxochimitl | 0:de082043a69d | 11 | |
oxochimitl | 0:de082043a69d | 12 | void avanza(float); |
oxochimitl | 0:de082043a69d | 13 | void espera(float); |
oxochimitl | 0:de082043a69d | 14 | void ireversa(float); |
oxochimitl | 0:de082043a69d | 15 | void reversa(float); |
oxochimitl | 0:de082043a69d | 16 | void derecha(float); |
oxochimitl | 0:de082043a69d | 17 | |
oxochimitl | 0:de082043a69d | 18 | |
oxochimitl | 0:de082043a69d | 19 | HCSR04 usensor(p25,p6); |
oxochimitl | 0:de082043a69d | 20 | DigitalOut pin1(p21); |
oxochimitl | 0:de082043a69d | 21 | DigitalOut pin2(p22); |
oxochimitl | 0:de082043a69d | 22 | DigitalOut pin3(p23); |
oxochimitl | 0:de082043a69d | 23 | DigitalOut pin4(p24); |
oxochimitl | 0:de082043a69d | 24 | |
oxochimitl | 0:de082043a69d | 25 | int main() { |
oxochimitl | 0:de082043a69d | 26 | usensor.start(); |
oxochimitl | 0:de082043a69d | 27 | dist=usensor.get_dist_cm(); |
oxochimitl | 0:de082043a69d | 28 | |
oxochimitl | 0:de082043a69d | 29 | if(dist<=10){ |
oxochimitl | 0:de082043a69d | 30 | reversa(2); |
oxochimitl | 0:de082043a69d | 31 | } |
oxochimitl | 0:de082043a69d | 32 | if(dist>10){ |
oxochimitl | 0:de082043a69d | 33 | avanza(1); |
oxochimitl | 0:de082043a69d | 34 | } |
oxochimitl | 0:de082043a69d | 35 | } |
mohamed2011 | 1:a38d3531c822 | 36 | |
mohamed2011 | 1:a38d3531c822 | 37 | |
mohamed2011 | 1:a38d3531c822 | 38 | //Funciones de control de avance y retroceso del vehículo |
oxochimitl | 0:de082043a69d | 39 | void avanza(float a) |
oxochimitl | 0:de082043a69d | 40 | { |
oxochimitl | 0:de082043a69d | 41 | pin1 = 1; |
oxochimitl | 0:de082043a69d | 42 | pin2 = 0; |
oxochimitl | 0:de082043a69d | 43 | pin3 = 1; |
oxochimitl | 0:de082043a69d | 44 | pin4 = 0; |
oxochimitl | 0:de082043a69d | 45 | wait(a); |
oxochimitl | 0:de082043a69d | 46 | } |
oxochimitl | 0:de082043a69d | 47 | void espera(float b){ |
oxochimitl | 0:de082043a69d | 48 | pin1 = 0; |
oxochimitl | 0:de082043a69d | 49 | pin2 = 0; |
oxochimitl | 0:de082043a69d | 50 | pin3 = 0; |
oxochimitl | 0:de082043a69d | 51 | pin4 = 0; |
oxochimitl | 0:de082043a69d | 52 | wait(b); |
oxochimitl | 0:de082043a69d | 53 | } |
oxochimitl | 0:de082043a69d | 54 | void ireversa(float x){ |
oxochimitl | 0:de082043a69d | 55 | pin1 = 1; |
oxochimitl | 0:de082043a69d | 56 | pin2 = 0; |
oxochimitl | 0:de082043a69d | 57 | pin3 = 0; |
oxochimitl | 0:de082043a69d | 58 | pin4 = 0; |
oxochimitl | 0:de082043a69d | 59 | wait(x); |
oxochimitl | 0:de082043a69d | 60 | } |
oxochimitl | 0:de082043a69d | 61 | void reversa(float y){ |
oxochimitl | 0:de082043a69d | 62 | pin1 = 0; |
oxochimitl | 0:de082043a69d | 63 | pin2 = 1; |
oxochimitl | 0:de082043a69d | 64 | pin3 = 0; |
oxochimitl | 0:de082043a69d | 65 | pin4 = 1; |
mohamed2011 | 1:a38d3531c822 | 66 | osDelay(y); |
oxochimitl | 0:de082043a69d | 67 | } |
oxochimitl | 0:de082043a69d | 68 | void derecha(float z){ |
oxochimitl | 0:de082043a69d | 69 | pin1 = 0; |
oxochimitl | 0:de082043a69d | 70 | pin2 = 0; |
oxochimitl | 0:de082043a69d | 71 | pin3 = 1; |
oxochimitl | 0:de082043a69d | 72 | pin4 = 0; |
oxochimitl | 0:de082043a69d | 73 | wait(z); |
oxochimitl | 0:de082043a69d | 74 | } |