TDPS3

Committer:
QingshuZhang
Date:
Tue Mar 19 12:38:17 2019 +0000
Revision:
0:32705e4af4b9
TDPS3;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
QingshuZhang 0:32705e4af4b9 1 #include "L298_H.h"
QingshuZhang 0:32705e4af4b9 2 #include <mbed.h>
QingshuZhang 0:32705e4af4b9 3
QingshuZhang 0:32705e4af4b9 4
QingshuZhang 0:32705e4af4b9 5 L298::L298(PinName pin1, PinName pin2, PinName pin3):m_motorEnable(pin1),m_motorBw(pin2),m_motorFw(pin3){
QingshuZhang 0:32705e4af4b9 6 /*class constructor : initializes the motors with
QingshuZhang 0:32705e4af4b9 7 forward enable and speed of 0.3 */
QingshuZhang 0:32705e4af4b9 8
QingshuZhang 0:32705e4af4b9 9 //m_dir = true;
QingshuZhang 0:32705e4af4b9 10 //m_speed = 0.2;
QingshuZhang 0:32705e4af4b9 11
QingshuZhang 0:32705e4af4b9 12 m_motorEnable.period_ms(1);
QingshuZhang 0:32705e4af4b9 13
QingshuZhang 0:32705e4af4b9 14 SetDirection(1);
QingshuZhang 0:32705e4af4b9 15 SetSpeed(0.2);
QingshuZhang 0:32705e4af4b9 16 }
QingshuZhang 0:32705e4af4b9 17
QingshuZhang 0:32705e4af4b9 18
QingshuZhang 0:32705e4af4b9 19 void L298::SetDirection(bool dir){
QingshuZhang 0:32705e4af4b9 20 /*set direction of one of the sides depending on pwmSelect
QingshuZhang 0:32705e4af4b9 21 direction : 1 go forward ,0 go backwards*/
QingshuZhang 0:32705e4af4b9 22
QingshuZhang 0:32705e4af4b9 23
QingshuZhang 0:32705e4af4b9 24
QingshuZhang 0:32705e4af4b9 25 if(dir){
QingshuZhang 0:32705e4af4b9 26 m_motorBw = 0;
QingshuZhang 0:32705e4af4b9 27 m_motorFw = 1;
QingshuZhang 0:32705e4af4b9 28 }
QingshuZhang 0:32705e4af4b9 29 else{
QingshuZhang 0:32705e4af4b9 30 m_motorBw = 1;
QingshuZhang 0:32705e4af4b9 31 m_motorFw = 0;
QingshuZhang 0:32705e4af4b9 32 }
QingshuZhang 0:32705e4af4b9 33
QingshuZhang 0:32705e4af4b9 34
QingshuZhang 0:32705e4af4b9 35 m_prevDir = dir;
QingshuZhang 0:32705e4af4b9 36
QingshuZhang 0:32705e4af4b9 37 }
QingshuZhang 0:32705e4af4b9 38
QingshuZhang 0:32705e4af4b9 39
QingshuZhang 0:32705e4af4b9 40 void L298::SetSpeed(float speed){
QingshuZhang 0:32705e4af4b9 41 /*set speed on the pwm which is point by m_pwmPtr (set by SetDirection)
QingshuZhang 0:32705e4af4b9 42 speed : the speed given to the motor, ranges from 0 to 1*/
QingshuZhang 0:32705e4af4b9 43
QingshuZhang 0:32705e4af4b9 44 if(speed<=0) m_motorEnable.write(0);
QingshuZhang 0:32705e4af4b9 45 else if(speed>=1.0)m_motorEnable.write(1.0);
QingshuZhang 0:32705e4af4b9 46 else m_motorEnable.write(speed);
QingshuZhang 0:32705e4af4b9 47
QingshuZhang 0:32705e4af4b9 48 }
QingshuZhang 0:32705e4af4b9 49
QingshuZhang 0:32705e4af4b9 50