You are on page 1of 2

int pinI1=8;

int pinI2=11;

int speedPin=9;

#include <PID_v1.h>

//Define Variables we'll be connecting to

double Setpoint, Input, Output;

double consKp=2, consKi=0.05, consKd=0;

//Specify the links and initial tuning parameters

PID myPID(&Input, &Output, &Setpoint, consKp, consKi, consKd, DIRECT);

void setup()

int TPS0 = analogRead(0);

int TPS1 = analogRead(1);

int TPS = map(TPS1, 100,1023, 0, 250);

//initialize the variables we're linked to

Input = TPS;

Setpoint = map(analogRead(2), 20, 1023, 0,250);

//turn the PID on


myPID.SetMode(AUTOMATIC);

pinMode(pinI1,OUTPUT);

pinMode(pinI2,OUTPUT);

pinMode(speedPin,OUTPUT);

digitalWrite(pinI2,LOW);

digitalWrite(pinI1,HIGH);

Serial.begin(9600);

void loop()

int TPS0 = analogRead(0);

int TPS1 = analogRead(1);

int TPS = map(TPS1, 100, 1023, 0, 250);

Input = TPS;

Setpoint = map(analogRead(2), 20, 1023, 0, 250);

double gap = abs(Setpoint-Input); //distance away from setpoint

myPID.Compute();

analogWrite(speedPin,Output);

You might also like