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: Encoder HIDScope MODSERIAL QEI biquadFilter mbed
Diff: main.cpp
- Revision:
- 29:263c680068db
- Parent:
- 28:482ac040fb0d
- Child:
- 30:176ca1193a0a
--- a/main.cpp Sat Oct 10 21:48:01 2015 +0000 +++ b/main.cpp Sat Oct 10 22:00:24 2015 +0000 @@ -50,9 +50,6 @@ double reference_turn=0; // Set constant to store reference value of the Turn motor double position_turn; // Set constant to store current position of the Turn motor - double error; - double pwm_to_motor_turn; - double pwm_to_motor_strike; double position_strike; double EMG_R; double EMG_L; @@ -65,23 +62,23 @@ // START OF CODE // pc.printf("Start of code \n\r"); - pc.baud(115200); // Set the baudrate + pc.baud(115200); // Set the baudrate // Calibratie // - double max_L_EMG = 100; // Calibreren (max average over 5 seconde?) gemeten integraal EMG over tijd / (tijdsample stappen)=100 + double max_L_EMG = 100; // Calibreren (max average over 5 seconde?) gemeten integraal EMG over tijd / (tijdsample stappen)=100 double min_L_EMG = 0; - double max_R_EMG = 100; // Calibreren + double max_R_EMG = 100; // Calibreren double min_R_EMG = 0; - double Hit=60; // position when bottle is hit + double Hit=60; // position when bottle is hit - const double Threshold_Bicep_Left_1=20; // percentages van min en max EMG - const double Threshold_Bicep_Left_2=60; - const double Threshold_Bicep_Right_1=20; - const double Threshold_Bicep_Right_2=60; + const double Threshold_Bicep_Left_1=((max_L_EMG-min_L_EMG)*0.2)+min_L_EMG; //(waarde waarop het gemeten EMG signaal 20% van max het maximale is); // LEFT + const double Threshold_Bicep_Left_2=((max_L_EMG-min_L_EMG)*0.6)+min_L_EMG; //(waarde waarop het gemeten EMG signaal 60% van max het maximale is); + const double Threshold_Bicep_Right_1=((max_R_EMG-min_R_EMG)*0.2)+min_R_EMG; //(waarde waarop het gemeten EMG signaal 20% van max het maximale is); // RIGHT + const double Threshold_Bicep_Right_2=((max_R_EMG-min_R_EMG)*0.6)+min_R_EMG; //(waarde waarop het gemeten EMG signaal 60% van max het maximale is); const double change_one_bottle=45; //(45 graden change) // Tickers - Hidscope_measure.attach(send, sample_time); // GAAT NOG NIET GOED WAARSCHIJNLIJK ALS EEN WHILE LOOP WORDT UTIGEVOERD + Hidscope_measure.attach(send, sample_time); // GAAT NOG NIET GOED WAARSCHIJNLIJK ALS EEN WHILE LOOP WORDT UTIGEVOERD pc.printf("wait \n\r"); wait (3); // Wait before starting system @@ -118,7 +115,7 @@ debug_led_red=off; wait(0.05); // wait 10 samples debug_led_red=on; - pwm_motor_strike=((EMG_L-min_L_EMG)+(EMG_R-min_R_EMG))/((max_L_EMG-min_L_EMG)+(max_R_EMG-min_R_EMG))*0.7 + 0.3; // min speed 0.3 en max 1 + pwm_motor_strike=((EMG_L-min_L_EMG)+(EMG_R-min_R_EMG))/((max_L_EMG-min_L_EMG)+(max_R_EMG-min_R_EMG))*0.7 + 0.3; // min speed 0.3 en max 1 wait(0.05); // wait 10 samples more (pwm changes per 0.1 seconds) motordirection_strike=cw; // towards bottle @@ -153,12 +150,12 @@ n=1; } - if (fabs(position_turn-reference_turn)<2) // als error en kleiner dan twee graden + if (fabs(position_turn-reference_turn)<2) // als error en kleiner dan twee graden { debug_led_blue=off; debug_led_red=on; wait(0.5); - if (fabs(position_turn-reference_turn)<2) // Is de error na 0.5 seconde nog steeds kleiner dan twee graden? + if (fabs(position_turn-reference_turn)<2) // Is de error na 0.5 seconde nog steeds kleiner dan twee graden? { goto Nieuwe_actie; // kunt weer iets nieuws doen indien vorige actie is uitgevoerd } @@ -187,12 +184,12 @@ n=1; } //(45 graden naar rechts voor volgende fles) //wordt maar 1 keer uitgevoerd - if (abs(position_turn-reference_turn)<2) // als error en kleiner dan twee graden + if (abs(position_turn-reference_turn)<2) // als error en kleiner dan twee graden { debug_led_blue=off; debug_led_red=on; wait(0.5); - if (abs(position_turn-reference_turn)<2) // Is de error na 0.5 seconde nog steeds kleiner dan twee graden? + if (abs(position_turn-reference_turn)<2) // Is de error na 0.5 seconde nog steeds kleiner dan twee graden? { goto Nieuwe_actie; // kunt weer iets nieuws doen indien vorige actie is uitgevoerd }