fdas

Dependencies:   QEI mbed

Committer:
brainliang
Date:
Sun May 06 06:01:45 2018 +0000
Revision:
0:13ba01a70b4a
sdf

Who changed what in which revision?

UserRevisionLine numberNew 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 }