Er is uitleg bijgeschreven en pwm_percentage heeft een andere naam
Dependencies: Encoder HIDScope MODSERIAL mbed-dsp mbed
Fork of Lampje_EMG_Gr6 by
Diff: main.cpp
- Revision:
- 26:9859a71456fd
- Parent:
- 25:a12d51345aa4
- Child:
- 27:691779624530
--- a/main.cpp Sat Nov 01 11:34:33 2014 +0000 +++ b/main.cpp Sat Nov 01 12:52:52 2014 +0000 @@ -64,15 +64,15 @@ arm_biquad_casd_df1_inst_f32 lowpass_biceps; arm_biquad_casd_df1_inst_f32 lowpass_deltoid; -//lowpass filter settings: Fc = 5 Hz, Fs = 500 Hz, Gain = -3 dB -float lowpass_const[] = {0.0009446914586925257, 0.0018893829173850514, 0.0009446914586925257, 1.911196288237583, -0.914975054072353}; +//lowpass filter settings: Fc = 2 Hz, Fs = 500 Hz, Gain = -3 dB +float lowpass_const[] = {0.00015514839749793376, 0.00031029679499586753, 0.00015514839749793376, 1.9644602512795832, -0.9650808448695751}; //state values float lowpass_biceps_states[4]; float lowpass_deltoid_states[4]; arm_biquad_casd_df1_inst_f32 highnotch_biceps; arm_biquad_casd_df1_inst_f32 highnotch_deltoid; -//highpass filter settings: Fc = 20 Hz, Fs = 500 Hz, Gain = -3 dB, notch Fc = 50, Fs =500Hz, Gain = -3 dB -float highnotch_const[] = {0.9149684297741606, -1.8299368595483212, 0.9149684297741606, 1.8226935021735358, -0.8371802169231065 ,0.969531252908746, -1.18733334554802E-16, 0.969531252908746, -1.18733334554802E-16, 0.939062505817492}; +//highpass filter settings: Fc = 10 Hz, Fs = 500 Hz, Gain = -3 dB, notch Fc = 49-51, Fs =500Hz, Gain = -3 dB (van Melvin) +float highnotch_const[] = {0.9149684297741606, -1.8299368595483212, 0.9149684297741606, 1.8226935021735358, -0.8371802169231065 ,0.7063988100714527, -1.1429772843080923, 0.7063988100714527, 1.1429772843080923, -0.41279762014290533}; //state values float highnotch_biceps_states[8]; float highnotch_deltoid_states[8]; @@ -90,8 +90,8 @@ static float number=0; total = total + filtered_biceps; number = number + 1; - if ( number == 500) { - *average = total/500; + if ( number == 250) { + *average = total/250; total = 0; number = 0; } @@ -103,8 +103,8 @@ static float number=0; total = total + filtered_input; number = number + 1; - if ( number == 500) { - *average_output = total/500; + if ( number == 250) { + *average_output = total/250; total = 0; number = 0; } @@ -538,7 +538,7 @@ * The looper() function will be called every 0.01 seconds. * Please mind that the parentheses after looper are omitted when using attach. */ - log_timer.attach(looper, 0.001); + log_timer.attach(looper, 0.002); Ticker looptimer; looptimer.attach(looper_motor,TSAMP); @@ -556,21 +556,21 @@ BlinkGreen(); while (1) { pc.printf("In de loop.\n"); - if (filtered_average_bi > 0.05 && filtered_average_del > 0.05) { + if (filtered_average_bi > 0.05 && filtered_average_del > 0.045) { stopblinkgreen(); pc.printf("ShineGreen.\n"); ShineGreen(); wait (4); break; } - if (filtered_average_bi < 0.05 && filtered_average_del > 0.05) { + if (filtered_average_bi < 0.05 && filtered_average_del > 0.045) { stopblinkgreen(); pc.printf("ShineBlue.\n"); ShineBlue(); batje_hoek = 2; wait(4); break; - } else if (filtered_average_bi > 0.05 && filtered_average_del < 0.05) + } else if (filtered_average_bi > 0.05 && filtered_average_del < 0.045) { stopblinkgreen(); @@ -584,7 +584,7 @@ BlinkGreen(); while (1) { pc.printf("In de loop.\n"); - if (filtered_average_bi > 0.05 && filtered_average_del > 0.05) { + if (filtered_average_bi > 0.05 && filtered_average_del > 0.045) { stopblinkgreen(); pc.printf("ShineGreen.\n"); ShineGreen(); @@ -592,14 +592,14 @@ wait (4); break; } - if (filtered_average_bi < 0.05 && filtered_average_del > 0.05) { + if (filtered_average_bi < 0.05 && filtered_average_del > 0.045) { stopblinkgreen(); pc.printf("ShineBlue.\n"); ShineBlue(); arm_hoogte = 1; wait(4); break; - } else if (filtered_average_bi > 0.05 && filtered_average_del < 0.05) + } else if (filtered_average_bi > 0.05 && filtered_average_del < 0.045) { stopblinkgreen(); @@ -610,8 +610,7 @@ break; } } - batje_hoek = 0; - arm_hoogte = 0; + } }