Jan Boerman
/
QEITest
QUI test for the BioRobotics Shield and Pololu motor.
main.cpp@0:f7f02194f5d6, 2016-09-27 (annotated)
- Committer:
- Jankoekenpan
- Date:
- Tue Sep 27 15:35:14 2016 +0000
- Revision:
- 0:f7f02194f5d6
working qei :D
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jankoekenpan | 0:f7f02194f5d6 | 1 | #include "mbed.h" |
Jankoekenpan | 0:f7f02194f5d6 | 2 | #include "QEI.h" |
Jankoekenpan | 0:f7f02194f5d6 | 3 | |
Jankoekenpan | 0:f7f02194f5d6 | 4 | Serial pc(USBTX, USBRX); |
Jankoekenpan | 0:f7f02194f5d6 | 5 | InterruptIn reset_button(D2); |
Jankoekenpan | 0:f7f02194f5d6 | 6 | |
Jankoekenpan | 0:f7f02194f5d6 | 7 | const float ratio = 1.0f/131.25f; |
Jankoekenpan | 0:f7f02194f5d6 | 8 | |
Jankoekenpan | 0:f7f02194f5d6 | 9 | QEI qei(D13, D12, NC, 32); |
Jankoekenpan | 0:f7f02194f5d6 | 10 | |
Jankoekenpan | 0:f7f02194f5d6 | 11 | Ticker printer; |
Jankoekenpan | 0:f7f02194f5d6 | 12 | volatile int seconds_passed = 0; |
Jankoekenpan | 0:f7f02194f5d6 | 13 | |
Jankoekenpan | 0:f7f02194f5d6 | 14 | void onTick() { |
Jankoekenpan | 0:f7f02194f5d6 | 15 | pc.printf("pulses = %d\r\n", qei.getPulses()); |
Jankoekenpan | 0:f7f02194f5d6 | 16 | pc.printf("revolutions = %d\r\n", qei.getRevolutions()); |
Jankoekenpan | 0:f7f02194f5d6 | 17 | pc.printf("angular velocity = %d degrees/second\r\n", (qei.getPulses() / ++seconds_passed) * (360/32)); |
Jankoekenpan | 0:f7f02194f5d6 | 18 | pc.printf("\n\n"); |
Jankoekenpan | 0:f7f02194f5d6 | 19 | } |
Jankoekenpan | 0:f7f02194f5d6 | 20 | |
Jankoekenpan | 0:f7f02194f5d6 | 21 | void reset() { |
Jankoekenpan | 0:f7f02194f5d6 | 22 | seconds_passed = 0; |
Jankoekenpan | 0:f7f02194f5d6 | 23 | qei.reset(); |
Jankoekenpan | 0:f7f02194f5d6 | 24 | } |
Jankoekenpan | 0:f7f02194f5d6 | 25 | |
Jankoekenpan | 0:f7f02194f5d6 | 26 | int main() |
Jankoekenpan | 0:f7f02194f5d6 | 27 | { |
Jankoekenpan | 0:f7f02194f5d6 | 28 | pc.baud(115200); |
Jankoekenpan | 0:f7f02194f5d6 | 29 | qei.reset(); |
Jankoekenpan | 0:f7f02194f5d6 | 30 | printer.attach(onTick, 1); |
Jankoekenpan | 0:f7f02194f5d6 | 31 | reset_button.fall(reset); //there must be a better/cleaner way to do this. |
Jankoekenpan | 0:f7f02194f5d6 | 32 | while (true); |
Jankoekenpan | 0:f7f02194f5d6 | 33 | } |