![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Het totale EMG script
Dependencies: HIDScope MODSERIAL biquadFilter mbed
Fork of EMG_totaal by
Diff: main.cpp
- Revision:
- 30:29c9e9d0e398
- Parent:
- 29:c43e9f78db37
- Child:
- 31:a17c20e0614e
--- a/main.cpp Thu Oct 15 10:54:01 2015 +0000 +++ b/main.cpp Thu Oct 15 12:56:45 2015 +0000 @@ -12,9 +12,10 @@ Ticker serial; Ticker MovingAverageLeft; Ticker MovingAverageRight; - HIDScope scope(6); + HIDScope scope(3); DigitalOut led(LED_RED); DigitalOut ledG(LED_GREEN); + DigitalOut ledB(LED_BLUE); MODSERIAL pc(USBTX, USBRX); @@ -33,7 +34,9 @@ double EMG_right_f3; double EMG_right_abs; double Threshold1; - double Threshold2 = 0.06; + double Threshold2; + double Threshold3; + double Threshold4; int N = 50; double MAF_left[50]; @@ -102,12 +105,9 @@ // HIDScope void ScopeSend() { - scope.set(0, EMG_left_value); - scope.set(1, EMG_left_f1); - scope.set(2, EMG_left_abs); - scope.set(3, EMG_left_f2); - scope.set(4, EMG_left_f3); - scope.set(5, EMG_left_MAF); + scope.set(0, EMG_left_MAF); + scope.set(1, Threshold1); + scope.set(2, Threshold2); scope.send(); } @@ -121,17 +121,53 @@ MovingAverageRight.attach(&MovingAverageFilterRight, 0.005); pc.baud(115200); + ledG.write(1), led.write(1), ledB.write(1); + wait(20); + ledG.write(1); - wait(20); + wait(0.2); + ledG.write(0); + wait(0.2); + ledG.write(1); + wait(0.2); + ledG.write(0); + wait(0.2); + ledG.write(1); + wait(0.2); ledG.write(0); wait(2); - Threshold1 = 0.75*EMG_left_MAF; - pc.printf("%f\n", Threshold1); + Threshold1 = 0.5*EMG_left_MAF; + Threshold2 = 0.2*EMG_left_MAF; + ledG.write(1); + + wait(2); + ledB.write(1); + wait(0.2); + ledB.write(0); + wait(0.2); + ledB.write(1); + wait(0.2); + ledB.write(0); + wait(0.2); + ledB.write(1); + wait(0.2); + ledB.write(0); + wait(2); + Threshold3 = 0.5*EMG_right_MAF; + Threshold4 = 0.2*EMG_right_MAF; + ledB.write(1); + + pc.printf("T1 = %f, T2 = %f, T3 = %f, T4 = %f\n", Threshold1, Threshold2, Threshold3, Threshold4); ledG.write(1); while(1) { - if (EMG_left_f3 > Threshold1) + if (EMG_left_MAF > Threshold1) + { + led.write(0); + } + + else if((EMG_left_MAF > Threshold2) && (led == 0 )) { led.write(0); }