A simple program to check the operation of the motors

Dependencies:   mbed

Committer:
Hypna
Date:
Fri Oct 24 22:00:49 2014 +0000
Revision:
0:9dba1f8fc770
Something simple to make sure we've correctly wired the bot

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hypna 0:9dba1f8fc770 1 #include "mbed.h"
Hypna 0:9dba1f8fc770 2
Hypna 0:9dba1f8fc770 3 #define MOTOR_SCALE 0.25
Hypna 0:9dba1f8fc770 4
Hypna 0:9dba1f8fc770 5 void forward();
Hypna 0:9dba1f8fc770 6 void backward();
Hypna 0:9dba1f8fc770 7 void left();
Hypna 0:9dba1f8fc770 8 void right();
Hypna 0:9dba1f8fc770 9
Hypna 0:9dba1f8fc770 10 PwmOut whl1Spd(PTB0);
Hypna 0:9dba1f8fc770 11 PwmOut whl2Spd(PTB1);
Hypna 0:9dba1f8fc770 12 PwmOut whl3Spd(PTB2);
Hypna 0:9dba1f8fc770 13 PwmOut whl4Spd(PTB3);
Hypna 0:9dba1f8fc770 14
Hypna 0:9dba1f8fc770 15 DigitalOut whl1Dir(PTE20);
Hypna 0:9dba1f8fc770 16 DigitalOut whl2Dir(PTE21);
Hypna 0:9dba1f8fc770 17 DigitalOut whl3Dir(PTE22);
Hypna 0:9dba1f8fc770 18 DigitalOut whl4Dir(PTE23);
Hypna 0:9dba1f8fc770 19
Hypna 0:9dba1f8fc770 20 int main()
Hypna 0:9dba1f8fc770 21 {
Hypna 0:9dba1f8fc770 22 for(int i = 0; i < 10; i++)
Hypna 0:9dba1f8fc770 23 {
Hypna 0:9dba1f8fc770 24 forward();
Hypna 0:9dba1f8fc770 25 wait(1);
Hypna 0:9dba1f8fc770 26 backward();
Hypna 0:9dba1f8fc770 27 wait(1);
Hypna 0:9dba1f8fc770 28 left();
Hypna 0:9dba1f8fc770 29 wait(1);
Hypna 0:9dba1f8fc770 30 right();
Hypna 0:9dba1f8fc770 31 wait(1);
Hypna 0:9dba1f8fc770 32 }
Hypna 0:9dba1f8fc770 33
Hypna 0:9dba1f8fc770 34 return 0;
Hypna 0:9dba1f8fc770 35 }
Hypna 0:9dba1f8fc770 36
Hypna 0:9dba1f8fc770 37 void forward()
Hypna 0:9dba1f8fc770 38 {
Hypna 0:9dba1f8fc770 39 whl1Dir = whl2Dir = whl3Dir = whl4Dir = 1;
Hypna 0:9dba1f8fc770 40 whl1Spd = whl2Spd = whl3Spd = whl4Spd = 1*MOTOR_SCALE;
Hypna 0:9dba1f8fc770 41 wait(2);
Hypna 0:9dba1f8fc770 42 whl1Spd = whl2Spd = whl3Spd = whl4Spd = 0;
Hypna 0:9dba1f8fc770 43 }
Hypna 0:9dba1f8fc770 44
Hypna 0:9dba1f8fc770 45 void backward()
Hypna 0:9dba1f8fc770 46 {
Hypna 0:9dba1f8fc770 47 whl1Dir = whl2Dir = whl3Dir = whl4Dir = 0;
Hypna 0:9dba1f8fc770 48 whl1Spd = whl2Spd = whl3Spd = whl4Spd = 1*MOTOR_SCALE;
Hypna 0:9dba1f8fc770 49 wait(2);
Hypna 0:9dba1f8fc770 50 whl1Spd = whl2Spd = whl3Spd = whl4Spd = 0;
Hypna 0:9dba1f8fc770 51 }
Hypna 0:9dba1f8fc770 52
Hypna 0:9dba1f8fc770 53 void left()
Hypna 0:9dba1f8fc770 54 {
Hypna 0:9dba1f8fc770 55 whl2Dir = whl4Dir = 1;
Hypna 0:9dba1f8fc770 56 whl1Dir = whl3Dir = 0;
Hypna 0:9dba1f8fc770 57 whl1Spd = whl2Spd = whl3Spd = whl4Spd = 1*MOTOR_SCALE;
Hypna 0:9dba1f8fc770 58 wait(2);
Hypna 0:9dba1f8fc770 59 whl1Spd = whl2Spd = whl3Spd = whl4Spd = 0;
Hypna 0:9dba1f8fc770 60
Hypna 0:9dba1f8fc770 61 }
Hypna 0:9dba1f8fc770 62
Hypna 0:9dba1f8fc770 63 void right()
Hypna 0:9dba1f8fc770 64 {
Hypna 0:9dba1f8fc770 65 whl2Dir = whl4Dir = 0;
Hypna 0:9dba1f8fc770 66 whl1Dir = whl3Dir = 1;
Hypna 0:9dba1f8fc770 67 whl1Spd = whl2Spd = whl3Spd = whl4Spd = 1*MOTOR_SCALE;
Hypna 0:9dba1f8fc770 68 wait(2);
Hypna 0:9dba1f8fc770 69 whl1Spd = whl2Spd = whl3Spd = whl4Spd = 0;
Hypna 0:9dba1f8fc770 70 }