Updated with the Algorithm

Dependencies:   QEI mbed

Fork of MM_rat_Assignment4-newwest by Evan Brown

Committer:
Showboo
Date:
Tue Nov 21 23:06:09 2017 +0000
Revision:
1:fb18b43590e6
Parent:
0:f7fc09f9c7ce
Child:
2:7da65637e512
Update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Showboo 0:f7fc09f9c7ce 1 #include "mbed.h"
Showboo 0:f7fc09f9c7ce 2 #include "QEI.h"
Showboo 0:f7fc09f9c7ce 3 #include "header.h"
Showboo 0:f7fc09f9c7ce 4
Showboo 0:f7fc09f9c7ce 5 inline void pulse_ir(int in){
Showboo 1:fb18b43590e6 6 for(int i = 0; i < 4; i++){
Showboo 0:f7fc09f9c7ce 7 LeftIR = in;
Showboo 1:fb18b43590e6 8
Showboo 0:f7fc09f9c7ce 9 FrontLeftIR = in;
Showboo 0:f7fc09f9c7ce 10 FrontRightIR = in;
Showboo 0:f7fc09f9c7ce 11 RightIR = in;
Showboo 1:fb18b43590e6 12 }
Showboo 0:f7fc09f9c7ce 13 }
Showboo 0:f7fc09f9c7ce 14
Showboo 0:f7fc09f9c7ce 15 int main() {
Showboo 0:f7fc09f9c7ce 16 pid lman, rman;
Showboo 1:fb18b43590e6 17 lman.kp = .009f;
Showboo 0:f7fc09f9c7ce 18 lman.ki = .0f;
Showboo 0:f7fc09f9c7ce 19 lman.kd = .0f;
Showboo 0:f7fc09f9c7ce 20 rman.kp = .5f;
Showboo 0:f7fc09f9c7ce 21 rman.ki = .1f;
Showboo 0:f7fc09f9c7ce 22 rman.kd = .4f;
Showboo 0:f7fc09f9c7ce 23
Showboo 0:f7fc09f9c7ce 24 lpwmf.period(0.01f);
Showboo 1:fb18b43590e6 25 lpwmb.period(0.01f);
Showboo 0:f7fc09f9c7ce 26 lpwmf = 0; //Previously started on, replace with lpwmf = lbase to make it start on (not a good idea)
Showboo 1:fb18b43590e6 27 rpwmb=0;
Showboo 0:f7fc09f9c7ce 28 rpwmf.period(0.01f);
Showboo 1:fb18b43590e6 29 rpwmb.period(0.01f);
Showboo 1:fb18b43590e6 30 rpwmb=0;
Showboo 0:f7fc09f9c7ce 31 rpwmf = 0;
Showboo 1:fb18b43590e6 32
Showboo 0:f7fc09f9c7ce 33 pid ir_lman, ir_rman;
Showboo 1:fb18b43590e6 34 ir_lman.kp = .0001f;
Showboo 0:f7fc09f9c7ce 35 ir_lman.ki = .0f;
Showboo 0:f7fc09f9c7ce 36 ir_lman.kd = .0f;
Showboo 0:f7fc09f9c7ce 37 ir_rman.kp = .5f;
Showboo 0:f7fc09f9c7ce 38 ir_rman.ki = .1f;
Showboo 0:f7fc09f9c7ce 39 ir_rman.kd = .4f;
Showboo 0:f7fc09f9c7ce 40 t_time.start();
Showboo 0:f7fc09f9c7ce 41 while(1){
Showboo 0:f7fc09f9c7ce 42 float dt = t_time.read();
Showboo 1:fb18b43590e6 43 float lspeed = 0; float rspeed = 0;
Showboo 1:fb18b43590e6 44 LeftIR = 1;
Showboo 1:fb18b43590e6 45 wait(.01f);
Showboo 1:fb18b43590e6 46 FrontLeftIR=1;
Showboo 1:fb18b43590e6 47 wait(.01f);
Showboo 1:fb18b43590e6 48 FrontRightIR=1;
Showboo 1:fb18b43590e6 49 wait(.01f);
Showboo 1:fb18b43590e6 50 RightIR=1;
Showboo 0:f7fc09f9c7ce 51 ProcessIR(dt, ir_lman, lspeed, rspeed);
Showboo 0:f7fc09f9c7ce 52 lpwmb = 0; rpwmb = 0;
Showboo 1:fb18b43590e6 53 lpwmf = lspeed; rpwmf = rspeed;
Showboo 1:fb18b43590e6 54 LeftIR = 0;
Showboo 1:fb18b43590e6 55 wait(.01f);
Showboo 1:fb18b43590e6 56 FrontLeftIR=0;
Showboo 1:fb18b43590e6 57 wait(.01f);
Showboo 1:fb18b43590e6 58 FrontRightIR=0;
Showboo 1:fb18b43590e6 59 wait(.01f);
Showboo 1:fb18b43590e6 60 RightIR=0;
Showboo 0:f7fc09f9c7ce 61 t_time.reset();
Showboo 0:f7fc09f9c7ce 62 }
Showboo 0:f7fc09f9c7ce 63 }