Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HIDScope MODSERIAL mbed-dsp mbed
Diff: main.cpp
- Revision:
- 3:3d5ad874add0
- Parent:
- 2:083d74325bfb
- Child:
- 4:61bdf601e7b0
--- a/main.cpp Fri Jan 08 10:44:48 2016 +0000 +++ b/main.cpp Fri Jan 08 11:33:34 2016 +0000 @@ -2,8 +2,8 @@ Some variables are also numbered at the end. The numbers stands for the muscle that controls it. Biceps = 1 = lower right arm(wrist flexors) Triceps = 2 = upper right arm(wrist extensors) -Pectoralis Major = 3 = upper left arm(wrist flexors) -Deltoid posterior = 4 = lower left arm(wrist extensors) +Pectoralis Major = 3 = upper left arm(wrist extensors) +Deltoid posterior = 4 = lower left arm(wrist flexors) The "x" and "y" at the end of variables stand for the X-movement or Y-movement respectivly. The code has been revised to work with the new board and also has a secondary way of controlling it using a joystick */ @@ -18,10 +18,10 @@ #define Damp 5 //Deceleration of the motor #define Mass 1 // Mass value #define dt 0.01 //Sample frequency -#define EMG_tresh1 0.02 -#define EMG_tresh2 0.02 -#define EMG_tresh3 0.02 -#define EMG_tresh4 0.02 +#define EMG_tresh1 0.01 +#define EMG_tresh2 0.01 +#define EMG_tresh3 0.01 +#define EMG_tresh4 0.01 #define H_Gain 5 #define Pt_x 0.80 #define Pt_y 0.50 @@ -215,12 +215,12 @@ // send value to PC. - scope.set(0,filtered_pect); //Filtered EMG signal - scope.set(1,filtered_deltoid); + scope.set(0,filtered_biceps); //Filtered EMG signals + scope.set(1,filtered_triceps); /*scope.set(2,filtered_pect); scope.set(3,filtered_deltoid);*/ - scope.set(2,emg3.read());//testing emg signal for cause of variance - scope.set(3,emg4.read()); + scope.set(2,filtered_pect); + scope.set(3,filtered_deltoid); scope.send(); } @@ -268,8 +268,8 @@ void looper_motorx() { - /* emg_x = (filtered_pect - filtered_deltoid); - emg_x_abs = fabs(emg_x); + emg_x = (filtered_pect - filtered_deltoid); + /*emg_x_abs = fabs(emg_x); force2 = emg_x_abs*K_Gain; force2 = force2 - damping2; acc2 = force2/Mass; @@ -278,25 +278,25 @@ step_freq2 = setpoint * speed2; Stepx.period(1.0/step_freq2); speed_old2 = speed2; - +*/ if (emg_x > 0) { Dirx = 1; } if (emg_x < 0) { Dirx = 0; } - //Speed limit + /*//Speed limit if (speed2 > 1) { speed2 = 1; step_freq2 = setpoint; - } + }*/ //EMG treshold if (filtered_pect < EMG_tresh3 && filtered_deltoid < EMG_tresh4) { Enablex = 1; //Enable = 1 turns the motor off. } else { Enablex = 0; } -*/ +/* //0.06 for biceps and triceps movement, 0.03 for wrist lower and upper motion left arm upper 2 connections if (filtered_pect > 0.03) {//right cart movement Dirx.write(1); @@ -314,7 +314,7 @@ Enablex.write(1); } else{} -} +}*/ int main() { @@ -397,7 +397,7 @@ looptimer1.attach(looper_motorx, 0.01); //X-Spindle motor - looptimer2.attach(looper_motory, 0.01); //Y-Spindle motor + //looptimer2.attach(looper_motory, 0.01); //Y-Spindle motor while(1){}; } \ No newline at end of file