h

Dependencies:   Motor QEI Servo mbed

Committer:
caleblegis
Date:
Thu Mar 10 16:18:01 2016 +0000
Revision:
0:f8f608a6114a
updated

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caleblegis 0:f8f608a6114a 1 #include "mbed.h"
caleblegis 0:f8f608a6114a 2 #include "Servo.h"
caleblegis 0:f8f608a6114a 3 #include "Motor.h"
caleblegis 0:f8f608a6114a 4 #include "QEI.h"
caleblegis 0:f8f608a6114a 5 #define pi (3.14159265)
caleblegis 0:f8f608a6114a 6 #define logfreq (100)
caleblegis 0:f8f608a6114a 7 #define data_pts (500)
caleblegis 0:f8f608a6114a 8 Serial pc(USBTX, USBRX);
caleblegis 0:f8f608a6114a 9 Motor m(p25, p23, p27);
caleblegis 0:f8f608a6114a 10
caleblegis 0:f8f608a6114a 11 QEI enc(p16,p17,NC,3200);
caleblegis 0:f8f608a6114a 12
caleblegis 0:f8f608a6114a 13
caleblegis 0:f8f608a6114a 14
caleblegis 0:f8f608a6114a 15 float motspeed;
caleblegis 0:f8f608a6114a 16 float x;
caleblegis 0:f8f608a6114a 17 float rad;
caleblegis 0:f8f608a6114a 18 int count;
caleblegis 0:f8f608a6114a 19
caleblegis 0:f8f608a6114a 20 int main()
caleblegis 0:f8f608a6114a 21 {
caleblegis 0:f8f608a6114a 22 enc.reset();
caleblegis 0:f8f608a6114a 23 printf("enter a angle\r\n");
caleblegis 0:f8f608a6114a 24 scanf("%f", &x);
caleblegis 0:f8f608a6114a 25
caleblegis 0:f8f608a6114a 26
caleblegis 0:f8f608a6114a 27
caleblegis 0:f8f608a6114a 28 while(1){
caleblegis 0:f8f608a6114a 29 m.speed(0.25);
caleblegis 0:f8f608a6114a 30 wait(1/logfreq);
caleblegis 0:f8f608a6114a 31
caleblegis 0:f8f608a6114a 32 count = enc.getPulses() ;
caleblegis 0:f8f608a6114a 33 rad = count*((2*pi)/1600) ;
caleblegis 0:f8f608a6114a 34 if (rad<x){
caleblegis 0:f8f608a6114a 35 m.speed(0);}
caleblegis 0:f8f608a6114a 36 printf("The pulses are: %f\n\r", rad);}
caleblegis 0:f8f608a6114a 37
caleblegis 0:f8f608a6114a 38
caleblegis 0:f8f608a6114a 39 //0.2 for forward torque
caleblegis 0:f8f608a6114a 40 //-0.5 for backward
caleblegis 0:f8f608a6114a 41
caleblegis 0:f8f608a6114a 42
caleblegis 0:f8f608a6114a 43 //for (servopos=0; servopos<=1.0; servopos+=0.1){
caleblegis 0:f8f608a6114a 44 //for (motspeed= 0.2; motspeed <= 1.0; motspeed += 0.1) {
caleblegis 0:f8f608a6114a 45 //myservo1 = servopos;
caleblegis 0:f8f608a6114a 46 //myservo2 = 1.0 - servopos;
caleblegis 0:f8f608a6114a 47 //printf("Servo 1 position %.2f Servo 2 position %.3f\n", servopos, (1-servopos));
caleblegis 0:f8f608a6114a 48
caleblegis 0:f8f608a6114a 49 //m.speed(motspeed);
caleblegis 0:f8f608a6114a 50 //printf("motor speed is %.2f\n", motspeed);
caleblegis 0:f8f608a6114a 51 //wait(0.0002);
caleblegis 0:f8f608a6114a 52 //m.speed(-1.0);
caleblegis 0:f8f608a6114a 53 //wait(0.002);
caleblegis 0:f8f608a6114a 54 //m.speed(1.0);
caleblegis 0:f8f608a6114a 55 }
caleblegis 0:f8f608a6114a 56
caleblegis 0:f8f608a6114a 57
caleblegis 0:f8f608a6114a 58