enhance coding style

This commit is contained in:
francois 2015-05-09 20:20:53 +02:00
parent d46dded42d
commit d7c61d2556
3 changed files with 30 additions and 19 deletions

View File

@ -11,6 +11,9 @@
#include <PID_v1.h>
#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);
}
@ -47,7 +50,7 @@ void loop()
}
myPID.Compute();
analogWrite(3,Output);
analogWrite(PIN_OUTPUT, Output);
}

View File

@ -5,16 +5,20 @@
#include <PID_v1.h>
#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);
}

View File

@ -15,16 +15,20 @@
********************************************************/
#include <PID_v1.h>
#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();
@ -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);
}