Alles in 1

Dependencies:   Encoder HIDScope MODSERIAL QEI mbed

Fork of RoboBird3 by Fernon Eijkhoudt

Revision:
15:f7e2b20f4dca
Parent:
14:b9c925a8176a
Child:
16:b0ec8e6a8ad4
--- a/main.cpp	Wed Oct 07 14:48:06 2015 +0000
+++ b/main.cpp	Wed Oct 07 17:24:39 2015 +0000
@@ -5,13 +5,17 @@
 
 DigitalOut Direction(D4); //1 = CCW - 0 = CW
 PwmOut PowerMotor(D5); //van 0 tot 1
+PwmOut PowerServo(D7);
 DigitalIn Button(D3);
+DigitalIn Button2(D2);
 AnalogIn PotMeter(A1);
 Encoder MotorEncoder(D12,D13); //Encoder
 Serial pc(USBTX, USBRX);
 Ticker MotorWrite;
+Ticker Sender;
 HIDScope scope(3);
 
+
 double z=0; //initiele waarde potmeter
 const double twopi = 6.2831853071795;
 const double pi = twopi/2;
@@ -26,7 +30,7 @@
 bool Excecute = false;
 double Fs=100;
 
-double n = 8;
+double n = 3;
 
 void MotorSet()
 {
@@ -38,13 +42,21 @@
     }
     PowerMotor.write(fabs(v));
 }
-
+void Send()
+{
+    scope.set(0,Goal);
+    scope.set(1,Rotatieup);
+    scope.set(2,Error);
+//  scope.set(2,v);
+    scope.send();   
+    }
 int main()
 {
     upperlimit = n*twopi;
     pc.baud(115200);
     PowerMotor.write(0);
-    MotorWrite.attach(MotorSet,1/Fs); // Deze ticker moet de waarde uitlezen van de PotMeter 10 keer per seconde
+    Sender.attach(Send,1/Fs/2);
+    MotorWrite.attach(MotorSet,1/Fs); // Deze ticker moet de waarde uitlezen van de PotMeter Fs keer per seconde
     while (true) {
         if (Button == 0) {
             Excecute =! Excecute;
@@ -58,14 +70,10 @@
             Goal = PotMeter.read()*upperlimit; // Het doel waar hij naar toe moet
             Error = Goal-Rotatieup; // De error die het motortje maakt ten opzichte van je Goal
             pc.printf("Error = %f\n Goal = %f\n", Error, Goal);
-            if (Error>=-0.1 && Error<=0.1) {
+            if (Error>=-0.001 && Error<=0.001) {
                 Excecute=false;
-                PowerMotor.write(0);
+                v=0;
             }
-            scope.set(0,Goal);
-            scope.set(1,Rotatieup);
-            scope.set(2,Error);
-            scope.send();
         }
     }
 }
\ No newline at end of file