Drive Motor Group B4-B5
Fork of ArduMotoShield by
Revision 1:1c712818d82a, committed 2015-12-09
- Comitter:
- NorNick
- Date:
- Wed Dec 09 04:08:22 2015 +0000
- Parent:
- 0:72e45c332025
- Commit message:
- For Finish
Changed in this revision
ArduMotoShield.cpp | Show annotated file Show diff for this revision Revisions of this file |
ArduMotoShield.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 72e45c332025 -r 1c712818d82a ArduMotoShield.cpp --- a/ArduMotoShield.cpp Sat Nov 08 15:44:22 2014 +0000 +++ b/ArduMotoShield.cpp Wed Dec 09 04:08:22 2015 +0000 @@ -22,10 +22,12 @@ #define LOW 0 #define HIGH 1 -DigitalOut inApin(D12, LOW); //direction control for motor outputs 1 and 2 is on digital pin 12 -DigitalOut inBpin(D13, LOW); //direction control for motor outputs 3 and 4 is on digital pin 13 +//DigitalOut inApin(D12, LOW); //direction control for motor outputs 1 and 2 is on digital pin 12 +//DigitalOut inBpin(D13, LOW); //direction control for motor outputs 3 and 4 is on digital pin 13 +BusOut inApin(D11,D12); +BusOut inBpin(D13,D14); PwmOut pwmApin(D3); //PWM control for motor outputs 1 and 2 is on digital pin 3 -PwmOut pwmBpin(D11); //PWM control for motor outputs 3 and 4 is on digital pin 11 +PwmOut pwmBpin(D5); //PWM control for motor outputs 3 and 4 is on digital pin 11 bool isSetup=false; @@ -54,57 +56,72 @@ // Basic ArduMotoShield operations -void ArduMotoShield::forward() //full speed forward +void ArduMotoShield::forward(float A_PWM,float B_PWM) //full speed forward { if(!isSetup) setup(); - inApin.write(LOW); - inBpin.write(LOW); - pwmApin.write(MAXPWM); - pwmBpin.write(MAXPWM); - printf("Forward\n"); + //inApin.write(LOW); + //inBpin.write(LOW); + + inApin=1; + inBpin=1; + pwmApin.write(A_PWM);//(MAXPWM); + pwmBpin.write(B_PWM);//(MAXPWM); + //printf("Forward : %.2f\n",AnaPWM); } -void ArduMotoShield::backward() //full speed backward +void ArduMotoShield::backward(float A_PWM,float B_PWM) //full speed backward { if(!isSetup) setup(); - inApin.write(HIGH); - inBpin.write(HIGH); - pwmApin.write(MAXPWM); - pwmBpin.write(MAXPWM); - printf("Backward\n"); + //inApin.write(HIGH); + //inBpin.write(HIGH); + + inApin=2; + inBpin=2; + pwmApin.write(A_PWM);//(MAXPWM); + pwmBpin.write(B_PWM);//(MAXPWM); + //printf("Backward\n"); +} + +void ArduMotoShield::right(float A_PWM,float B_PWM) +{ + if(!isSetup) setup(); + + //inApin.write(HIGH); + //inBpin.write(LOW); + + inApin=1; + inBpin=2; + pwmApin.write(A_PWM);//(MAXPWM); + pwmBpin.write(B_PWM);//(MAXPWM); + //printf("Right\n"); +} + +void ArduMotoShield::left(float A_PWM,float B_PWM) +{ + if(!isSetup) setup(); + + //inApin.write(LOW); + //inBpin.write(HIGH); + + inApin=2; + inBpin=1; + pwmApin.write(A_PWM);//(MAXPWM); + pwmBpin.write(B_PWM);//(MAXPWM); + //printf("Left\n"); } void ArduMotoShield::stop() { if(!isSetup) setup(); - inApin.write(LOW); - inBpin.write(LOW); + //inApin.write(LOW); + //inBpin.write(LOW); + + inApin=0; + inBpin=0; pwmApin.write(0.0f); pwmBpin.write(0.0f); - printf("Stop\n"); -} - -void ArduMotoShield::right() -{ - if(!isSetup) setup(); - - inApin.write(HIGH); - inBpin.write(LOW); - pwmApin.write(MAXPWM); - pwmBpin.write(MAXPWM); - printf("Right\n"); -} - -void ArduMotoShield::left() -{ - if(!isSetup) setup(); - - inApin.write(LOW); - inBpin.write(HIGH); - pwmApin.write(MAXPWM); - pwmBpin.write(MAXPWM); - printf("Left\n"); -} + //printf("Stop\n"); +} \ No newline at end of file
diff -r 72e45c332025 -r 1c712818d82a ArduMotoShield.h --- a/ArduMotoShield.h Sat Nov 08 15:44:22 2014 +0000 +++ b/ArduMotoShield.h Wed Dec 09 04:08:22 2015 +0000 @@ -24,10 +24,10 @@ static void setVoltages(float vin, float vmaxmotor); static void stop(); - static void forward(); - static void backward(); - static void left(); - static void right(); + static void forward(float A_PWM,float B_PWM); + static void backward(float A_PWM,float B_PWM); + static void left(float A_PWM,float B_PWM); + static void right(float A_PWM,float B_PWM); private: static void setup(); };