190605

Committer:
jinyoung_KIL
Date:
Wed Jun 05 04:49:24 2019 +0000
Revision:
0:72fcb2468532
good

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jinyoung_KIL 0:72fcb2468532 1 #include "motor.h"
jinyoung_KIL 0:72fcb2468532 2
jinyoung_KIL 0:72fcb2468532 3 /**
jinyoung_KIL 0:72fcb2468532 4 * Constructor.
jinyoung_KIL 0:72fcb2468532 5 */
jinyoung_KIL 0:72fcb2468532 6 Motor::Motor(PinName _pwma,PinName _pwmb, PinName _ain0, PinName _ain1, PinName _bin0, PinName _bin1, float _speed)
jinyoung_KIL 0:72fcb2468532 7 : pwma(_pwma), pwmb(_pwmb), ain1(_ain1), ain0(_ain0), bin0(_bin0), bin1(_bin1) {
jinyoung_KIL 0:72fcb2468532 8 Speed_L = _speed;
jinyoung_KIL 0:72fcb2468532 9 Speed_R = _speed;
jinyoung_KIL 0:72fcb2468532 10 init_speed = _speed;
jinyoung_KIL 0:72fcb2468532 11 }
jinyoung_KIL 0:72fcb2468532 12
jinyoung_KIL 0:72fcb2468532 13 /**
jinyoung_KIL 0:72fcb2468532 14 * Destructor.
jinyoung_KIL 0:72fcb2468532 15 */
jinyoung_KIL 0:72fcb2468532 16 Motor::~Motor() {
jinyoung_KIL 0:72fcb2468532 17 }
jinyoung_KIL 0:72fcb2468532 18
jinyoung_KIL 0:72fcb2468532 19 void Motor::speed_l(float sp_l){
jinyoung_KIL 0:72fcb2468532 20 Speed_L = sp_l;
jinyoung_KIL 0:72fcb2468532 21
jinyoung_KIL 0:72fcb2468532 22 if(Speed_L > 1){
jinyoung_KIL 0:72fcb2468532 23 Speed_L = 1;
jinyoung_KIL 0:72fcb2468532 24 }
jinyoung_KIL 0:72fcb2468532 25 if(Speed_L < 0){
jinyoung_KIL 0:72fcb2468532 26 Speed_L = 0;
jinyoung_KIL 0:72fcb2468532 27 }
jinyoung_KIL 0:72fcb2468532 28 }
jinyoung_KIL 0:72fcb2468532 29
jinyoung_KIL 0:72fcb2468532 30 void Motor::speed_r(float sp_r){
jinyoung_KIL 0:72fcb2468532 31 Speed_R = sp_r;
jinyoung_KIL 0:72fcb2468532 32
jinyoung_KIL 0:72fcb2468532 33 if(Speed_R > 1){
jinyoung_KIL 0:72fcb2468532 34 Speed_R = 1;
jinyoung_KIL 0:72fcb2468532 35 }
jinyoung_KIL 0:72fcb2468532 36 if(Speed_R < 0){
jinyoung_KIL 0:72fcb2468532 37 Speed_R = 0;
jinyoung_KIL 0:72fcb2468532 38 }
jinyoung_KIL 0:72fcb2468532 39 }
jinyoung_KIL 0:72fcb2468532 40
jinyoung_KIL 0:72fcb2468532 41 void Motor::speedup_l(void){
jinyoung_KIL 0:72fcb2468532 42 Speed_L += 0.005;
jinyoung_KIL 0:72fcb2468532 43 if(Speed_L > 1){
jinyoung_KIL 0:72fcb2468532 44 Speed_L = 1;
jinyoung_KIL 0:72fcb2468532 45 }
jinyoung_KIL 0:72fcb2468532 46 }
jinyoung_KIL 0:72fcb2468532 47
jinyoung_KIL 0:72fcb2468532 48 void Motor::speeddown_l(void){
jinyoung_KIL 0:72fcb2468532 49 Speed_L -= 0.005;
jinyoung_KIL 0:72fcb2468532 50 if(Speed_L < 0){
jinyoung_KIL 0:72fcb2468532 51 Speed_L = 0;
jinyoung_KIL 0:72fcb2468532 52 }
jinyoung_KIL 0:72fcb2468532 53 }
jinyoung_KIL 0:72fcb2468532 54
jinyoung_KIL 0:72fcb2468532 55 void Motor::speedup_r(void){
jinyoung_KIL 0:72fcb2468532 56 Speed_R += 0.005;
jinyoung_KIL 0:72fcb2468532 57 if(Speed_R > 1){
jinyoung_KIL 0:72fcb2468532 58 Speed_R = 1;
jinyoung_KIL 0:72fcb2468532 59 }
jinyoung_KIL 0:72fcb2468532 60 }
jinyoung_KIL 0:72fcb2468532 61 void Motor::speeddown_r(void){
jinyoung_KIL 0:72fcb2468532 62 Speed_R -= 0.005;
jinyoung_KIL 0:72fcb2468532 63 if(Speed_R < 0){
jinyoung_KIL 0:72fcb2468532 64 Speed_R = 0;
jinyoung_KIL 0:72fcb2468532 65 }
jinyoung_KIL 0:72fcb2468532 66 }
jinyoung_KIL 0:72fcb2468532 67
jinyoung_KIL 0:72fcb2468532 68 void Motor::forward(void){
jinyoung_KIL 0:72fcb2468532 69 pwma = Speed_L * 0.7;
jinyoung_KIL 0:72fcb2468532 70 pwmb = Speed_R;
jinyoung_KIL 0:72fcb2468532 71
jinyoung_KIL 0:72fcb2468532 72 ain0 = 1;
jinyoung_KIL 0:72fcb2468532 73 ain1 = 0;
jinyoung_KIL 0:72fcb2468532 74
jinyoung_KIL 0:72fcb2468532 75 bin0 = 1;
jinyoung_KIL 0:72fcb2468532 76 bin1 = 0;
jinyoung_KIL 0:72fcb2468532 77 }
jinyoung_KIL 0:72fcb2468532 78
jinyoung_KIL 0:72fcb2468532 79 void Motor::backward(void){
jinyoung_KIL 0:72fcb2468532 80
jinyoung_KIL 0:72fcb2468532 81 pwma = Speed_L;
jinyoung_KIL 0:72fcb2468532 82 pwmb = Speed_R;
jinyoung_KIL 0:72fcb2468532 83
jinyoung_KIL 0:72fcb2468532 84 ain0 = 0;
jinyoung_KIL 0:72fcb2468532 85 ain1 = 1;
jinyoung_KIL 0:72fcb2468532 86
jinyoung_KIL 0:72fcb2468532 87 bin0 = 0;
jinyoung_KIL 0:72fcb2468532 88 bin1 = 1;
jinyoung_KIL 0:72fcb2468532 89 }
jinyoung_KIL 0:72fcb2468532 90
jinyoung_KIL 0:72fcb2468532 91 void Motor::left(void){
jinyoung_KIL 0:72fcb2468532 92 pwma = Speed_L*0.8;
jinyoung_KIL 0:72fcb2468532 93 pwmb = Speed_R;
jinyoung_KIL 0:72fcb2468532 94
jinyoung_KIL 0:72fcb2468532 95 ain0 = 1;
jinyoung_KIL 0:72fcb2468532 96 ain1 = 0;
jinyoung_KIL 0:72fcb2468532 97
jinyoung_KIL 0:72fcb2468532 98 bin0 = 1;
jinyoung_KIL 0:72fcb2468532 99 bin1 = 0;
jinyoung_KIL 0:72fcb2468532 100 }
jinyoung_KIL 0:72fcb2468532 101 void Motor::right(void){
jinyoung_KIL 0:72fcb2468532 102 pwma = Speed_L;
jinyoung_KIL 0:72fcb2468532 103 pwmb = Speed_R*0.85;
jinyoung_KIL 0:72fcb2468532 104
jinyoung_KIL 0:72fcb2468532 105 ain0 = 1;
jinyoung_KIL 0:72fcb2468532 106 ain1 = 0;
jinyoung_KIL 0:72fcb2468532 107
jinyoung_KIL 0:72fcb2468532 108 bin0 = 1;
jinyoung_KIL 0:72fcb2468532 109 bin1 = 0;
jinyoung_KIL 0:72fcb2468532 110 }
jinyoung_KIL 0:72fcb2468532 111 void Motor::stop(void){
jinyoung_KIL 0:72fcb2468532 112 pwma = init_speed;
jinyoung_KIL 0:72fcb2468532 113 pwmb = init_speed;
jinyoung_KIL 0:72fcb2468532 114
jinyoung_KIL 0:72fcb2468532 115 ain0 = 0;
jinyoung_KIL 0:72fcb2468532 116 ain1 = 0;
jinyoung_KIL 0:72fcb2468532 117
jinyoung_KIL 0:72fcb2468532 118 bin0 = 0;
jinyoung_KIL 0:72fcb2468532 119 bin1 = 0;
jinyoung_KIL 0:72fcb2468532 120 }