Six crescent shaped legs

Dependencies:   mbed

Committer:
sim642
Date:
Tue Mar 29 14:59:13 2016 +0000
Revision:
5:7f800f61cb13
Parent:
4:4d54794b99a5
Child:
6:9f9047ca4a89
Add relative PID rotation to EncoderMotor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
phairero 0:0b7259fdb68a 1 #include "mbed.h"
sim642 3:2235787e78c4 2 #include "EncoderMotor.hpp"
sim642 3:2235787e78c4 3 #include "PIDController.hpp"
phairero 0:0b7259fdb68a 4
phairero 0:0b7259fdb68a 5 InterruptIn bt(USER_BUTTON);
sim642 2:cf0147952fb9 6 Serial pc(USBTX, USBRX);
sim642 2:cf0147952fb9 7
sim642 2:cf0147952fb9 8 Encoder e(PA_0, PA_1);
sim642 4:4d54794b99a5 9 //PIDController ec(0.2, 0.1, 0.01);
sim642 5:7f800f61cb13 10 PIDController ec(0.3, 2.0, 0.02);
sim642 4:4d54794b99a5 11 //PIDController ec(0.75, 2.0, 0.015);
sim642 5:7f800f61cb13 12 //PIDController ec(0.8, 1.5, 0.017);
sim642 5:7f800f61cb13 13 PIDController ecRot(5.0, 0.1, 0.04);
sim642 5:7f800f61cb13 14 EncoderMotor m(PB_0, PC_1, PC_0, e, ec, ecRot);
sim642 4:4d54794b99a5 15 //Motor m(PB_0, PC_1, PC_0);
phairero 0:0b7259fdb68a 16
sim642 2:cf0147952fb9 17 void rise()
sim642 2:cf0147952fb9 18 {
sim642 2:cf0147952fb9 19 pc.printf("rise\n");
sim642 3:2235787e78c4 20 m.drive(0);
sim642 2:cf0147952fb9 21 }
phairero 0:0b7259fdb68a 22
sim642 2:cf0147952fb9 23 void fall()
sim642 2:cf0147952fb9 24 {
sim642 2:cf0147952fb9 25 pc.printf("fall\n");
sim642 4:4d54794b99a5 26 m.drive(0.5);
sim642 2:cf0147952fb9 27 }
phairero 1:8b0322a353f4 28
sim642 2:cf0147952fb9 29 int main()
sim642 3:2235787e78c4 30 {
sim642 3:2235787e78c4 31 bt.rise(&rise);
sim642 3:2235787e78c4 32 bt.fall(&fall);
sim642 3:2235787e78c4 33
sim642 3:2235787e78c4 34 m.setup();
sim642 3:2235787e78c4 35
sim642 5:7f800f61cb13 36 float rot;
sim642 5:7f800f61cb13 37
sim642 2:cf0147952fb9 38 while(1)
sim642 2:cf0147952fb9 39 {
sim642 4:4d54794b99a5 40 //pc.printf("%d %f %f\n", e.getCount(), m.speed, m.out);
sim642 4:4d54794b99a5 41 //wait(0.1);
sim642 5:7f800f61cb13 42 //pc.scanf("%f %f %f", &ec.Kp, &ec.Ki, &ec.Kd);
sim642 5:7f800f61cb13 43 //pc.scanf("%f %f %f %f", &ecRot.Kp, &ecRot.Ki, &ecRot.Kd, &rot);
sim642 5:7f800f61cb13 44 pc.scanf("%f", &rot);
sim642 5:7f800f61cb13 45 m.rotate(rot);
phairero 0:0b7259fdb68a 46 }
sim642 2:cf0147952fb9 47 }