4 directional EMG control of the XY table. Made during my bachelor end assignment.

Dependencies:   C12832_lcd HIDScope mbed-dsp mbed

Revision:
12:5099e4897586
Parent:
11:74ae4e5e11ab
--- a/main.cpp	Tue Apr 28 12:28:53 2015 +0000
+++ b/main.cpp	Tue Apr 28 14:06:44 2015 +0000
@@ -1,7 +1,7 @@
 #include "mbed.h"
 #include "C12832_lcd.h"
 
-#define P_GAIN 0.9999
+#define P_GAIN 0.99
 
 DigitalOut Dir(p21);
 PwmOut Step(p22);
@@ -12,29 +12,51 @@
 C12832_LCD lcd;
 
 BusIn Joystick(p12,p13,p14,p15,p16);
-DigitalIn Up(p15);
-DigitalIn Down(p12);
+BusIn Up(p15);
+BusIn Down(p12);
+
+float setpoint = 2000; //Frequentie
+float step_freq = 1;
+float new_step_freq;
+
+void Omhoog ()
+{
+    Dir = 1;
+    new_step_freq = ((1-P_GAIN)*setpoint) + (P_GAIN*step_freq);
+    step_freq = new_step_freq;
+    Step.period(1.0/step_freq);
+    wait(0.01); //Hier nog ticker inbouwen
+}
+void Omlaag ()
+{
+    Dir = 0;
+    new_step_freq = ((1-P_GAIN)*setpoint) + (P_GAIN*step_freq);
+    step_freq = new_step_freq;
+    Step.period(1.0/step_freq);
+    wait(0.01); //Hier nog ticker inbouwen
+}
+
+
 int main()
 {
-    float setpoint = 2000; //Frequentie 
-    float step_freq = 1;
+
     MS1 = 1;
     MS2 = 0;
     MS3 = 0;
-    int p1;
+    //int p1;
 
     Step.period(1./step_freq); // 1 kHz, vanaf 2,5 kHz doet de motor het niet meer.
     Step.write(0.5); // Duty cycle van 50%
-   // Dir = Pot1; // Dir 1 is naar boven, Dir 0 naar onder.
+    Dir = 0; // Dir 1 is naar boven, Dir 0 naar onder.
+    
     while (1) {
-        p1 = Pot1.read();
-        Dir = Pot1;
-        float new_step_freq;
-        new_step_freq = ((1-P_GAIN)*setpoint) + (P_GAIN*step_freq);
-        step_freq = new_step_freq;
-        Step.period(1.0/step_freq);
-        lcd.printf("Pot1 : %d \n", p1);
-        wait(0.01); //Hier nog ticker inbouwen
+        
+        if (Up)
+            Omhoog ();
+        
+        if (Down)
+            Omlaag ();
+     
 
     }
 }
\ No newline at end of file