Robotics Interest Club
/
m3pi_Bluetooth
m3pi_Bluetooth
main.cpp@0:f5a23eaeab89, 2017-04-27 (annotated)
- Committer:
- eljerchua
- Date:
- Thu Apr 27 08:23:42 2017 +0000
- Revision:
- 0:f5a23eaeab89
m3pi_Bluetooth
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eljerchua | 0:f5a23eaeab89 | 1 | #include "mbed.h" |
eljerchua | 0:f5a23eaeab89 | 2 | #include "m3pi.h" |
eljerchua | 0:f5a23eaeab89 | 3 | |
eljerchua | 0:f5a23eaeab89 | 4 | m3pi m3pi; |
eljerchua | 0:f5a23eaeab89 | 5 | Serial device(p28, p27); |
eljerchua | 0:f5a23eaeab89 | 6 | DigitalIn pushbutton(p21); |
eljerchua | 0:f5a23eaeab89 | 7 | DigitalIn IR_centre(p8); |
eljerchua | 0:f5a23eaeab89 | 8 | DigitalIn IR_right(p11); |
eljerchua | 0:f5a23eaeab89 | 9 | DigitalIn IR_left(p30); |
eljerchua | 0:f5a23eaeab89 | 10 | DigitalOut led1(p20); |
eljerchua | 0:f5a23eaeab89 | 11 | |
eljerchua | 0:f5a23eaeab89 | 12 | void forward(float speed) |
eljerchua | 0:f5a23eaeab89 | 13 | { |
eljerchua | 0:f5a23eaeab89 | 14 | m3pi.right_motor(speed); |
eljerchua | 0:f5a23eaeab89 | 15 | m3pi.left_motor(speed); |
eljerchua | 0:f5a23eaeab89 | 16 | } |
eljerchua | 0:f5a23eaeab89 | 17 | |
eljerchua | 0:f5a23eaeab89 | 18 | void backward(float speed) |
eljerchua | 0:f5a23eaeab89 | 19 | { |
eljerchua | 0:f5a23eaeab89 | 20 | m3pi.right_motor(-speed); |
eljerchua | 0:f5a23eaeab89 | 21 | m3pi.left_motor(-speed); |
eljerchua | 0:f5a23eaeab89 | 22 | } |
eljerchua | 0:f5a23eaeab89 | 23 | |
eljerchua | 0:f5a23eaeab89 | 24 | void turnright(float speed) |
eljerchua | 0:f5a23eaeab89 | 25 | { |
eljerchua | 0:f5a23eaeab89 | 26 | m3pi.right_motor(speed); |
eljerchua | 0:f5a23eaeab89 | 27 | m3pi.left_motor(-speed); |
eljerchua | 0:f5a23eaeab89 | 28 | } |
eljerchua | 0:f5a23eaeab89 | 29 | |
eljerchua | 0:f5a23eaeab89 | 30 | void turnleft(float speed) |
eljerchua | 0:f5a23eaeab89 | 31 | { |
eljerchua | 0:f5a23eaeab89 | 32 | m3pi.right_motor(-speed); |
eljerchua | 0:f5a23eaeab89 | 33 | m3pi.left_motor(speed); |
eljerchua | 0:f5a23eaeab89 | 34 | } |
eljerchua | 0:f5a23eaeab89 | 35 | |
eljerchua | 0:f5a23eaeab89 | 36 | void stop() |
eljerchua | 0:f5a23eaeab89 | 37 | { |
eljerchua | 0:f5a23eaeab89 | 38 | m3pi.right_motor(0); |
eljerchua | 0:f5a23eaeab89 | 39 | m3pi.left_motor(0); |
eljerchua | 0:f5a23eaeab89 | 40 | } |
eljerchua | 0:f5a23eaeab89 | 41 | |
eljerchua | 0:f5a23eaeab89 | 42 | int main() |
eljerchua | 0:f5a23eaeab89 | 43 | { |
eljerchua | 0:f5a23eaeab89 | 44 | device.baud(115200); |
eljerchua | 0:f5a23eaeab89 | 45 | float speed = 0.5; |
eljerchua | 0:f5a23eaeab89 | 46 | char c = 'k', a; |
eljerchua | 0:f5a23eaeab89 | 47 | while(true) |
eljerchua | 0:f5a23eaeab89 | 48 | { |
eljerchua | 0:f5a23eaeab89 | 49 | if(device.readable()) |
eljerchua | 0:f5a23eaeab89 | 50 | { |
eljerchua | 0:f5a23eaeab89 | 51 | a = device.getc(); |
eljerchua | 0:f5a23eaeab89 | 52 | if(a > 0 && a <= 100) speed = a*1.0/100; |
eljerchua | 0:f5a23eaeab89 | 53 | else c = a; |
eljerchua | 0:f5a23eaeab89 | 54 | } |
eljerchua | 0:f5a23eaeab89 | 55 | |
eljerchua | 0:f5a23eaeab89 | 56 | if(c == 'g') forward(speed); |
eljerchua | 0:f5a23eaeab89 | 57 | else if(c == 'h') backward(speed); |
eljerchua | 0:f5a23eaeab89 | 58 | else if(c == 'e') turnright(speed); |
eljerchua | 0:f5a23eaeab89 | 59 | else if(c == 'f') turnleft(speed); |
eljerchua | 0:f5a23eaeab89 | 60 | else stop(); |
eljerchua | 0:f5a23eaeab89 | 61 | } |
eljerchua | 0:f5a23eaeab89 | 62 | } |