d

Dependencies:   Motor Servo mbed

Committer:
iemretep
Date:
Fri Apr 21 04:03:52 2017 +0000
Revision:
0:1f5a1332637b
Robot;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
iemretep 0:1f5a1332637b 1 #include "mbed.h"
iemretep 0:1f5a1332637b 2 #include "Motor.h"
iemretep 0:1f5a1332637b 3 #include "Servo.h"
iemretep 0:1f5a1332637b 4 //Reads in joystick positions from controller and drives the motors.
iemretep 0:1f5a1332637b 5
iemretep 0:1f5a1332637b 6 DigitalOut led1(LED1);
iemretep 0:1f5a1332637b 7 DigitalOut led2(LED2);
iemretep 0:1f5a1332637b 8 DigitalOut led3(LED3);
iemretep 0:1f5a1332637b 9 DigitalOut led4(LED4);
iemretep 0:1f5a1332637b 10
iemretep 0:1f5a1332637b 11 AnalogIn jx1(p16);
iemretep 0:1f5a1332637b 12 AnalogIn jy1(p15);
iemretep 0:1f5a1332637b 13 //AnalogIn jx2
iemretep 0:1f5a1332637b 14 //AnalogIn jy2
iemretep 0:1f5a1332637b 15 float mot_x = 0.5;
iemretep 0:1f5a1332637b 16 float mot_y = 0.5;
iemretep 0:1f5a1332637b 17 float cam_x = 0;
iemretep 0:1f5a1332637b 18 float cam_y = 0;
iemretep 0:1f5a1332637b 19
iemretep 0:1f5a1332637b 20 char buf[32];
iemretep 0:1f5a1332637b 21 int idx = 0;
iemretep 0:1f5a1332637b 22
iemretep 0:1f5a1332637b 23 Serial pc(p9,p10);
iemretep 0:1f5a1332637b 24 //Serial pc(USBTX, USBRX);
iemretep 0:1f5a1332637b 25
iemretep 0:1f5a1332637b 26 Motor A(p21, p20, p19); //pwm, inB, inA
iemretep 0:1f5a1332637b 27 Motor B(p22, p17, p12); //pwm, inA, inB
iemretep 0:1f5a1332637b 28
iemretep 0:1f5a1332637b 29
iemretep 0:1f5a1332637b 30 int main()
iemretep 0:1f5a1332637b 31 {
iemretep 0:1f5a1332637b 32 pc.baud(115200);
iemretep 0:1f5a1332637b 33 while(1) {
iemretep 0:1f5a1332637b 34 int x = pc.getc();
iemretep 0:1f5a1332637b 35
iemretep 0:1f5a1332637b 36 if(x == -1) continue;
iemretep 0:1f5a1332637b 37
iemretep 0:1f5a1332637b 38 //while(!pc.readable());
iemretep 0:1f5a1332637b 39 buf[idx] = (char)x;
iemretep 0:1f5a1332637b 40
iemretep 0:1f5a1332637b 41 if(buf[idx] == '\r' || buf[idx] == '\n'){
iemretep 0:1f5a1332637b 42 sscanf(buf, "%f %f %f %f", &mot_x, &mot_y, &cam_x, &cam_y);
iemretep 0:1f5a1332637b 43 A.speed(mot_x);
iemretep 0:1f5a1332637b 44 B.speed(mot_y);
iemretep 0:1f5a1332637b 45 idx = 0;
iemretep 0:1f5a1332637b 46 }else{
iemretep 0:1f5a1332637b 47 idx++;
iemretep 0:1f5a1332637b 48 }
iemretep 0:1f5a1332637b 49 }
iemretep 0:1f5a1332637b 50 }