Code om de PID controller af te stellen aan de hand van een sinus golf
Dependencies: mbed QEI MODSERIAL FastPWM biquadFilter
Diff: main.cpp
- Revision:
- 2:926d56babb1a
- Parent:
- 1:58f34947c674
- Child:
- 3:ac13255164cd
--- a/main.cpp Wed Mar 13 14:01:03 2019 +0000 +++ b/main.cpp Wed Mar 13 15:38:05 2019 +0000 @@ -1,16 +1,27 @@ #include "mbed.h" +#include "MODSERIAL.h" DigitalIn button2(SW2); DigitalIn button3(SW3); +DigitalOut led(LED_GREEN); +DigitalOut led2(LED_RED); +MODSERIAL pc(USBTX, USBRX); + +//motoren DigitalOut direction1(D4); PwmOut pwmpin1(D5); PwmOut pwmpin2(D6); DigitalOut direction2(D7); + +//Pot meter AnalogIn pot(A1); Ticker Pot; +Ticker PotRead; +Ticker Typ; -DigitalOut led(LED_RED); + volatile float PWM1; volatile float PWM2; +float Pot2; void Period(void) { @@ -19,6 +30,10 @@ void Potread(void) { pwmpin2 = pot.read(); + + //pwmpin2.write(0.5); + //pwmpin2 = PWM2; + } void MotorOn(void) { @@ -30,21 +45,34 @@ Pot.detach (); pwmpin2 = 0; } +void Typen(void){ + char c; + c = pc.getc(); + pc.printf("%c", c); + } int main() { Period(); - while (1){ + pc.baud(115200); + pc.printf("start\r\n"); + + while (true){ + led2 = 0; + Pot2 = pot.read(); + pc.printf("%f\r\n",Pot2); if (!button2) { - led = !led; - MotorOn(); + led = 1; + MotorOn(); } if (!button3) { MotorOff(); } + led = 0; + Typ.attach(Typen,0.1); } }