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);
}