![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Blue_tooth robot
Dependencies: Motordriver mbed
main.cpp@0:fe149d61023e, 2014-10-18 (annotated)
- Committer:
- hydrogencellman
- Date:
- Sat Oct 18 17:55:51 2014 +0000
- Revision:
- 0:fe149d61023e
BlueTooth Robot
Who changed what in which revision?
User | Revision | Line number | New 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 | } |