
radar
main.cpp
- Committer:
- DAVIID222
- Date:
- 2020-12-03
- Revision:
- 2:fdb856775f71
- Parent:
- 1:5b8b3a6e9f8c
File content as of revision 2:fdb856775f71:
#include "mbed.h" #include "rtos.h" #include "Servo.h" Serial pc(USBTX, USBRX); DigitalOut trig(D3); DigitalIn echo(D2); Servo myservo(D4); Thread hilo_tarea1; Thread hilo_tarea2; Timer senal; float distancia; float angle; void tarea1(void); void tarea2(void); int main() { hilo_tarea1.start(tarea1); hilo_tarea2.start(tarea2); hilo_tarea1.set_priority(osPriorityNormal); while (true) { } } void tarea1(void) { while(true) { senal.reset(); trig = 0; wait_us(2); trig = 1; wait_us(10); trig = 0; while(echo==0); senal.start(); while(echo==1); senal.stop(); distancia = (senal.read_us())/58; pc.printf("' ',%f,%f,\r\n' '",angle,distancia); ThisThread::sleep_for(50); } } void tarea2(void) { float range = 0.0009; bool direction = true; float position = 0.0; myservo.calibrate(range, 45.0); while(true) { if(direction) { for (int i=-90; i< 90; i++) { angle= i+90; myservo.position(i); wait_ms(17); } direction=false; } else { for (int i=90; i> -90; i--) { angle = i+90; myservo.position(i); wait_ms(17); } direction=true; } } }