Qualcosa come questo, sono 2 sensori ... taglia e cuci prendi solo quello che ti serve
//con LM35DZ sensore di temperatura
byte pin1 = 1; // analog pin A1
byte pin2 = 2; // analog pin A2
byte pinallBasso = 48; //uscita allarme alta temp
byte pinallAlto = 49; // uscita allarme bassa temp
float allAlto = 39.00;
float allBasso = 21.00;
float tempc1 = 0;
float tempc2 = 0;
float samples1[8]; // array di precisione
float samples2[8]; // array di precisione
float maxi1 = -100, mini1 = 100; // start max/min temperatura
float maxi2 = -100, mini2 = 100; // start max/min temperatura
int i;
void setup()
{
pinMode(pinallBasso, OUTPUT);
pinMode(pinallAlto, OUTPUT);
Serial.begin(9600);
}
void loop()
{
for(i = 0; i<=7; i++)
// prende 8 campioni di temperatura
{
samples1[i] = (( 5.0 * analogRead(pin1) * 100.0) / 1024.0);
tempc1 = tempc1 + samples1[i];
samples2[i] = (( 5.0 * analogRead(pin2) * 100.0) / 1024.0);
tempc2 = tempc2 + samples2[i];
delay(200);
}
tempc1 = tempc1/8.0; // precisione
tempc2 = tempc2/8.0; // precisione
//tempf = (tempc * 9)/ 5 + 32; // conversione fahrenheit
if(tempc1 > maxi1) {maxi1 = tempc1;} // set max temperatura
if(tempc1 < mini1) {mini1 = tempc1;} // set min temperatura
if(tempc2 > maxi2) {maxi2 = tempc2;} // set max temperatura
if(tempc2 < mini2) {mini2 = tempc2;} // set min temperatura
if(tempc1 < allBasso)
{
digitalWrite(pinallBasso, HIGH);
Serial.println("Allarme BASSA temperatura");
}
else
{
// digitalWrite(pinallAlto, LOW);
digitalWrite(pinallBasso, LOW);
}
if(tempc1 > allAlto)
{
digitalWrite(pinallAlto, HIGH);
Serial.println("Allarme ALTA temperatura");
}
else
{
digitalWrite(pinallAlto, LOW);
//digitalWrite(pinallBasso, LOW);
}
Serial.print(tempc1,1); Serial.print(" C ");
Serial.print(maxi1,1); Serial.print(" Max, "); Serial.print(mini1,1); Serial.print(" Min");
Serial.print(" ");
Serial.print(tempc2,1); Serial.print(" C ");
Serial.print(maxi2,1); Serial.print(" Max, "); Serial.print(mini2,1); Serial.println(" Min");
tempc1 = 0;
tempc2 = 0;
delay(1000);
}