Simon Ford
/
LabVIEW_PID
Simple PID example for LabVIEW
main.cpp@1:ddfe18427154, 2010-08-03 (annotated)
- Committer:
- simon
- Date:
- Tue Aug 03 15:32:30 2010 +0000
- Revision:
- 1:ddfe18427154
- Parent:
- 0:e3b759ab4b5c
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 0:e3b759ab4b5c | 1 | #include "mbed.h" |
simon | 0:e3b759ab4b5c | 2 | #include "QEI.h" |
simon | 1:ddfe18427154 | 3 | #include "Motor.h" |
simon | 0:e3b759ab4b5c | 4 | |
simon | 0:e3b759ab4b5c | 5 | Serial pc(USBTX, USBRX); |
simon | 0:e3b759ab4b5c | 6 | QEI Encoder(p29 ,p30, NC, 48); |
simon | 1:ddfe18427154 | 7 | Motor Wheel(p23, p21, p22); |
simon | 0:e3b759ab4b5c | 8 | |
simon | 1:ddfe18427154 | 9 | int main() { |
simon | 1:ddfe18427154 | 10 | float MotorOutput = 0; |
simon | 1:ddfe18427154 | 11 | Encoder.reset(); |
simon | 1:ddfe18427154 | 12 | while (1) { |
simon | 1:ddfe18427154 | 13 | pc.scanf("%f", &MotorOutput); |
simon | 1:ddfe18427154 | 14 | float NoPulses = Encoder.getPulses(); |
simon | 0:e3b759ab4b5c | 15 | |
simon | 1:ddfe18427154 | 16 | float Percentage = (NoPulses / 48) * 100; |
simon | 0:e3b759ab4b5c | 17 | pc.printf("%f\n", Percentage); |
simon | 0:e3b759ab4b5c | 18 | |
simon | 1:ddfe18427154 | 19 | Wheel.speed((MotorOutput - 50) * 2 / 100); |
simon | 1:ddfe18427154 | 20 | |
simon | 0:e3b759ab4b5c | 21 | wait(0.005); |
simon | 0:e3b759ab4b5c | 22 | } |
simon | 0:e3b759ab4b5c | 23 | } |