el archivo cambio, la libreria del servo es distinta

Dependencies:   Servo

Files at this revision

API Documentation at this revision

Comitter:
intersect20
Date:
Wed Nov 18 17:00:44 2020 +0000
Parent:
0:24034ea3555d
Commit message:
proyecto Radar;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Tue Nov 17 13:30:38 2020 +0000
+++ b/main.cpp	Wed Nov 18 17:00:44 2020 +0000
@@ -2,6 +2,8 @@
 #include "rtos.h"
 #include "Servo.h"
 
+Serial pc(USBTX, USBRX);
+
 DigitalOut trig(D3);
 DigitalIn echo(D2);
 Servo myservo(D4);
@@ -10,22 +12,24 @@
 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){
+void tarea1(void)
+{
+    while(true) {
         senal.reset();
         trig = 0;
         wait_us(2);
@@ -37,21 +41,33 @@
         while(echo==1);
         senal.stop();
         distancia = (senal.read_us())/58;
-        printf("%.f\n\r",distancia);
+        pc.printf("%.f;%.f\n\r",angle,distancia);
         ThisThread::sleep_for(50);
     }
 }
 
-void tarea2(void){
-    myservo.calibrate(0.0009, 180.0);
-    while(true){
-        for(int i=0; i<100; i++){
-            myservo = i/100.0;
-            ThisThread::sleep_for(100);
-        }
-        for(int i=100; i>0; i--){
-            myservo = i/100.0;
-            ThisThread::sleep_for(100);
+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;
+
         }
     }
 }
\ No newline at end of file