TDPS3
Dependencies: mbed HC_SR04_Ultrasonic_Library
L298.cpp@1:60ad9c191ea9, 2019-03-14 (annotated)
- Committer:
- QingshuZhang
- Date:
- Thu Mar 14 14:37:20 2019 +0000
- Revision:
- 1:60ad9c191ea9
TDPS3;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
QingshuZhang | 1:60ad9c191ea9 | 1 | #include "L298_H.h" |
QingshuZhang | 1:60ad9c191ea9 | 2 | #include <mbed.h> |
QingshuZhang | 1:60ad9c191ea9 | 3 | |
QingshuZhang | 1:60ad9c191ea9 | 4 | |
QingshuZhang | 1:60ad9c191ea9 | 5 | L298::L298(PinName pin1, PinName pin2, PinName pin3):m_motorEnable(pin1),m_motorBw(pin2),m_motorFw(pin3){ |
QingshuZhang | 1:60ad9c191ea9 | 6 | /*class constructor : initializes the motors with |
QingshuZhang | 1:60ad9c191ea9 | 7 | forward enable and speed of 0.3 */ |
QingshuZhang | 1:60ad9c191ea9 | 8 | |
QingshuZhang | 1:60ad9c191ea9 | 9 | //m_dir = true; |
QingshuZhang | 1:60ad9c191ea9 | 10 | //m_speed = 0.2; |
QingshuZhang | 1:60ad9c191ea9 | 11 | |
QingshuZhang | 1:60ad9c191ea9 | 12 | m_motorEnable.period_ms(1); |
QingshuZhang | 1:60ad9c191ea9 | 13 | |
QingshuZhang | 1:60ad9c191ea9 | 14 | SetDirection(1); |
QingshuZhang | 1:60ad9c191ea9 | 15 | SetSpeed(0.2); |
QingshuZhang | 1:60ad9c191ea9 | 16 | } |
QingshuZhang | 1:60ad9c191ea9 | 17 | |
QingshuZhang | 1:60ad9c191ea9 | 18 | |
QingshuZhang | 1:60ad9c191ea9 | 19 | void L298::SetDirection(bool dir){ |
QingshuZhang | 1:60ad9c191ea9 | 20 | /*set direction of one of the sides depending on pwmSelect |
QingshuZhang | 1:60ad9c191ea9 | 21 | direction : 1 go forward ,0 go backwards*/ |
QingshuZhang | 1:60ad9c191ea9 | 22 | |
QingshuZhang | 1:60ad9c191ea9 | 23 | |
QingshuZhang | 1:60ad9c191ea9 | 24 | |
QingshuZhang | 1:60ad9c191ea9 | 25 | if(dir){ |
QingshuZhang | 1:60ad9c191ea9 | 26 | m_motorBw = 0; |
QingshuZhang | 1:60ad9c191ea9 | 27 | m_motorFw = 1; |
QingshuZhang | 1:60ad9c191ea9 | 28 | } |
QingshuZhang | 1:60ad9c191ea9 | 29 | else{ |
QingshuZhang | 1:60ad9c191ea9 | 30 | m_motorBw = 1; |
QingshuZhang | 1:60ad9c191ea9 | 31 | m_motorFw = 0; |
QingshuZhang | 1:60ad9c191ea9 | 32 | } |
QingshuZhang | 1:60ad9c191ea9 | 33 | |
QingshuZhang | 1:60ad9c191ea9 | 34 | |
QingshuZhang | 1:60ad9c191ea9 | 35 | m_prevDir = dir; |
QingshuZhang | 1:60ad9c191ea9 | 36 | |
QingshuZhang | 1:60ad9c191ea9 | 37 | } |
QingshuZhang | 1:60ad9c191ea9 | 38 | |
QingshuZhang | 1:60ad9c191ea9 | 39 | |
QingshuZhang | 1:60ad9c191ea9 | 40 | void L298::SetSpeed(float speed){ |
QingshuZhang | 1:60ad9c191ea9 | 41 | /*set speed on the pwm which is point by m_pwmPtr (set by SetDirection) |
QingshuZhang | 1:60ad9c191ea9 | 42 | speed : the speed given to the motor, ranges from 0 to 1*/ |
QingshuZhang | 1:60ad9c191ea9 | 43 | |
QingshuZhang | 1:60ad9c191ea9 | 44 | if(speed<=0) m_motorEnable.write(0); |
QingshuZhang | 1:60ad9c191ea9 | 45 | else if(speed>=1.0)m_motorEnable.write(1.0); |
QingshuZhang | 1:60ad9c191ea9 | 46 | else m_motorEnable.write(speed); |
QingshuZhang | 1:60ad9c191ea9 | 47 | |
QingshuZhang | 1:60ad9c191ea9 | 48 | } |
QingshuZhang | 1:60ad9c191ea9 | 49 | |
QingshuZhang | 1:60ad9c191ea9 | 50 |