Mouse code for the MacroRat
motor.h@15:b80555a4a8b9, 2017-05-14 (annotated)
- Committer:
- kyleliangus
- Date:
- Sun May 14 04:45:21 2017 +0000
- Revision:
- 15:b80555a4a8b9
- Parent:
- 13:2032db00f168
Created PID for encoder based on difference of speed rotations.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kyleliangus | 4:b5b7836ca2b0 | 1 | #ifndef MOTOR_H |
kyleliangus | 4:b5b7836ca2b0 | 2 | #define MOTOR_H |
kyleliangus | 4:b5b7836ca2b0 | 3 | |
kyleliangus | 4:b5b7836ca2b0 | 4 | #include "mbed.h" |
kyleliangus | 8:a0760acdc59e | 5 | //#include "main.h" |
sahilmgandhi | 7:6f5cb6377bd4 | 6 | |
kyleliangus | 4:b5b7836ca2b0 | 7 | #define BRAKE_VOLTAGE 0.2 |
kyleliangus | 4:b5b7836ca2b0 | 8 | |
kyleliangus | 8:a0760acdc59e | 9 | /* |
kyleliangus | 4:b5b7836ca2b0 | 10 | extern PwmOut left1; |
kyleliangus | 4:b5b7836ca2b0 | 11 | extern PwmOut left2; |
kyleliangus | 4:b5b7836ca2b0 | 12 | extern PwmOut right1; |
kyleliangus | 4:b5b7836ca2b0 | 13 | extern PwmOut right2; |
kyleliangus | 4:b5b7836ca2b0 | 14 | |
sahilmgandhi | 7:6f5cb6377bd4 | 15 | extern DigitalOut enableLeftMotor; |
kyleliangus | 8:a0760acdc59e | 16 | extern DigitalOut enableRightMotor; */ |
kyleliangus | 8:a0760acdc59e | 17 | |
kyleliangus | 8:a0760acdc59e | 18 | class Motor |
kyleliangus | 8:a0760acdc59e | 19 | { |
kyleliangus | 8:a0760acdc59e | 20 | public: |
kyleliangus | 8:a0760acdc59e | 21 | Motor( PinName f, PinName b, PinName e ) : |
kyleliangus | 15:b80555a4a8b9 | 22 | enableForw( f ), enableBack( b ), motorSpeed( e ), maxSpeed( 0.2 ), minSpeed(0.07) |
kyleliangus | 8:a0760acdc59e | 23 | { |
kyleliangus | 8:a0760acdc59e | 24 | } |
kyleliangus | 8:a0760acdc59e | 25 | |
kyleliangus | 8:a0760acdc59e | 26 | void backward( double voltage ); |
kyleliangus | 8:a0760acdc59e | 27 | void forward( double voltage ); |
kyleliangus | 8:a0760acdc59e | 28 | void brake(); |
kyleliangus | 8:a0760acdc59e | 29 | void coast(); |
kyleliangus | 12:5790e56a056f | 30 | void move( double voltage ); |
kyleliangus | 8:a0760acdc59e | 31 | |
kyleliangus | 8:a0760acdc59e | 32 | private: |
kyleliangus | 15:b80555a4a8b9 | 33 | DigitalOut enableForw; |
kyleliangus | 15:b80555a4a8b9 | 34 | DigitalOut enableBack; |
kyleliangus | 15:b80555a4a8b9 | 35 | PwmOut motorSpeed; |
kyleliangus | 12:5790e56a056f | 36 | const double maxSpeed; |
christine222 | 13:2032db00f168 | 37 | const double minSpeed; |
kyleliangus | 8:a0760acdc59e | 38 | }; |
sahilmgandhi | 7:6f5cb6377bd4 | 39 | |
sahilmgandhi | 7:6f5cb6377bd4 | 40 | //QEI leftWheel( |
sahilmgandhi | 7:6f5cb6377bd4 | 41 | |
kyleliangus | 8:a0760acdc59e | 42 | /* |
sahilmgandhi | 7:6f5cb6377bd4 | 43 | inline void enableMotors(){ |
sahilmgandhi | 7:6f5cb6377bd4 | 44 | enableLeftMotor.write(1); |
sahilmgandhi | 7:6f5cb6377bd4 | 45 | enableRightMotor.write(1); |
kyleliangus | 8:a0760acdc59e | 46 | }*/ |
kyleliangus | 4:b5b7836ca2b0 | 47 | |
kyleliangus | 4:b5b7836ca2b0 | 48 | |
kyleliangus | 4:b5b7836ca2b0 | 49 | #endif |