Professional Documents
Culture Documents
Codigo
Codigo
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);