![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
potmeter motor aansturing
Dependencies: MODSERIAL mbed Project_script_encoder QEI
Fork of Project_script by
Diff: main.cpp
- Revision:
- 23:d8ab6dcc48ec
- Parent:
- 9:c722418997b5
- Child:
- 24:b995fff06d4e
diff -r c722418997b5 -r d8ab6dcc48ec main.cpp --- a/main.cpp Mon Oct 15 14:16:33 2018 +0000 +++ b/main.cpp Mon Oct 29 15:50:22 2018 +0000 @@ -91,14 +91,51 @@ float m1 = ((u1*2.0f)-1.0f); float m2 = ((u2*2.0f)-1.0f); + + //pc.printf("motorwaarde 1: %f en %f\n\r ",m1,m2); - pwmpin1 = fabs(m1*0.6f)+0.4f; //pwm duty cycle can only be positive, floating, 0.4f is "inefficiënt", dit tellen we erbij op, en keer 0.6 om te corrigeren voor de helling. - directionpin1.write(m1>0); //Indien waar, motor draait rechtsom. Indien niet waar, motor draait linksom. - wait(0.01f); //zodat de code niet oneindig doorgaat. - pwmpin2 = fabs(m2*0.6f)+0.4f; - directionpin2.write(m2>0); + if(m1>0.5) + { + pc.printf("Ik heet Klaas\n\r"); + directionpin1.write(1); //Indien waar, motor draait rechtsom. Indien niet waar, motor draait linksom. + pwmpin1 = fabs(m1); + wait(1.0f); //zodat de code niet oneindig doorgaat. - pc.printf("Encoder count: %i \n\r",encoder); //We moeten de encoder counts nog omzetten naar radialen of graden? + } + else if(m1<-0.5) + { + pc.printf("Ik heet Bert\n\r"); + directionpin1.write(0); //Indien waar, motor draait rechtsom. Indien niet waar, motor draait linksom. + pwmpin1 = fabs(m1); + wait(1.0f); //zodat de code niet oneindig doorgaat. + } + else + { + pwmpin1 = 0; + } + + if(m2>0.5) + { + pc.printf("Ik heet Maria\n\r"); + directionpin2.write(1); //Indien waar, motor draait rechtsom. Indien niet waar, motor draait linksom. + pwmpin2 = fabs(m2); + wait(1.0f); //zodat de code niet oneindig doorgaat. + + } + else if(m2<-0.5) + { + pc.printf("Ik heet Ellis\n\r"); + directionpin2.write(0); //Indien waar, motor draait rechtsom. Indien niet waar, motor draait linksom. + pwmpin2 = fabs(m2); + wait(1.0f); //zodat de code niet oneindig doorgaat. + } + else + { + pwmpin2 = 0; + } + pc.printf("M1 waarde %f en M2 waarde %f \r\n",m1,m2); + + //pc.printf("Encoder count: %i \n\r",encoder); //We moeten de encoder counts nog omzetten naar radialen of graden? } }