190605
Revision 0:72fcb2468532, committed 2019-06-05
- Comitter:
- jinyoung_KIL
- Date:
- Wed Jun 05 04:49:24 2019 +0000
- Commit message:
- good
Changed in this revision
motor.cpp | Show annotated file Show diff for this revision Revisions of this file |
motor.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 72fcb2468532 motor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/motor.cpp Wed Jun 05 04:49:24 2019 +0000 @@ -0,0 +1,120 @@ +#include "motor.h" + +/** + * Constructor. + */ +Motor::Motor(PinName _pwma,PinName _pwmb, PinName _ain0, PinName _ain1, PinName _bin0, PinName _bin1, float _speed) +: pwma(_pwma), pwmb(_pwmb), ain1(_ain1), ain0(_ain0), bin0(_bin0), bin1(_bin1) { + Speed_L = _speed; + Speed_R = _speed; + init_speed = _speed; +} + +/** + * Destructor. + */ +Motor::~Motor() { +} + +void Motor::speed_l(float sp_l){ + Speed_L = sp_l; + + if(Speed_L > 1){ + Speed_L = 1; + } + if(Speed_L < 0){ + Speed_L = 0; + } +} + +void Motor::speed_r(float sp_r){ + Speed_R = sp_r; + + if(Speed_R > 1){ + Speed_R = 1; + } + if(Speed_R < 0){ + Speed_R = 0; + } +} + +void Motor::speedup_l(void){ + Speed_L += 0.005; + if(Speed_L > 1){ + Speed_L = 1; + } +} + +void Motor::speeddown_l(void){ + Speed_L -= 0.005; + if(Speed_L < 0){ + Speed_L = 0; + } +} + +void Motor::speedup_r(void){ + Speed_R += 0.005; + if(Speed_R > 1){ + Speed_R = 1; + } +} +void Motor::speeddown_r(void){ + Speed_R -= 0.005; + if(Speed_R < 0){ + Speed_R = 0; + } +} + +void Motor::forward(void){ + pwma = Speed_L * 0.7; + pwmb = Speed_R; + + ain0 = 1; + ain1 = 0; + + bin0 = 1; + bin1 = 0; +} + +void Motor::backward(void){ + + pwma = Speed_L; + pwmb = Speed_R; + + ain0 = 0; + ain1 = 1; + + bin0 = 0; + bin1 = 1; +} + +void Motor::left(void){ + pwma = Speed_L*0.8; + pwmb = Speed_R; + + ain0 = 1; + ain1 = 0; + + bin0 = 1; + bin1 = 0; +} +void Motor::right(void){ + pwma = Speed_L; + pwmb = Speed_R*0.85; + + ain0 = 1; + ain1 = 0; + + bin0 = 1; + bin1 = 0; +} +void Motor::stop(void){ + pwma = init_speed; + pwmb = init_speed; + + ain0 = 0; + ain1 = 0; + + bin0 = 0; + bin1 = 0; +} \ No newline at end of file
diff -r 000000000000 -r 72fcb2468532 motor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/motor.h Wed Jun 05 04:49:24 2019 +0000 @@ -0,0 +1,47 @@ +#ifndef _MOTOR_H_ +#define _MOTOR_H_ + +#include <mbed.h> + +/** + * IR receiver class. + */ +class Motor { +public: + + /** + * Constructor. + * + * @param rxpin Pin for receive IR signal. + */ + Motor::Motor(PinName _pwma=D6, PinName _pwmb=D5, PinName _ain0=PA_0, PinName _ain1=PA_1, PinName _bin0=PB_0, PinName _bin1=PA_4, float _speed=0.7); + /** + * Destructor. + */ + ~Motor(); + + float Speed_L, Speed_R, init_speed; + + PwmOut pwma; + PwmOut pwmb; + DigitalOut ain0; + DigitalOut ain1; + DigitalOut bin0; + DigitalOut bin1; + + void right(void); + void left(void); + void forward(void); + void backward(void); + void stop(void); + + void speedup_l(void); + void speeddown_l(void); + void speedup_r(void); + void speeddown_r(void); + + void speed_l(float sp_l); + void speed_r(float sp_r); +}; + +#endif \ No newline at end of file