![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
fdas
Motor3_L298N/Moter3_L298N.cpp@0:13ba01a70b4a, 2018-05-06 (annotated)
- Committer:
- brainliang
- Date:
- Sun May 06 06:01:45 2018 +0000
- Revision:
- 0:13ba01a70b4a
sdf
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
brainliang | 0:13ba01a70b4a | 1 | #include "Moter3_L298N.h" |
brainliang | 0:13ba01a70b4a | 2 | #include "mbed.h" |
brainliang | 0:13ba01a70b4a | 3 | #define HIGH 1 |
brainliang | 0:13ba01a70b4a | 4 | #define LOW 0 |
brainliang | 0:13ba01a70b4a | 5 | |
brainliang | 0:13ba01a70b4a | 6 | Motor_3::Motor_3(PinName dia1,PinName dia2,PinName pwa): |
brainliang | 0:13ba01a70b4a | 7 | _dia1(dia1),_dia2(dia2),_pwa(pwa),_paspeed(0) |
brainliang | 0:13ba01a70b4a | 8 | { |
brainliang | 0:13ba01a70b4a | 9 | //init |
brainliang | 0:13ba01a70b4a | 10 | DigitalOut pda1(_dia1,LOW); |
brainliang | 0:13ba01a70b4a | 11 | DigitalOut pda2(_dia2,LOW); |
brainliang | 0:13ba01a70b4a | 12 | } |
brainliang | 0:13ba01a70b4a | 13 | |
brainliang | 0:13ba01a70b4a | 14 | void Motor_3::mv(float speed) |
brainliang | 0:13ba01a70b4a | 15 | { |
brainliang | 0:13ba01a70b4a | 16 | PwmOut mypwa(_pwa); |
brainliang | 0:13ba01a70b4a | 17 | mypwa.period_ms(20); |
brainliang | 0:13ba01a70b4a | 18 | speed=speed/100*20/1000; |
brainliang | 0:13ba01a70b4a | 19 | if(speed>0) |
brainliang | 0:13ba01a70b4a | 20 | { |
brainliang | 0:13ba01a70b4a | 21 | DigitalOut mydia1(_dia1,HIGH); |
brainliang | 0:13ba01a70b4a | 22 | DigitalOut mydia2(_dia2,LOW); |
brainliang | 0:13ba01a70b4a | 23 | _paspeed=speed; |
brainliang | 0:13ba01a70b4a | 24 | mypwa.pulsewidth(_paspeed); |
brainliang | 0:13ba01a70b4a | 25 | } |
brainliang | 0:13ba01a70b4a | 26 | else if (speed<0) |
brainliang | 0:13ba01a70b4a | 27 | { |
brainliang | 0:13ba01a70b4a | 28 | speed=abs(speed); |
brainliang | 0:13ba01a70b4a | 29 | DigitalOut mydia1(_dia1,LOW); |
brainliang | 0:13ba01a70b4a | 30 | DigitalOut mydia2(_dia2,HIGH); |
brainliang | 0:13ba01a70b4a | 31 | _paspeed=speed; |
brainliang | 0:13ba01a70b4a | 32 | mypwa.pulsewidth(_paspeed); |
brainliang | 0:13ba01a70b4a | 33 | } |
brainliang | 0:13ba01a70b4a | 34 | else |
brainliang | 0:13ba01a70b4a | 35 | { |
brainliang | 0:13ba01a70b4a | 36 | speed=abs(speed); |
brainliang | 0:13ba01a70b4a | 37 | DigitalOut mydia1(_dia1,LOW); |
brainliang | 0:13ba01a70b4a | 38 | DigitalOut mydia2(_dia2,LOW); |
brainliang | 0:13ba01a70b4a | 39 | _paspeed=speed; |
brainliang | 0:13ba01a70b4a | 40 | mypwa.pulsewidth(_paspeed); |
brainliang | 0:13ba01a70b4a | 41 | } |
brainliang | 0:13ba01a70b4a | 42 | |
brainliang | 0:13ba01a70b4a | 43 | } |
brainliang | 0:13ba01a70b4a | 44 | void Motor_3::stop() |
brainliang | 0:13ba01a70b4a | 45 | { |
brainliang | 0:13ba01a70b4a | 46 | DigitalOut pda1(_dia1,LOW); |
brainliang | 0:13ba01a70b4a | 47 | DigitalOut pda2(_dia2,LOW); |
brainliang | 0:13ba01a70b4a | 48 | } |