Script voor aansturen motoren
Dependencies: Encoder HIDScope MODSERIAL mbed-dsp mbed
Diff: main.cpp
- Revision:
- 12:795657e66960
- Parent:
- 11:ba0a33e6ff0d
- Child:
- 13:7fe679538649
--- a/main.cpp Tue Oct 28 00:22:43 2014 +0000 +++ b/main.cpp Tue Oct 28 00:52:08 2014 +0000 @@ -32,7 +32,9 @@ DigitalOut motordir2(M1_DIR); float speed1; -float hoek1; +float hoek1; +float speed2; +float hoek2; bool flip=false; @@ -52,7 +54,7 @@ scope.send();*/ } -/*void clamp(float * in, float min, float max) +void clamp(float * in, float min, float max) { *in > min ? *in < max? : *in = max: *in = min; } @@ -68,11 +70,12 @@ clamp(&out_i,-I_LIMIT,I_LIMIT); return out_p + out_i; -}*/ +} int main() -{ - speed1 = 0.7; +{ + /*//motor1 + speed1 = 0.7; hoek1 = 0.09; //in seconde wait(1); pwm_motor1.period_us(100); @@ -93,12 +96,27 @@ wait(1); motordir1=0; pwm_motor1.write(speed1); - wait(hoek1); + wait(hoek1); + pwm_motor1.write(0); + */ + + //motor2 + wait(1); + speed2 = 1; + motordir1=1; + pwm_motor1.write(speed2); //Deze snelheid kan lager worden ingesteld om accurator te zijn. + wait(0.11); //naar 90 graden pwm_motor1.write(0); - - - - + wait(1); + motordir1=0; + pwm_motor1.write(speed2); //Deze snelheid moet maximaal om het balletje te slaan. + wait(0.19); //balletje slaan + pwm_motor1.write(0); + wait(1); + motordir1=1; + pwm_motor1.write(speed2); //Deze kan lager worden ingesteld om accurater terug te gaan. + wait(0.06); //terug naar begin positie + pwm_motor1.write(0); Ticker log_timer; Ticker timer; @@ -107,7 +125,7 @@ pc.baud(115200); while(1) { - wait(0.2); + wait(1); pc.printf("%d, %f \r\n", motor1.getPosition(), motor1.getSpeed()); } }