EMG filter. Waarden nog niet perfekt.

Dependencies:   HIDScope mbed

Revision:
1:70dc835f3a37
Parent:
0:2956e3501f8a
--- a/main.cpp	Fri Oct 21 12:11:52 2016 +0000
+++ b/main.cpp	Fri Oct 28 08:55:20 2016 +0000
@@ -2,28 +2,109 @@
 #include "HIDScope.h"
 #include "Filter.h"
 #include "FilterDesign.h"
+#include "Filter2.h"
+#include "FilterDesign2.h"
 
-AnalogIn    emg(A0);
+AnalogIn    emg1(A0);
+AnalogIn    emg2(A1);
 
 Ticker      sample_timer;
-HIDScope    scope(2);       // 2 scopes
+HIDScope    scope(4);       // 2 scopes
+
+
+// Motor aanroepen
+DigitalOut motor_1(D7); //richting (1 of 0)
+PwmOut pwm_motor_1(D6); //snelheid (tussen 0 en 1?)
+DigitalOut motor_2(D4); //richting (1 of 0)
+PwmOut pwm_motor_2(D5); //snelheid (tussen 0 en 1?)
+InterruptIn stop(SW3); //stoppen
+InterruptIn turn_1(D9); //wisselen van kant (button 1)
+InterruptIn turn_2(D10); //wisselen van kant (button 2)
+Serial pc(USBTX, USBRX); //USB ports aanroepen
+Ticker faster_slower; //Ticker voor functie om sneller en langzamer te gaan
+
+DigitalOut led1(D2);
+DigitalOut led2(D3);
+
+DigitalOut led_red(LED_RED);
+DigitalOut led_green(LED_GREEN);
+DigitalOut led_blue(LED_BLUE);
+
+volatile double y1;
+volatile double y2;
+volatile double u1;
+volatile double u2;
 
 void sample()
 {
     
-    double u = emg.read();      // ongefitlerd
-    double y = FilterDesign(u); // gefilterd
+    double u1 = emg1.read();      // ongefitlerd
+    double y1 = FilterDesign(u1);  // gefilterd
+    double u2 = emg2.read();      // ongefitlerd
+    double y2 = FilterDesign2(u2);  // gefilterd
     
-    scope.set(0,u); // ongefilterd naar scope 0
-    scope.set(1,y); // gefilterd naar scope 1
+    scope.set(0,u1); // ongefilterd emg1 naar scope 0
+    scope.set(1,y1); // gefilterd emg1 naar scope 1
+    scope.set(2,u2); // ongefilterd emg2 naar scope 2
+    scope.set(3,y2); // gefilterd emg2 naar scope 3
     
     scope.send();
+    
+    /*
+    if (y1 > 0.05)
+    {
+        motor_1 = 1;
+        pwm_motor_1 = 0.6;
+    }
+    else
+    {
+        pwm_motor_1 = 0;
+    }
+    
+    if (y2 > 0.05)
+    {
+        motor_2 = 1;
+        pwm_motor_2 = 0.6;
+    }
+    else
+    {
+        pwm_motor_2 = 0;
+    }
+    */
+    
+    if (y1 >= 0.06)
+    {
+        led_red.write(0);   // aan
+        led_green.write(1); // uit
+        led_blue.write(1);  // uit
+    }
+    if (y2 >= 0.09)
+    {
+        led_red.write(1);   // uit
+        led_green.write(0); // aan
+        led_blue.write(1);  // uit
+    }
+    if (y1 >= 0.06 & y2 >= 0.09)
+    {
+        led_red.write(1);   // uit
+        led_green.write(1); // uit
+        led_blue.write(0);  // aan
+    }
+    else if (y1 < 0.06 & y2 < 0.09)
+    {
+        led_red.write(1);   // uit
+        led_green.write(1); // uit
+        led_blue.write(1);  // uit
+    }
+    
 }
 
+
+
 int main()
 {   
-    
-    sample_timer.attach(&sample, 0.002); // 500 Hz
+    pc.baud(115200);
+    sample_timer.attach(&sample, 0.01); // 500 Hz
     
     while(1) {}
 }
\ No newline at end of file