Code om de PID controller af te stellen aan de hand van een sinus golf
Dependencies: mbed QEI MODSERIAL FastPWM biquadFilter
main.cpp@1:58f34947c674, 2019-03-13 (annotated)
- Committer:
- aschut
- Date:
- Wed Mar 13 14:01:03 2019 +0000
- Revision:
- 1:58f34947c674
- Parent:
- 0:a9a42914138c
- Child:
- 2:926d56babb1a
Potmeter + aan en uit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aschut | 0:a9a42914138c | 1 | #include "mbed.h" |
aschut | 1:58f34947c674 | 2 | DigitalIn button2(SW2); |
aschut | 1:58f34947c674 | 3 | DigitalIn button3(SW3); |
aschut | 0:a9a42914138c | 4 | DigitalOut direction1(D4); |
aschut | 0:a9a42914138c | 5 | PwmOut pwmpin1(D5); |
aschut | 0:a9a42914138c | 6 | PwmOut pwmpin2(D6); |
aschut | 0:a9a42914138c | 7 | DigitalOut direction2(D7); |
aschut | 1:58f34947c674 | 8 | AnalogIn pot(A1); |
aschut | 1:58f34947c674 | 9 | Ticker Pot; |
aschut | 0:a9a42914138c | 10 | |
aschut | 0:a9a42914138c | 11 | DigitalOut led(LED_RED); |
aschut | 1:58f34947c674 | 12 | volatile float PWM1; |
aschut | 1:58f34947c674 | 13 | volatile float PWM2; |
aschut | 0:a9a42914138c | 14 | |
aschut | 1:58f34947c674 | 15 | void Period(void) |
aschut | 1:58f34947c674 | 16 | { |
aschut | 1:58f34947c674 | 17 | pwmpin2.period_us(60); |
aschut | 0:a9a42914138c | 18 | } |
aschut | 1:58f34947c674 | 19 | void Potread(void) |
aschut | 1:58f34947c674 | 20 | { |
aschut | 1:58f34947c674 | 21 | pwmpin2 = pot.read(); |
aschut | 1:58f34947c674 | 22 | } |
aschut | 1:58f34947c674 | 23 | void MotorOn(void) |
aschut | 1:58f34947c674 | 24 | { |
aschut | 1:58f34947c674 | 25 | Pot.attach (Potread, 0.1); |
aschut | 1:58f34947c674 | 26 | direction2 = 1; |
aschut | 1:58f34947c674 | 27 | } |
aschut | 1:58f34947c674 | 28 | void MotorOff(void) |
aschut | 1:58f34947c674 | 29 | { |
aschut | 1:58f34947c674 | 30 | Pot.detach (); |
aschut | 1:58f34947c674 | 31 | pwmpin2 = 0; |
aschut | 1:58f34947c674 | 32 | } |
aschut | 1:58f34947c674 | 33 | |
aschut | 1:58f34947c674 | 34 | |
aschut | 1:58f34947c674 | 35 | |
aschut | 0:a9a42914138c | 36 | int main() { |
aschut | 0:a9a42914138c | 37 | Period(); |
aschut | 1:58f34947c674 | 38 | while (1){ |
aschut | 1:58f34947c674 | 39 | if (!button2) |
aschut | 1:58f34947c674 | 40 | { |
aschut | 1:58f34947c674 | 41 | led = !led; |
aschut | 1:58f34947c674 | 42 | MotorOn(); |
aschut | 1:58f34947c674 | 43 | } |
aschut | 1:58f34947c674 | 44 | if (!button3) |
aschut | 1:58f34947c674 | 45 | { |
aschut | 1:58f34947c674 | 46 | MotorOff(); |
aschut | 1:58f34947c674 | 47 | } |
aschut | 1:58f34947c674 | 48 | } |
aschut | 0:a9a42914138c | 49 | } |
aschut | 0:a9a42914138c | 50 | |
aschut | 0:a9a42914138c | 51 | |
aschut | 0:a9a42914138c | 52 |