Werkcollege opgave 23 september BMT K9
Dependencies: Encoder HIDScope MODSERIAL mbed QEI biquadFilter
Diff: main.cpp
- Revision:
- 12:0a079e86348e
- Parent:
- 11:73817c9df1e5
- Child:
- 13:04e10692e239
--- a/main.cpp Thu Oct 01 13:58:16 2015 +0000 +++ b/main.cpp Wed Oct 07 13:22:27 2015 +0000 @@ -1,27 +1,31 @@ #include "mbed.h" -#include "encoder.h" +#include "HIDScope.h" #include "MODSERIAL.h" -//Motor 2 -DigitalOut motor2direction(D4); //D4 en D5 zijn motor 2 (op het motorshield) -PwmOut motor2speed(D5); +//Define objects +AnalogIn emgB(PTB0); //Analog input left +AnalogIn emgT(PTB1); //Analog input right -Encoder encoder(D13,D12); // kanalen waar de encoder op zit -MODSERIAL pc(USBTX,USBRX); //zorgt er voor dat putty kan schrijven +float filtered_emgB; +float filtered_emgT; +float MeanT2, MeanB1, MeanB2, MeanB3; +float filtered_emgT10_C, filtered_emgT11_C, filtered_emgT12_C, filtered_emgT13_C, filtered_emgT14_C, filtered_emgT15_C, filtered_emgT16_C, filtered_emgT17_C, filtered_emgT18_C, filtered_emgT19_C, filtered_emgT110_C, filtered_emgT111_C, filtered_emgT112_C, filtered_emgT113_C, filtered_emgT114_C, filtered_emgT115_C, filtered_emgT116_C, filtered_emgT117_C, filtered_emgT118_C, filtered_emgT119_C; +float B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, MOVAVG_B; +float T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, MOVAVG_T; +float drempelwaardeB1, drempelwaardeB2, drempelwaardeB3, drempelwaardeT1, drempelwaardeT2; //denk niet nodig voor puur filter -//4200 counts per rev. counts/4200 = rev +MODSERIAL pc(USBTX,USBRX); //activeren voor Putty -int main() -{ - pc.baud(9600); - - while(1) { +HIDScope scope(4); // 4 channels in Hidscope - for (double n=0.0f; n<1.0f; n+=0.1f) { - encoder.setPosition(0); - motor2speed = n; - pc.printf("position: %d\r\n", encoder.getPosition()); - wait(5); - } - } -} \ No newline at end of file +arm_biquad_casd_df1_inst_f32 lowpass; +//constants for 50Hz lowpass +float lowpass_const[] = {0.2928920553, 0.5857841107, 0.2928920554, -0, -0.17156822136};//{a0 a1 a2 -b1 -b2} van online calculator +//state values +float lowpass_states[4]; + +arm_biquad_casd_df1_inst_f32 highpass; +//constants for 10Hz highpass +float highpass_const[] = {0.8005910267, -1.6011820533, 0.8005910267, 1.5610153913, -0.6413487154};//{a0 a1 a2 -b1 -b2} +//state values +float highpass_states[4];