You are on page 1of 2

#include <TimerOne.

h>
#define convEnt 51
#define convInAnag 0.004887
#define conPWM 11
#define kp 3.022
#define Ts 0.1

void setup() {
Serial.begin(9600);
Timer1.initialize(Ts*100000);
Timer1.attachInterrupt(Bandera);
pinMode(conPWM,OUTPUT);

}
bool estado=false;
int i;
float ref, Y,error;
void Bandera(){
i++;
estado=true;
}

void loop() {
int temp;
int refInt=analogRead(A2);
int YInt=analogRead(A3);
ref=refInt*convInAnag;
Y=YInt*convInAnag;

if(estado){
estado=false;
error=ref-Y;
float u=kp+error;
int uInt=u+convEnt;
if(uInt>255){
uInt=255;
}else if(uInt<0)
uInt=0;
analogWrite(conPWM,uInt);
delay(50);
Serial.print(ref);
Serial.print(",");
Serial.print(Y);
Serial.print(",");
Serial.println(u);

You might also like