m3pi_Bluetooth

Dependencies:   m3pi mbed

Committer:
eljerchua
Date:
Thu Apr 27 08:23:42 2017 +0000
Revision:
0:f5a23eaeab89
m3pi_Bluetooth

Who changed what in which revision?

UserRevisionLine numberNew 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 }