MakoTr 315 / Mbed 2 deprecated Motor_PWM_Eidan05

Dependencies:   mbed

Committer:
Makoppe
Date:
Sun Aug 02 13:34:15 2020 +0000
Revision:
0:2cedfd753855
a;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Makoppe 0:2cedfd753855 1 #include "mbed.h"
Makoppe 0:2cedfd753855 2
Makoppe 0:2cedfd753855 3 AnalogIn IN(A0);
Makoppe 0:2cedfd753855 4 DigitalOut MotorP(D2);
Makoppe 0:2cedfd753855 5 DigitalOut MotorM(D3);
Makoppe 0:2cedfd753855 6
Makoppe 0:2cedfd753855 7 int main() {
Makoppe 0:2cedfd753855 8 double InVal;
Makoppe 0:2cedfd753855 9 double AbsVal;
Makoppe 0:2cedfd753855 10 int PwmPeriod=420;//423
Makoppe 0:2cedfd753855 11 while(1) {
Makoppe 0:2cedfd753855 12 InVal=IN.read();
Makoppe 0:2cedfd753855 13 InVal=((InVal-0.5)*2.0);
Makoppe 0:2cedfd753855 14 AbsVal=fabs(InVal);
Makoppe 0:2cedfd753855 15
Makoppe 0:2cedfd753855 16
Makoppe 0:2cedfd753855 17 PwmPeriod=3325; //
Makoppe 0:2cedfd753855 18 if(AbsVal>0.9){ //
Makoppe 0:2cedfd753855 19 PwmPeriod=3325;
Makoppe 0:2cedfd753855 20 }else if(AbsVal>0.8){
Makoppe 0:2cedfd753855 21 PwmPeriod=1640;
Makoppe 0:2cedfd753855 22 }else if(AbsVal>0.16){
Makoppe 0:2cedfd753855 23 PwmPeriod=1050;
Makoppe 0:2cedfd753855 24 }else if(AbsVal>0.11){ //
Makoppe 0:2cedfd753855 25 PwmPeriod=1640;
Makoppe 0:2cedfd753855 26 }else if(AbsVal>0.06){
Makoppe 0:2cedfd753855 27 PwmPeriod=3325;
Makoppe 0:2cedfd753855 28 }else if(AbsVal>0.01){
Makoppe 0:2cedfd753855 29 PwmPeriod=6663;
Makoppe 0:2cedfd753855 30 }
Makoppe 0:2cedfd753855 31 //printf("%f ",InVal);
Makoppe 0:2cedfd753855 32
Makoppe 0:2cedfd753855 33
Makoppe 0:2cedfd753855 34 if(InVal>0){
Makoppe 0:2cedfd753855 35 MotorP=1;
Makoppe 0:2cedfd753855 36 MotorM=0;
Makoppe 0:2cedfd753855 37 wait_us(PwmPeriod*InVal);
Makoppe 0:2cedfd753855 38 MotorP=0;
Makoppe 0:2cedfd753855 39 MotorM=0;
Makoppe 0:2cedfd753855 40 wait_us(PwmPeriod-PwmPeriod*InVal);
Makoppe 0:2cedfd753855 41 }else if(InVal<0){
Makoppe 0:2cedfd753855 42 MotorP=0;
Makoppe 0:2cedfd753855 43 MotorM=1;
Makoppe 0:2cedfd753855 44 wait_us(PwmPeriod*-InVal);
Makoppe 0:2cedfd753855 45 MotorP=0;
Makoppe 0:2cedfd753855 46 MotorM=0;
Makoppe 0:2cedfd753855 47 wait_us(PwmPeriod-PwmPeriod*-InVal);
Makoppe 0:2cedfd753855 48 }else{
Makoppe 0:2cedfd753855 49 MotorP=0;
Makoppe 0:2cedfd753855 50 MotorM=0;
Makoppe 0:2cedfd753855 51 wait_us(PwmPeriod);
Makoppe 0:2cedfd753855 52 }
Makoppe 0:2cedfd753855 53 //printf("%d\n\r",(int)(PwmPeriod*InVal));
Makoppe 0:2cedfd753855 54 }
Makoppe 0:2cedfd753855 55 }