the slap
Dependencies: Encoder HIDScope MODSERIAL TextLCD mbed-dsp mbed
Fork of The_SLAP_5_1 by
Diff: main.cpp
- Revision:
- 5:5383d9a80307
- Parent:
- 4:a0b0c944846e
- Child:
- 6:cb5daf35ba9b
--- a/main.cpp Mon Oct 27 15:16:06 2014 +0000 +++ b/main.cpp Mon Oct 27 15:43:34 2014 +0000 @@ -67,7 +67,7 @@ float envelop_biceps_states[4]; float envelop_triceps_states[4]; -enum slapstates {RUST,RUSTMETING,KALIBRATIE,BICEPSMAX,TRICEPSMAX,RICHTEN,SLAAN}; //verschillende stadia definieren voor gebruik in CASES +enum slapstates {RUST,KALIBRATIE,RICHTEN,SLAAN}; //verschillende stadia definieren voor gebruik in CASES uint8_t state=RUST; volatile bool looptimerflag; @@ -200,14 +200,42 @@ metingstatus=5; } if (metingstatus==5) { + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Kalibratie OK"); //regel 1 LCD scherm + lcd.locate(0,1); + lcd.printf(""); //regel 2 LCD scherm + wait(1); state = RICHTEN; } break; } case RICHTEN: { //Batje richten - lcd.printf("Richten"); - wait(1); - max_value = 0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("RICHTEN"); //regel 1 LCD scherm + lcd.locate(0,1); + lcd.printf("KIES GOAL"); //regel 2 LCD scherm + wait(1); + int goalkeuze=1; //midden goadl + float kalibratiewaarde_biceps,kalibratiewaarde_triceps; + kalibratiewaarde_biceps=(envelop_emg0/max_value_biceps); //RUSTWAARDES NOG NIET GEBRUIKT + kalibratiewaarde_triceps=(envelop_emg1/max_value_triceps); + tijdtimer.start(); + if (kalibratiewaarde_biceps>0.3);{ + goalkeuze = 0; //linker goal + } + if (kalibratiewaarde_triceps>0.3); { + goalkeuze = 2; //rechter goal + } + if (tijdtimer == 5) { + tijdtimer.stop(); + tijdtimer.reset(); + state = SLAAN; + } + + + keep_in_range(&pwm_to_motor, -1,1); @@ -216,7 +244,7 @@ else motordir1.write(0); pwm_motor1.write(abs(pwm_to_motor)); - state = SLAAN; + break; } case SLAAN: { //Balletje slaan @@ -233,4 +261,6 @@ } } +} + } \ No newline at end of file