Controllo di temperatura con scheda Arduino
Schema elettrico



Schema a blocchi controllo

Software
const float Rif=40.0; //Riferimento di temperatura
const float KT=1/0.01; //K di conversione da tensione a temperatura
const float KV=5/1023; //K di conversione da valore ADC a tensione;
int ValADC; //Valore a ADC corrispondente a tensione applicata all'ingresso
int V; //Valore si tensione
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
}
void loop() {
ValADC=analogRead(A0); //Legge ADC
V=ValADC*KV; //Trasforma in tensione
Retro=V*KT; //Trasforma in temeperatura
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));
}