library to use pid easier
Diff: PID_lib.h
- Revision:
- 2:77ef3d60d8d9
- Parent:
- 1:ebb9cfc0cff5
- Child:
- 3:80e7ed9fdb02
diff -r ebb9cfc0cff5 -r 77ef3d60d8d9 PID_lib.h --- a/PID_lib.h Sun Oct 16 10:07:21 2022 +0000 +++ b/PID_lib.h Sun Oct 16 11:14:26 2022 +0000 @@ -1,10 +1,18 @@ -#ifndef PID_lib -#define PID_lib +#ifndef PID_lib_H +#define PID_lib_H +/** + * Includes + */ #include "mbed.h" +/** + * Proportional-integral-derivative controller. + */ class PID_lib { + public: + /* initialization @@ -12,7 +20,7 @@ inisialisasi */ - PID_lib(PinName dir1, PinName dir2, PinName pwm, float rpm=100); + PID_lib(PinName dir1, PinName dir2, PinName pwm); /* get the pid pwm @@ -20,13 +28,13 @@ keluarkan nilai pwm pid */ - void pid_pwm(float target_, float kp_, float ki_, float kd_); + void pid_pwm(float target_, float kp_, float ki_, float kd_, float rpm); + private: Timer t; DigitalOut dir1; - DigitalOut dir2 - PwmOut pwm_; -protected: + DigitalOut dir2; + PwmOut pwm; float rpm; float e; float laste; @@ -46,6 +54,8 @@ float rpmFilt; float rpmFiltn1; float rpmn1; + + }; -#endif \ No newline at end of file +#endif