code for the speed robot

Dependencies:   MPU6050-DMP mbed PololuQTRSensors vl53l0x

Committer:
deepanaishtaweera174
Date:
Tue Oct 01 12:33:33 2019 +0000
Revision:
8:d7941bcd9981
Parent:
7:fd80a0d11658
hey

Who changed what in which revision?

UserRevisionLine numberNew contents of line
deepanaishtaweera174 7:fd80a0d11658 1 void StopMotors();
deepanaishtaweera174 7:fd80a0d11658 2
deepanaishtaweera174 7:fd80a0d11658 3 DigitalOut motorLeft1(MOTOR_LEFT_1);
deepanaishtaweera174 7:fd80a0d11658 4 DigitalOut motorLeft2(MOTOR_LEFT_2);
deepanaishtaweera174 7:fd80a0d11658 5 DigitalOut motorRight1(MOTOR_RIGHT_1);
deepanaishtaweera174 7:fd80a0d11658 6 DigitalOut motorRight2(MOTOR_RIGHT_2);
deepanaishtaweera174 7:fd80a0d11658 7 PwmOut motorLeftPowerPin(MOTOR_LEFT_POWER_PIN);
deepanaishtaweera174 7:fd80a0d11658 8 PwmOut motorRightPowerPin(MOTOR_RIGHT_POWER_PIN);
deepanaishtaweera174 7:fd80a0d11658 9
deepanaishtaweera174 7:fd80a0d11658 10 void InitMotors()
deepanaishtaweera174 7:fd80a0d11658 11 {
deepanaishtaweera174 7:fd80a0d11658 12 motorLeftPowerPin.period_us(100);
deepanaishtaweera174 7:fd80a0d11658 13 motorRightPowerPin.period_us(100);
deepanaishtaweera174 7:fd80a0d11658 14 StopMotors();
deepanaishtaweera174 7:fd80a0d11658 15 }
deepanaishtaweera174 7:fd80a0d11658 16
deepanaishtaweera174 7:fd80a0d11658 17 void StopMotors()
deepanaishtaweera174 7:fd80a0d11658 18 {
deepanaishtaweera174 7:fd80a0d11658 19 motorLeft1 = 0;
deepanaishtaweera174 7:fd80a0d11658 20 motorLeft2 = 0;
deepanaishtaweera174 7:fd80a0d11658 21 motorRight1 = 0;
deepanaishtaweera174 7:fd80a0d11658 22 motorRight2 = 0;
deepanaishtaweera174 7:fd80a0d11658 23 motorLeftPowerPin.write(0);
deepanaishtaweera174 7:fd80a0d11658 24 motorRightPowerPin.write(0);
deepanaishtaweera174 7:fd80a0d11658 25 }
deepanaishtaweera174 7:fd80a0d11658 26
deepanaishtaweera174 7:fd80a0d11658 27 void ForwardLeftMotor(float power)
deepanaishtaweera174 7:fd80a0d11658 28 {
deepanaishtaweera174 7:fd80a0d11658 29 motorLeft1 = 0;
deepanaishtaweera174 7:fd80a0d11658 30 motorLeft2 = 1;
deepanaishtaweera174 7:fd80a0d11658 31 motorLeftPowerPin.write((int)power/1000);
deepanaishtaweera174 7:fd80a0d11658 32 }
deepanaishtaweera174 7:fd80a0d11658 33
deepanaishtaweera174 7:fd80a0d11658 34 void BackwardLeftMotor(float power)
deepanaishtaweera174 7:fd80a0d11658 35 {
deepanaishtaweera174 7:fd80a0d11658 36 motorLeft1 = 1;
deepanaishtaweera174 7:fd80a0d11658 37 motorLeft2 = 0;
deepanaishtaweera174 7:fd80a0d11658 38 motorLeftPowerPin.write((int)power/1000);
deepanaishtaweera174 7:fd80a0d11658 39 }
deepanaishtaweera174 7:fd80a0d11658 40
deepanaishtaweera174 7:fd80a0d11658 41 void ForwardRightMotor(float power)
deepanaishtaweera174 7:fd80a0d11658 42 {
deepanaishtaweera174 7:fd80a0d11658 43 motorRight1 = 0;
deepanaishtaweera174 7:fd80a0d11658 44 motorRight2 = 1;
deepanaishtaweera174 7:fd80a0d11658 45 motorRightPowerPin.write(power/1000);
deepanaishtaweera174 7:fd80a0d11658 46 }
deepanaishtaweera174 7:fd80a0d11658 47
deepanaishtaweera174 7:fd80a0d11658 48 void BackwardRightMotor(float power)
deepanaishtaweera174 7:fd80a0d11658 49 {
deepanaishtaweera174 7:fd80a0d11658 50 motorRight1 = 1;
deepanaishtaweera174 7:fd80a0d11658 51 motorRight2 = 0;
deepanaishtaweera174 7:fd80a0d11658 52 motorRightPowerPin.write(power/1000);
deepanaishtaweera174 7:fd80a0d11658 53 }
deepanaishtaweera174 7:fd80a0d11658 54
deepanaishtaweera174 7:fd80a0d11658 55 void BreakMotors()
deepanaishtaweera174 7:fd80a0d11658 56 {
deepanaishtaweera174 7:fd80a0d11658 57 motorLeft1 = 1;
deepanaishtaweera174 7:fd80a0d11658 58 motorLeft2 = 1;
deepanaishtaweera174 7:fd80a0d11658 59 motorRight1 = 1;
deepanaishtaweera174 7:fd80a0d11658 60 motorRight2 = 1;
deepanaishtaweera174 7:fd80a0d11658 61 motorLeftPowerPin.write(0);
deepanaishtaweera174 7:fd80a0d11658 62 motorRightPowerPin.write(0);
deepanaishtaweera174 7:fd80a0d11658 63 }
deepanaishtaweera174 7:fd80a0d11658 64
deepanaishtaweera174 7:fd80a0d11658 65 void RunBothMotors(float leftPower, float rightPower)
deepanaishtaweera174 7:fd80a0d11658 66 {
deepanaishtaweera174 7:fd80a0d11658 67 if (leftPower > 0)
deepanaishtaweera174 7:fd80a0d11658 68 {
deepanaishtaweera174 7:fd80a0d11658 69 ForwardLeftMotor(leftPower);
deepanaishtaweera174 7:fd80a0d11658 70 }
deepanaishtaweera174 7:fd80a0d11658 71 else
deepanaishtaweera174 7:fd80a0d11658 72 {
deepanaishtaweera174 7:fd80a0d11658 73 BackwardLeftMotor(abs(leftPower));
deepanaishtaweera174 7:fd80a0d11658 74 }
deepanaishtaweera174 7:fd80a0d11658 75 if (rightPower > 0)
deepanaishtaweera174 7:fd80a0d11658 76 {
deepanaishtaweera174 7:fd80a0d11658 77 ForwardRightMotor(rightPower);
deepanaishtaweera174 7:fd80a0d11658 78 }
deepanaishtaweera174 7:fd80a0d11658 79 else
deepanaishtaweera174 7:fd80a0d11658 80 {
deepanaishtaweera174 7:fd80a0d11658 81 BackwardRightMotor(abs(rightPower));
deepanaishtaweera174 7:fd80a0d11658 82 }
deepanaishtaweera174 7:fd80a0d11658 83 }