Blue_tooth robot

Dependencies:   Motordriver mbed

Committer:
hydrogencellman
Date:
Sat Oct 18 17:55:51 2014 +0000
Revision:
0:fe149d61023e
BlueTooth Robot

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hydrogencellman 0:fe149d61023e 1 #include "mbed.h"
hydrogencellman 0:fe149d61023e 2 #include "motordriver.h"
hydrogencellman 0:fe149d61023e 3
hydrogencellman 0:fe149d61023e 4 Serial pc(USBTX, USBRX);
hydrogencellman 0:fe149d61023e 5 Serial device(p9, p10); //Connect JY-MCU bluetooth module to 9,10
hydrogencellman 0:fe149d61023e 6
hydrogencellman 0:fe149d61023e 7 Motor right(p21, p22, p23, 1); // pwm, fwd, rev, has brake feature
hydrogencellman 0:fe149d61023e 8 Motor left(p26, p25, p24, 1);
hydrogencellman 0:fe149d61023e 9 float speed;
hydrogencellman 0:fe149d61023e 10
hydrogencellman 0:fe149d61023e 11 int main()
hydrogencellman 0:fe149d61023e 12 {
hydrogencellman 0:fe149d61023e 13 unsigned char Instr;//What button was sent? 1 = forward, 2 = backward
hydrogencellman 0:fe149d61023e 14 unsigned char sentSpeed; //What is the slider set to?
hydrogencellman 0:fe149d61023e 15 device.baud(57600);
hydrogencellman 0:fe149d61023e 16 while(1) {
hydrogencellman 0:fe149d61023e 17
hydrogencellman 0:fe149d61023e 18
hydrogencellman 0:fe149d61023e 19 if(device.readable()) {
hydrogencellman 0:fe149d61023e 20 Instr = device.getc();
hydrogencellman 0:fe149d61023e 21 pc.printf("Instruction: %i\n\r", Instr);
hydrogencellman 0:fe149d61023e 22 wait(.05);//Wait for the next bluetooth value to be recieved.
hydrogencellman 0:fe149d61023e 23 if(device.readable()){
hydrogencellman 0:fe149d61023e 24 sentSpeed = device.getc();
hydrogencellman 0:fe149d61023e 25 switch (Instr){
hydrogencellman 0:fe149d61023e 26 case 0://Stop
hydrogencellman 0:fe149d61023e 27 left.speed(0);
hydrogencellman 0:fe149d61023e 28 right.speed(0);
hydrogencellman 0:fe149d61023e 29 break;
hydrogencellman 0:fe149d61023e 30 case 1://Forward
hydrogencellman 0:fe149d61023e 31 pc.printf("Speed: %i\n\r", sentSpeed);
hydrogencellman 0:fe149d61023e 32 speed = float(sentSpeed) / 100;
hydrogencellman 0:fe149d61023e 33 left.speed(speed);
hydrogencellman 0:fe149d61023e 34 right.speed(speed);
hydrogencellman 0:fe149d61023e 35 break;
hydrogencellman 0:fe149d61023e 36 case 2://Reverse
hydrogencellman 0:fe149d61023e 37 pc.printf("Reverse speed: %i\n\r", sentSpeed);
hydrogencellman 0:fe149d61023e 38 speed = -float(sentSpeed) / 100;
hydrogencellman 0:fe149d61023e 39 left.speed(speed);
hydrogencellman 0:fe149d61023e 40 right.speed(speed);
hydrogencellman 0:fe149d61023e 41 break;
hydrogencellman 0:fe149d61023e 42 case 3://Clockwise Turn
hydrogencellman 0:fe149d61023e 43 speed = float(sentSpeed) / 100;
hydrogencellman 0:fe149d61023e 44 left.speed(speed);
hydrogencellman 0:fe149d61023e 45 right.speed(-speed);
hydrogencellman 0:fe149d61023e 46 break;
hydrogencellman 0:fe149d61023e 47 case 4://CCW Turn
hydrogencellman 0:fe149d61023e 48 speed = float(sentSpeed) / 100;
hydrogencellman 0:fe149d61023e 49 left.speed(-speed);
hydrogencellman 0:fe149d61023e 50 right.speed(speed);
hydrogencellman 0:fe149d61023e 51 break;
hydrogencellman 0:fe149d61023e 52 }//End Switch
hydrogencellman 0:fe149d61023e 53
hydrogencellman 0:fe149d61023e 54 }//End Speed Read
hydrogencellman 0:fe149d61023e 55 }//End Instruction Read
hydrogencellman 0:fe149d61023e 56
hydrogencellman 0:fe149d61023e 57
hydrogencellman 0:fe149d61023e 58 }
hydrogencellman 0:fe149d61023e 59 }