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: Project_main.cpp
- Revision:
- 36:af949aaaba01
- Parent:
- 35:c3182df00ec8
- Child:
- 37:2d248e64b745
--- a/Project_main.cpp Tue Oct 07 13:01:09 2014 +0000
+++ b/Project_main.cpp Tue Oct 07 13:39:45 2014 +0000
@@ -2,8 +2,8 @@
#include "MODSERIAL.h"
#include "HIDScope.h"
-#define TIMEB4NEXTCHOICE 1 // 1s keuzelampje blijft aan
-#define TIMEBETWEENBLINK 10 // 1s voor volgende blink
+#define TIMEB4NEXTCHOICE 5 // 1s keuzelampje blijft aan
+#define TIMEBETWEENBLINK 50 // 1s voor volgende blink
//Define objects
AnalogIn emg0(PTB1); //Analog input biceps
@@ -40,9 +40,9 @@
if(pc.rxBufferGetSize(0)-pc.rxBufferGetCount() > 30) { //VRAAG: praktisch nut hiervan? print emg value wanneer buffercount groter dan 30 is
//pc.printf("%u\n",emg_bivalue);
}
-
+
/* EMG-singaal van biceps en triceps worden hier gefilterd*/
-
+
scope.set(0,emg_bivalue);
scope.set(1,emg_bifloat.read());
scope.set(2,emg_trivalue);
@@ -69,24 +69,20 @@
log_timer.attach(looper, 0.001); // The looper() function will be called every 0.001 seconds (with the ticker object)
// reset_timer.attach(resetlooper, 0.1); //
- goto directionchoice; // goes to first while(1) for the deciding the direction
-
- while(1) { //Loop keuze DIRECTION
-directionchoice:
+ while(1) { //Loop
for(int i=1; i<4; i++) {
if(i==1) { //red
red=0;
green=1;
blue=1;
- for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
- if(emg_bifloat.read()>0.8) { // 0.8 klopt niet als grenswaarde. #nofilter
+ for (int lag=0; lag<50; lag++) {
+ if(emg_bifloat.read()>0.8) { // 0.8 klopt niet als grenswaarde. #nofilter
direction = 1;
- red=1;
+ blue = 0;
green = 0;
- blue = 0;
- pc.printf("links ");
- wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om cyaan lampje aan te zetten ter controle selectie
- goto forcechoice; // goes to second while(1) for the deciding the force
+ red=1;
+ wait(2); // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
+ goto forcechoice;
} else {
wait(0.1);
}
@@ -96,14 +92,13 @@
red =1;
green=0;
blue=1;
- for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
+ for (int lag=0; lag<50; lag++) {
if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter
direction = 2;
- red=0;
+ blue = 0;
green = 1;
- blue = 0;
- pc.printf("mid ");
- wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om paars lampje aan te zetten ter controle selectie
+ red=0;
+ wait(2); // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
goto forcechoice;
} else {
wait(0.1);
@@ -114,14 +109,13 @@
red=1;
green=1;
blue=0;
- for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
+ for (int lag=0; lag<50; lag++) {
if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter
direction = 3;
- red=0;
+ blue = 1;
green = 0;
- blue = 1;
- pc.printf("rechts ");
- wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
+ red=0;
+ wait(2); // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
goto forcechoice;
} else {
wait(0.1);
@@ -129,78 +123,149 @@
}
}
}
+
}
- while(1) { //Loop keuze FORCE
forcechoice:
- for(int j=1; j<4; j++) {
- if(j==1) { //red
- red=0;
- green=1;
- blue=1;
- if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is)
- goto directionchoice;
- }
- for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
- if(emg_bifloat.read()>0.8) { // 0.8 klopt niet als grenswaarde. #nofilter
- force = 1;
- red=1;
- green = 0;
- blue = 0;
- pc.printf("zwak ");
- wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om cyaan lampje aan te zetten ter controle selectie
- goto choicesmade;
- } else {
- wait(0.1);
+ red = 0;
+ green = 0;
+ blue = 0;
+ wait(5);
+
+
+ /*
+ goto directionchoice; // goes to first while(1) for the deciding the direction
+
+ while(1) { //Loop keuze DIRECTION
+ directionchoice:
+ for(int i=1; i<4; i++) {
+ if(i==1) { //red
+ red=0;
+ green=1;
+ blue=1;
+ for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
+ if(emg_bifloat.read()>0.8) { // 0.8 klopt niet als grenswaarde. #nofilter
+ direction = 1;
+ red=1;
+ green = 0;
+ blue = 0;
+ pc.printf("links ");
+ wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om cyaan lampje aan te zetten ter controle selectie
+ goto forcechoice; // goes to second while(1) for the deciding the force
+ } else {
+ wait(0.1);
+ }
}
}
- }
- if(j==2) { //green
- red =1;
- green=0;
- blue=1;
- if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is)
- goto directionchoice;
- }
- for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
- if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter
- force = 2;
- red=0;
- green = 1;
- blue = 0;
- pc.printf("normaal ");
- wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om paars lampje aan te zetten ter controle selectie
- goto choicesmade;
- } else {
- wait(0.1);
+ if(i==2) { //green
+ red =1;
+ green=0;
+ blue=1;
+ for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
+ if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter
+ direction = 2;
+ red=0;
+ green = 1;
+ blue = 0;
+ pc.printf("mid ");
+ wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om paars lampje aan te zetten ter controle selectie
+ goto forcechoice;
+ } else {
+ wait(0.1);
+ }
}
}
- }
- if(j==3) { //blue
- red=1;
- green=1;
- blue=0;
- if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is)
- goto directionchoice;
- }
- for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
- if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter
- force = 3;
- red=0;
- green = 0;
- blue = 1;
- pc.printf("sterk ");
- wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
- goto choicesmade;
- } else {
- wait(0.1);
+ if(i==3) { //blue
+ red=1;
+ green=1;
+ blue=0;
+ for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
+ if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter
+ direction = 3;
+ red=0;
+ green = 0;
+ blue = 1;
+ pc.printf("rechts ");
+ wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
+ goto forcechoice;
+ } else {
+ wait(0.1);
+ }
}
}
}
}
- }
-choicesmade:
+ while(1) { //Loop keuze FORCE
+ forcechoice:
+ for(int j=1; j<4; j++) {
+ if(j==1) { //red
+ red=0;
+ green=1;
+ blue=1;
+ if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is)
+ goto directionchoice;
+ }
+ for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
+ if(emg_bifloat.read()>0.8) { // 0.8 klopt niet als grenswaarde. #nofilter
+ force = 1;
+ red=1;
+ green = 0;
+ blue = 0;
+ pc.printf("zwak ");
+ wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om cyaan lampje aan te zetten ter controle selectie
+ goto choicesmade;
+ } else {
+ wait(0.1);
+ }
+ }
+ }
+ if(j==2) { //green
+ red =1;
+ green=0;
+ blue=1;
+ if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is)
+ goto directionchoice;
+ }
+ for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
+ if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter
+ force = 2;
+ red=0;
+ green = 1;
+ blue = 0;
+ pc.printf("normaal ");
+ wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om paars lampje aan te zetten ter controle selectie
+ goto choicesmade;
+ } else {
+ wait(0.1);
+ }
+ }
+ }
+ if(j==3) { //blue
+ red=1;
+ green=1;
+ blue=0;
+ if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is)
+ goto directionchoice;
+ }
+ for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
+ if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter
+ force = 3;
+ red=0;
+ green = 0;
+ blue = 1;
+ pc.printf("sterk ");
+ wait(TIMEB4NEXTCHOICE); // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
+ goto choicesmade;
+ } else {
+ wait(0.1);
+ }
+ }
+ }
+ }
+ }
+ choicesmade:
- /* Vanaf hier komt de aansturing van de motor (inclusief de controller)*/
+ /* Vanaf hier komt de aansturing van de motor (inclusief de controller)*/
+ /*
if(direction == 1 && force == 1) { // links zwak
pc.printf("links zwak");
@@ -236,5 +301,5 @@
red = 0;
green = 0;
- blue = 0; // wit lampje
+ blue = 0; // wit lampje */
}
\ No newline at end of file