From d7c61d2556e1bae2d7bad2270be3994a909f9a04 Mon Sep 17 00:00:00 2001 From: francois Date: Sat, 9 May 2015 20:20:53 +0200 Subject: [PATCH] enhance coding style --- .../PID_AdaptiveTunings.ino | 15 ++++++++----- examples/PID_Basic/PID_Basic.ino | 12 ++++++---- examples/PID_RelayOutput/PID_RelayOutput.ino | 22 +++++++++++-------- 3 files changed, 30 insertions(+), 19 deletions(-) diff --git a/examples/PID_AdaptiveTunings/PID_AdaptiveTunings.ino b/examples/PID_AdaptiveTunings/PID_AdaptiveTunings.ino index 450c4fa..94f3faf 100644 --- a/examples/PID_AdaptiveTunings/PID_AdaptiveTunings.ino +++ b/examples/PID_AdaptiveTunings/PID_AdaptiveTunings.ino @@ -11,6 +11,9 @@ #include +#define PIN_INPUT 0 +#define PIN_OUTPUT 3 + //Define Variables we'll be connecting to double Setpoint, Input, Output; @@ -24,7 +27,7 @@ PID myPID(&Input, &Output, &Setpoint, consKp, consKi, consKd, DIRECT); void setup() { //initialize the variables we're linked to - Input = analogRead(0); + Input = analogRead(PIN_INPUT); Setpoint = 100; //turn the PID on @@ -33,10 +36,10 @@ void setup() void loop() { - Input = analogRead(0); - + Input = analogRead(PIN_INPUT); + double gap = abs(Setpoint-Input); //distance away from setpoint - if(gap<10) + if (gap < 10) { //we're close to setpoint, use conservative tuning parameters myPID.SetTunings(consKp, consKi, consKd); } @@ -45,9 +48,9 @@ void loop() //we're far from setpoint, use aggressive tuning parameters myPID.SetTunings(aggKp, aggKi, aggKd); } - + myPID.Compute(); - analogWrite(3,Output); + analogWrite(PIN_OUTPUT, Output); } diff --git a/examples/PID_Basic/PID_Basic.ino b/examples/PID_Basic/PID_Basic.ino index ed44396..8028b58 100644 --- a/examples/PID_Basic/PID_Basic.ino +++ b/examples/PID_Basic/PID_Basic.ino @@ -5,16 +5,20 @@ #include +#define PIN_INPUT 0 +#define PIN_OUTPUT 3 + //Define Variables we'll be connecting to double Setpoint, Input, Output; //Specify the links and initial tuning parameters -PID myPID(&Input, &Output, &Setpoint,2,5,1, DIRECT); +double Kp=2, Ki=5, Kd=1; +PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT); void setup() { //initialize the variables we're linked to - Input = analogRead(0); + Input = analogRead(PIN_INPUT); Setpoint = 100; //turn the PID on @@ -23,9 +27,9 @@ void setup() void loop() { - Input = analogRead(0); + Input = analogRead(PIN_INPUT); myPID.Compute(); - analogWrite(3,Output); + analogWrite(PIN_OUTPUT, Output); } diff --git a/examples/PID_RelayOutput/PID_RelayOutput.ino b/examples/PID_RelayOutput/PID_RelayOutput.ino index ed67e03..17fbe1a 100644 --- a/examples/PID_RelayOutput/PID_RelayOutput.ino +++ b/examples/PID_RelayOutput/PID_RelayOutput.ino @@ -7,28 +7,32 @@ * * to connect them together we use "time proportioning * control" it's essentially a really slow version of PWM. - * first we decide on a window size (5000mS say.) we then + * first we decide on a window size (5000mS say.) we then * set the pid to adjust its output between 0 and that window * size. lastly, we add some logic that translates the PID - * output into "Relay On Time" with the remainder of the + * output into "Relay On Time" with the remainder of the * window being "Relay Off Time" ********************************************************/ #include -#define RelayPin 6 + +#define PIN_INPUT 0 +#define RELAY_PIN 6 //Define Variables we'll be connecting to double Setpoint, Input, Output; //Specify the links and initial tuning parameters -PID myPID(&Input, &Output, &Setpoint,2,5,1, DIRECT); +double Kp=2, Ki=5, Kd=1; +PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT); int WindowSize = 5000; unsigned long windowStartTime; + void setup() { windowStartTime = millis(); - + //initialize the variables we're linked to Setpoint = 100; @@ -41,18 +45,18 @@ void setup() void loop() { - Input = analogRead(0); + Input = analogRead(PIN_INPUT); myPID.Compute(); /************************************************ * turn the output pin on/off based on pid output ************************************************/ - if(millis() - windowStartTime>WindowSize) + if (millis() - windowStartTime > WindowSize) { //time to shift the Relay Window windowStartTime += WindowSize; } - if(Output < millis() - windowStartTime) digitalWrite(RelayPin,HIGH); - else digitalWrite(RelayPin,LOW); + if (Output < millis() - windowStartTime) digitalWrite(RELAY_PIN, HIGH); + else digitalWrite(RELAY_PIN, LOW); }