P

Dependencies:   MIYAZAKI QEI mbed

Committer:
sakanakuuun
Date:
Sun Aug 21 07:20:38 2016 +0000
Revision:
0:262d28994243
P

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sakanakuuun 0:262d28994243 1 #include "mbed.h"
sakanakuuun 0:262d28994243 2 #include "QEI.h"
sakanakuuun 0:262d28994243 3 #include "Locate.h"
sakanakuuun 0:262d28994243 4
sakanakuuun 0:262d28994243 5 #define rPR 100
sakanakuuun 0:262d28994243 6 #define lPR 100
sakanakuuun 0:262d28994243 7
sakanakuuun 0:262d28994243 8 Serial pc(SERIAL_TX, SERIAL_RX);
sakanakuuun 0:262d28994243 9
sakanakuuun 0:262d28994243 10 DigitalOut rv(PA_6);
sakanakuuun 0:262d28994243 11 DigitalOut lv(PA_14);
sakanakuuun 0:262d28994243 12 DigitalIn finished(D15);
sakanakuuun 0:262d28994243 13
sakanakuuun 0:262d28994243 14 QEI right(PA_7, PA_5, NC, lPR, QEI::X2_ENCODING);
sakanakuuun 0:262d28994243 15 QEI left(PA_13, PA_15, NC, lPR, QEI::X2_ENCODING); //Aを上から7番目に着ける,GNDはA15の下
sakanakuuun 0:262d28994243 16
sakanakuuun 0:262d28994243 17 Locate machine(0,0);
sakanakuuun 0:262d28994243 18
sakanakuuun 0:262d28994243 19 int main()
sakanakuuun 0:262d28994243 20 {
sakanakuuun 0:262d28994243 21 rv = 1;
sakanakuuun 0:262d28994243 22 lv = 1;
sakanakuuun 0:262d28994243 23
sakanakuuun 0:262d28994243 24 int cnt = -10;
sakanakuuun 0:262d28994243 25
sakanakuuun 0:262d28994243 26 while(cnt++ < 0)
sakanakuuun 0:262d28994243 27 {
sakanakuuun 0:262d28994243 28 pc.printf("Rpulse: %d Lpulses: %d\n\r x(mm): %d y(mm): %d theta: %f.\n\r"
sakanakuuun 0:262d28994243 29 ,right.getPulses(), left.getPulses(), machine.getX(), machine.getY(), machine.rad);
sakanakuuun 0:262d28994243 30 pc.printf("Rpulse: %d Lpulses: %d\n\r x(mm): %d y(mm): %d theta: %f.\n\r"
sakanakuuun 0:262d28994243 31 ,-right.getPulses(), left.getPulses(), machine.getX(), machine.getY(), machine.rad);
sakanakuuun 0:262d28994243 32 //machine.setup(right.getPulses(),left.getPulses());
sakanakuuun 0:262d28994243 33
sakanakuuun 0:262d28994243 34 }
sakanakuuun 0:262d28994243 35
sakanakuuun 0:262d28994243 36 while(1) {
sakanakuuun 0:262d28994243 37 machine.update(-right.getPulses(), left.getPulses());
sakanakuuun 0:262d28994243 38 if (cnt++ >= 200) {
sakanakuuun 0:262d28994243 39 cnt = 0;
sakanakuuun 0:262d28994243 40 pc.printf("Rpulse: %d Lpulses: %d x: %f\n\r x(mm): %d y(mm): %d theta: %f.\n\r"
sakanakuuun 0:262d28994243 41 ,-right.getPulses(), left.getPulses(), machine.x, machine.getX(), machine.getY(), machine.rad);
sakanakuuun 0:262d28994243 42 }
sakanakuuun 0:262d28994243 43 }
sakanakuuun 0:262d28994243 44 }