David's dead reckoning code for the LVBots competition on March 6th. Uses the mbed LPC1768, DRV8835, QTR-3RC, and two DC motors with encoders.
Dependencies: PololuEncoder Pacer mbed GeneralDebouncer
encoders.cpp@8:78b1ff957cba, 2014-02-22 (annotated)
- Committer:
- DavidEGrayson
- Date:
- Sat Feb 22 02:23:21 2014 +0000
- Revision:
- 8:78b1ff957cba
- Child:
- 9:9734347b5756
refactored into many files
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DavidEGrayson | 8:78b1ff957cba | 1 | #include "encoders.h" |
DavidEGrayson | 8:78b1ff957cba | 2 | |
DavidEGrayson | 8:78b1ff957cba | 3 | const PinName encoderPin1A = p6, |
DavidEGrayson | 8:78b1ff957cba | 4 | encoderPin1B = p7, |
DavidEGrayson | 8:78b1ff957cba | 5 | encoderPin2A = p8, |
DavidEGrayson | 8:78b1ff957cba | 6 | encoderPin2B = p9; |
DavidEGrayson | 8:78b1ff957cba | 7 | |
DavidEGrayson | 8:78b1ff957cba | 8 | PololuEncoderBuffer encoderBuffer; |
DavidEGrayson | 8:78b1ff957cba | 9 | PololuEncoder encoder1(encoderPin1A, encoderPin1B, &encoderBuffer, ENCODER1); |
DavidEGrayson | 8:78b1ff957cba | 10 | PololuEncoder encoder2(encoderPin2A, encoderPin2B, &encoderBuffer, ENCODER2); |
DavidEGrayson | 8:78b1ff957cba | 11 | |
DavidEGrayson | 8:78b1ff957cba | 12 | void encoders_init() |
DavidEGrayson | 8:78b1ff957cba | 13 | { |
DavidEGrayson | 8:78b1ff957cba | 14 | DigitalIn(encoderPin1A).mode(PullUp); |
DavidEGrayson | 8:78b1ff957cba | 15 | DigitalIn(encoderPin1B).mode(PullUp); |
DavidEGrayson | 8:78b1ff957cba | 16 | DigitalIn(encoderPin2A).mode(PullUp); |
DavidEGrayson | 8:78b1ff957cba | 17 | DigitalIn(encoderPin2B).mode(PullUp); |
DavidEGrayson | 8:78b1ff957cba | 18 | wait_us(50); |
DavidEGrayson | 8:78b1ff957cba | 19 | encoder1.init(); |
DavidEGrayson | 8:78b1ff957cba | 20 | encoder2.init(); |
DavidEGrayson | 8:78b1ff957cba | 21 | } |