Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.94 KB | None | 0 0
  1. #include <Arduino.h>
  2. #include <LiquidCrystal.h>
  3.  
  4. double valor=0;
  5. double grados=0; //actual
  6. int pin_a = A0;
  7. int pin_pwm = 6;
  8. int t_deseada = 26;
  9. double error[2] = {0,0};
  10. //double derr = 0;
  11. double ierr = 0;
  12. double out = 0;
  13.  
  14. void setup(){
  15.  pinMode(pin_a, INPUT);
  16.  pinMode(pin_pwm, OUTPUT);
  17.  LiquidCrystal lcd(2,3,4,5,7,8);
  18.  
  19.  Serial.begin(9600);
  20.  lcd.begin(8,2);
  21.  lcd.setCursor(0,0);
  22.  lcd.write("HOLA");
  23. }
  24.  
  25. void loop(){
  26.  valor = analogRead(pin_a);
  27.  valor = (valor*5) /1024;
  28.  grados = valor * (50/5);
  29.  
  30.  error[0] = grados - t_deseada;
  31.  if(error[0] < 0) {
  32.    error[0] = 0;
  33.  }
  34.  //derr = 4 * (error[0] - error[1]);
  35.  ierr = ierr + 0.05 * error[0];
  36.  out = 200 * error[0] + ierr;
  37.  error[1] = error[0];
  38.  
  39.  Serial.print("Voltaje: ");
  40.  Serial.print(valor);
  41.  Serial.print("V");
  42.  Serial.print(" Grados: ");
  43.  Serial.print(grados);
  44.  Serial.println("C");
  45.  //delay(2000);
  46.  
  47.  //Ventilador
  48.  delay(100);
  49.  analogWrite(pin_pwm,255-out);
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement