Controllo di temperatura con scheda Arduino

Schema elettrico

Schema a blocchi controllo

 

Software

const float Rif=35.0;        //Riferimento di temperatura
const float KT=1.1*100.0/1023; //K di conversione da tensione a temperatura
int   ValADC;                //Valore a ADC corrispondente a tensione applicata all'ingresso 
float Retro;                 //Temperatura misurata
float Err;                   //Errore


void setup() {
  // put your setup code here, to run once:
  pinMode(3,OUTPUT);    //Inizializza pin 3 come uscita diglitale 
  digitalWrite(3,LOW);  //Mette a 0 l'uscita (riscaldamento spento)
  Serial.begin(9600);   //Inizializza la porta seriale
  analogReference(INTERNAL); //Rif ADC a 1.1V
}

void loop() {
  ValADC=analogRead(A0); //Legge ADC
  Retro=ValADC*KT;       //Trasforma in temperatura
  Err=Rif-Retro;         //Elabora errore
  if (Err>0)             //Prende la decisione se accendere o spegnere il riscaldatore.
    digitalWrite(3,HIGH);
  else
    digitalWrite(3,LOW);
    
  //-----Monitoraggio sistema----------------------------
  Serial.print("Rif:");  
  Serial.print(Rif);
  Serial.print(" Retro:");  
  Serial.print(Retro);
  Serial.print(" Err:");  
  Serial.print(Err);
  Serial.print(" Out:");
  Serial.println(digitalRead(3));
  delay(500);
}