ver 2 ultrasonic

Dependencies:   mbed mbed-rtos HCSR04

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?

UserRevisionLine numberNew 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 }