Jan-Willem Bisschop
/
EMG_filter
EMG filter. Waarden nog niet perfekt.
Diff: main.cpp
- 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