Translates the true/false of the muscles to the movement that should take place

Dependencies:   mbed

Committer:
woutende
Date:
Tue Oct 27 13:21:10 2015 +0000
Revision:
0:791d8001d643
Translate the active muscle signals to the kind of movement that has to take place

Who changed what in which revision?

UserRevisionLine numberNew contents of line
woutende 0:791d8001d643 1 #include "mbed.h"
woutende 0:791d8001d643 2
woutende 0:791d8001d643 3 DigitalOut gpo(D0);
woutende 0:791d8001d643 4 DigitalOut led(LED_RED);
woutende 0:791d8001d643 5
woutende 0:791d8001d643 6 //Constants
woutende 0:791d8001d643 7 int m = 100;
woutende 0:791d8001d643 8
woutende 0:791d8001d643 9 // For making the system work in the end:
woutende 0:791d8001d643 10 // - Replace the input stated directly below
woutende 0:791d8001d643 11 // - Replace the output given with the output needed
woutende 0:791d8001d643 12
woutende 0:791d8001d643 13 // function determines which movement the system will make
woutende 0:791d8001d643 14 // It will check if the right and/or left muscle is contracted and then mention in which state the system is in
woutende 0:791d8001d643 15
woutende 0:791d8001d643 16 void check_state(&state_left, &state_right)
woutende 0:791d8001d643 17 //If the left mucle is contracted:
woutende 0:791d8001d643 18 if (state_left == true)
woutende 0:791d8001d643 19 {
woutende 0:791d8001d643 20 //The right muscle is contracted as is the left muscle
woutende 0:791d8001d643 21 if (state_right == true)
woutende 0:791d8001d643 22 {
woutende 0:791d8001d643 23 //Set value to keypress
woutende 0:791d8001d643 24 string state = "keypress";
woutende 0:791d8001d643 25 }
woutende 0:791d8001d643 26 // The left mucle is contracted and the right is not
woutende 0:791d8001d643 27 else
woutende 0:791d8001d643 28 {
woutende 0:791d8001d643 29 // Set value to left
woutende 0:791d8001d643 30 string state = "left";
woutende 0:791d8001d643 31 }
woutende 0:791d8001d643 32 }
woutende 0:791d8001d643 33 //If the left muscle is not contracted
woutende 0:791d8001d643 34 else
woutende 0:791d8001d643 35 {
woutende 0:791d8001d643 36 // Right mucle is contracted and left is not
woutende 0:791d8001d643 37 if (state_right == true)
woutende 0:791d8001d643 38 {
woutende 0:791d8001d643 39 //Set value to right
woutende 0:791d8001d643 40 string state = "right";
woutende 0:791d8001d643 41 }
woutende 0:791d8001d643 42 //None of the muslces is contracted (rest)
woutende 0:791d8001d643 43 else
woutende 0:791d8001d643 44 {
woutende 0:791d8001d643 45 // Set value to rest
woutende 0:791d8001d643 46 string state = "rest";
woutende 0:791d8001d643 47 }
woutende 0:791d8001d643 48 }
woutende 0:791d8001d643 49 }
woutende 0:791d8001d643 50
woutende 0:791d8001d643 51 void check_state(&state) {
woutende 0:791d8001d643 52 if (state = state_old) {
woutende 0:791d8001d643 53 sequential = sequential + 1;
woutende 0:791d8001d643 54 if (sequential > m) {
woutende 0:791d8001d643 55 //move motor
woutende 0:791d8001d643 56
woutende 0:791d8001d643 57 //Don't let sequential fully reset. This way the piano can be played faster.
woutende 0:791d8001d643 58 sequential = sequential/2;
woutende 0:791d8001d643 59 }
woutende 0:791d8001d643 60 }
woutende 0:791d8001d643 61 else {
woutende 0:791d8001d643 62 sequential = 0;
woutende 0:791d8001d643 63 state_old = state;
woutende 0:791d8001d643 64 }
woutende 0:791d8001d643 65
woutende 0:791d8001d643 66 int main()
woutende 0:791d8001d643 67 {
woutende 0:791d8001d643 68 check_state()
woutende 0:791d8001d643 69 check_change_state()
woutende 0:791d8001d643 70 }