Motor2

Dependents:   OneCircleRobot

Fork of Motor by Kiko Ishimoto

Committer:
kikoaac
Date:
Fri Oct 30 12:47:35 2015 +0000
Revision:
4:56a1159c881c
Parent:
3:dea2df71cb97
Child:
5:db97e97ac00a
???
;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kikoaac 0:1252cd3b995f 1
kikoaac 1:4ab6e9768847 2 #ifndef Motor_H
kikoaac 1:4ab6e9768847 3 #define Motor_H
kikoaac 0:1252cd3b995f 4
kikoaac 0:1252cd3b995f 5 #include "mbed.h"
kikoaac 0:1252cd3b995f 6 #define Front 1
kikoaac 0:1252cd3b995f 7 #define Back 2
kikoaac 0:1252cd3b995f 8 #define Stop 3
kikoaac 0:1252cd3b995f 9 #define Free 4
kikoaac 0:1252cd3b995f 10 class Motor {
kikoaac 3:dea2df71cb97 11 protected : PinName Pin[5];
kikoaac 4:56a1159c881c 12 float bias;
kikoaac 3:dea2df71cb97 13 Motor(const Motor& m);
kikoaac 3:dea2df71cb97 14 Motor& operator=(const Motor &m) {
kikoaac 3:dea2df71cb97 15 return *this;
kikoaac 3:dea2df71cb97 16 }
kikoaac 0:1252cd3b995f 17 public:
kikoaac 0:1252cd3b995f 18
kikoaac 3:dea2df71cb97 19 Motor(PinName _pin_h1, PinName _pin_g2, PinName _pin_g1, PinName _pin_h2,PinName _pwm);
kikoaac 3:dea2df71cb97 20
kikoaac 3:dea2df71cb97 21
kikoaac 0:1252cd3b995f 22 Motor& operator= (float duty)
kikoaac 0:1252cd3b995f 23 {
kikoaac 4:56a1159c881c 24 if(duty<-0.1F)
kikoaac 0:1252cd3b995f 25 {
kikoaac 0:1252cd3b995f 26 duty*=-1;
kikoaac 1:4ab6e9768847 27 run(Back,duty);
kikoaac 0:1252cd3b995f 28 }
kikoaac 4:56a1159c881c 29 else if(float(duty)>0.1F)
kikoaac 0:1252cd3b995f 30 {
kikoaac 1:4ab6e9768847 31 run(Front,duty);
kikoaac 0:1252cd3b995f 32 }
kikoaac 4:56a1159c881c 33 else run(Stop,0);
kikoaac 0:1252cd3b995f 34 return *this;
kikoaac 0:1252cd3b995f 35 }
kikoaac 0:1252cd3b995f 36 void run(int i,float duty);
kikoaac 0:1252cd3b995f 37 float min,max;
kikoaac 4:56a1159c881c 38 void setbias_motor(float b){bias=b;}
kikoaac 3:dea2df71cb97 39 void duty_max(float Max){max=Max;}
kikoaac 3:dea2df71cb97 40 void duty_min(float Min){min=Min;}
kikoaac 3:dea2df71cb97 41 float getduty()
kikoaac 3:dea2df71cb97 42 {
kikoaac 3:dea2df71cb97 43 float a = PwmPin.read();
kikoaac 3:dea2df71cb97 44 return a;
kikoaac 3:dea2df71cb97 45 }
kikoaac 0:1252cd3b995f 46 private:
kikoaac 1:4ab6e9768847 47 int state;
kikoaac 0:1252cd3b995f 48 float Duty;
kikoaac 0:1252cd3b995f 49 BusOut motor;
kikoaac 0:1252cd3b995f 50 PwmOut PwmPin;
kikoaac 0:1252cd3b995f 51 };
kikoaac 0:1252cd3b995f 52
kikoaac 0:1252cd3b995f 53 #endif /* PID_H */