Terrabots
/
turn_pot
main.cpp@1:532b7273ebc6, 2016-10-24 (annotated)
- Committer:
- simplyellow
- Date:
- Mon Oct 24 21:18:32 2016 +0000
- Revision:
- 1:532b7273ebc6
- Parent:
- 0:d97c87993116
more measurements and calculations;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simplyellow | 0:d97c87993116 | 1 | #include "mbed.h" |
simplyellow | 0:d97c87993116 | 2 | #include "Motor.h" |
simplyellow | 0:d97c87993116 | 3 | |
simplyellow | 0:d97c87993116 | 4 | //Motor turn(p23, p28); |
simplyellow | 0:d97c87993116 | 5 | AnalogIn pot(p15); |
simplyellow | 0:d97c87993116 | 6 | Serial pc(USBTX, USBRX); |
simplyellow | 0:d97c87993116 | 7 | |
simplyellow | 0:d97c87993116 | 8 | float value; |
simplyellow | 0:d97c87993116 | 9 | float angle; |
simplyellow | 1:532b7273ebc6 | 10 | float zero; |
simplyellow | 0:d97c87993116 | 11 | |
simplyellow | 0:d97c87993116 | 12 | /* |
simplyellow | 0:d97c87993116 | 13 | the angular range of the pot is 66.8 degrees |
simplyellow | 1:532b7273ebc6 | 14 | so +/- 33.4 degrees |
simplyellow | 0:d97c87993116 | 15 | the average float range is 0.2226 |
simplyellow | 1:532b7273ebc6 | 16 | so +/- 0.1113 |
simplyellow | 1:532b7273ebc6 | 17 | |
simplyellow | 1:532b7273ebc6 | 18 | potentiometer source link |
simplyellow | 1:532b7273ebc6 | 19 | http://www.alphapotentiometers.net/html/16mm_pot_6.html |
simplyellow | 0:d97c87993116 | 20 | */ |
simplyellow | 0:d97c87993116 | 21 | |
simplyellow | 0:d97c87993116 | 22 | /* DumpTruck pot measurements |
simplyellow | 0:d97c87993116 | 23 | 0.274 to 0.498 -> 0.224 |
simplyellow | 0:d97c87993116 | 24 | 0.272 to 0.495 -> 0.223 |
simplyellow | 0:d97c87993116 | 25 | 0.277 to 0.498 -> 0.221 |
simplyellow | 0:d97c87993116 | 26 | |
simplyellow | 0:d97c87993116 | 27 | */ |
simplyellow | 1:532b7273ebc6 | 28 | |
simplyellow | 1:532b7273ebc6 | 29 | int main() { |
simplyellow | 1:532b7273ebc6 | 30 | zero = (float) pot; // this will be the center, 0 degrees |
simplyellow | 1:532b7273ebc6 | 31 | while(1){ |
simplyellow | 1:532b7273ebc6 | 32 | value = (float) pot; // assuming turning wheels are in back |
simplyellow | 1:532b7273ebc6 | 33 | angle = (value - zero)*300; // negative = left turn |
simplyellow | 1:532b7273ebc6 | 34 | pc.printf("%f\n\r", angle); // positive = right turn |
simplyellow | 1:532b7273ebc6 | 35 | wait(0.2); |
simplyellow | 1:532b7273ebc6 | 36 | } |
simplyellow | 1:532b7273ebc6 | 37 | } |