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 Encoder
Fork of Lampje_EMG_Gr6 by
Revision 13:493a953a2a85, committed 2014-10-23
- Comitter:
- irisl
- Date:
- Thu Oct 23 13:28:04 2014 +0000
- Parent:
- 12:9e6e49af9304
- Child:
- 14:257026c95f22
- Commit message:
- Verschillende presets voor LED bij aan spannen spier(en)
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Oct 22 15:12:34 2014 +0000
+++ b/main.cpp Thu Oct 23 13:28:04 2014 +0000
@@ -12,7 +12,7 @@
//Define objects
AnalogIn emg0(PTB1); //Analog input
AnalogIn emg1(PTB2); //Analog input
-HIDScope scope(4);
+HIDScope scope(2);
arm_biquad_casd_df1_inst_f32 lowpass_biceps;
arm_biquad_casd_df1_inst_f32 lowpass_deltoid;
@@ -42,8 +42,8 @@
static float number=0;
total = total + filtered_biceps;
number = number + 1;
- if ( number == 50) {
- *average = total/50;
+ if ( number == 500) {
+ *average = total/500;
total = 0;
number = 0;
}
@@ -55,8 +55,8 @@
static float number=0;
total = total + filtered_input;
number = number + 1;
- if ( number == 50) {
- *average_output = total/50;
+ if ( number == 500) {
+ *average_output = total/500;
total = 0;
number = 0;
}
@@ -106,10 +106,10 @@
/*send value to PC. */
//scope.set(0,emg_value1); //Raw EMG signal biceps
//scope.set(1,emg_value2); //Raw EMG signal Deltoid
- scope.set(0,filtered_biceps); //processed float biceps
- scope.set(1,filtered_average_bi); //processed float deltoid
- scope.set(2,filtered_deltoid); //processed float biceps
- scope.set(3,filtered_average_del); //processed float deltoid
+ //scope.set(0,filtered_biceps); //processed float biceps
+ scope.set(0,filtered_average_bi); //processed float deltoid
+ //scope.set(2,filtered_deltoid); //processed float biceps
+ scope.set(1,filtered_average_del); //processed float deltoid
scope.send();
}
@@ -158,6 +158,27 @@
}
}
+void ShineGreen ()
+{
+ myled1 = 1;
+ myled2 = 0;
+ myled3 = 1;
+}
+
+void ShineBlue ()
+{
+ myled1 = 1;
+ myled2 = 1;
+ myled3 = 0;
+}
+
+void ShineRed ()
+{
+ myled1 = 0;
+ myled2 = 1;
+ myled3 = 1;
+}
+
int main()
{
pc.baud(115200);
@@ -176,33 +197,34 @@
while(1) { //Loop
/*Empty!*/
/*Everything is handled by the interrupt routine now!*/
- {
+ static float time = 0;
+
+ time = time + 1;
- while(1) {
- pc.printf("Span de biceps aan om het instellen te starten");
- do {
- myled1 = 1;
- myled2 = 0;
- myled3 = 1;
- } while(filtered_biceps < 0.05);
- if (filtered_deltoid > 0.05 && filtered_biceps < 0.05) { //Wanneer het EMG signaal een piek geeft wordt het volgende uitgevoerd.
- myled1 = 0;
- myled2 = 1;
- myled3 = 1;
- wait (2);
- } else if (filtered_deltoid < 0.05 && filtered_biceps > 0.05) {
- myled1 = 1;
- myled2 = 1;
- myled3 = 0;
- wait (2);
- //} else if (filtered_biceps < 0.05 && filtered_deltoid < 0.05) {
- //break;
- }
+ while(1) {
+ pc.printf("Span de biceps aan om het instellen te starten");
+ do {
+ BlinkGreen();
+ } while(filtered_average_bi < 0.02 && filtered_average_del <0.015);
+ if (filtered_average_del > 0.015 && filtered_average_bi < 0.02) { //Wanneer het EMG signaal een piek geeft wordt het volgende uitgevoerd.
+ ShineBlue();
+ wait(2);
+ time = 0;
+ }
+ if (filtered_average_del < 0.015 && filtered_average_bi > 0.02) {
+ ShineGreen();
+ wait(2);
+ time = 0;
+ } else if (filtered_average_del > 0.015 && filtered_average_bi > 0.02) {
+ ShineRed();
+ wait(2);
+ time = 0;
+ }
- }
}
}
}
+
