Miguel Freja
/
proyecto_2_avanzados
el archivo cambio, la libreria del servo es distinta
main.cpp@0:24034ea3555d, 2020-11-17 (annotated)
- Committer:
- DAVIID222
- Date:
- Tue Nov 17 13:30:38 2020 +0000
- Revision:
- 0:24034ea3555d
- Child:
- 1:5b8b3a6e9f8c
radar
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DAVIID222 | 0:24034ea3555d | 1 | #include "mbed.h" |
DAVIID222 | 0:24034ea3555d | 2 | #include "rtos.h" |
DAVIID222 | 0:24034ea3555d | 3 | #include "Servo.h" |
DAVIID222 | 0:24034ea3555d | 4 | |
DAVIID222 | 0:24034ea3555d | 5 | DigitalOut trig(D3); |
DAVIID222 | 0:24034ea3555d | 6 | DigitalIn echo(D2); |
DAVIID222 | 0:24034ea3555d | 7 | Servo myservo(D4); |
DAVIID222 | 0:24034ea3555d | 8 | |
DAVIID222 | 0:24034ea3555d | 9 | Thread hilo_tarea1; |
DAVIID222 | 0:24034ea3555d | 10 | Thread hilo_tarea2; |
DAVIID222 | 0:24034ea3555d | 11 | Timer senal; |
DAVIID222 | 0:24034ea3555d | 12 | float distancia; |
DAVIID222 | 0:24034ea3555d | 13 | |
DAVIID222 | 0:24034ea3555d | 14 | void tarea1(void); |
DAVIID222 | 0:24034ea3555d | 15 | void tarea2(void); |
DAVIID222 | 0:24034ea3555d | 16 | |
DAVIID222 | 0:24034ea3555d | 17 | int main() |
DAVIID222 | 0:24034ea3555d | 18 | { |
DAVIID222 | 0:24034ea3555d | 19 | hilo_tarea1.start(tarea1); |
DAVIID222 | 0:24034ea3555d | 20 | hilo_tarea2.start(tarea2); |
DAVIID222 | 0:24034ea3555d | 21 | hilo_tarea1.set_priority(osPriorityNormal); |
DAVIID222 | 0:24034ea3555d | 22 | while (true) { |
DAVIID222 | 0:24034ea3555d | 23 | |
DAVIID222 | 0:24034ea3555d | 24 | } |
DAVIID222 | 0:24034ea3555d | 25 | } |
DAVIID222 | 0:24034ea3555d | 26 | |
DAVIID222 | 0:24034ea3555d | 27 | void tarea1(void){ |
DAVIID222 | 0:24034ea3555d | 28 | while(true){ |
DAVIID222 | 0:24034ea3555d | 29 | senal.reset(); |
DAVIID222 | 0:24034ea3555d | 30 | trig = 0; |
DAVIID222 | 0:24034ea3555d | 31 | wait_us(2); |
DAVIID222 | 0:24034ea3555d | 32 | trig = 1; |
DAVIID222 | 0:24034ea3555d | 33 | wait_us(10); |
DAVIID222 | 0:24034ea3555d | 34 | trig = 0; |
DAVIID222 | 0:24034ea3555d | 35 | while(echo==0); |
DAVIID222 | 0:24034ea3555d | 36 | senal.start(); |
DAVIID222 | 0:24034ea3555d | 37 | while(echo==1); |
DAVIID222 | 0:24034ea3555d | 38 | senal.stop(); |
DAVIID222 | 0:24034ea3555d | 39 | distancia = (senal.read_us())/58; |
DAVIID222 | 0:24034ea3555d | 40 | printf("%.f\n\r",distancia); |
DAVIID222 | 0:24034ea3555d | 41 | ThisThread::sleep_for(50); |
DAVIID222 | 0:24034ea3555d | 42 | } |
DAVIID222 | 0:24034ea3555d | 43 | } |
DAVIID222 | 0:24034ea3555d | 44 | |
DAVIID222 | 0:24034ea3555d | 45 | void tarea2(void){ |
DAVIID222 | 0:24034ea3555d | 46 | myservo.calibrate(0.0009, 180.0); |
DAVIID222 | 0:24034ea3555d | 47 | while(true){ |
DAVIID222 | 0:24034ea3555d | 48 | for(int i=0; i<100; i++){ |
DAVIID222 | 0:24034ea3555d | 49 | myservo = i/100.0; |
DAVIID222 | 0:24034ea3555d | 50 | ThisThread::sleep_for(100); |
DAVIID222 | 0:24034ea3555d | 51 | } |
DAVIID222 | 0:24034ea3555d | 52 | for(int i=100; i>0; i--){ |
DAVIID222 | 0:24034ea3555d | 53 | myservo = i/100.0; |
DAVIID222 | 0:24034ea3555d | 54 | ThisThread::sleep_for(100); |
DAVIID222 | 0:24034ea3555d | 55 | } |
DAVIID222 | 0:24034ea3555d | 56 | } |
DAVIID222 | 0:24034ea3555d | 57 | } |