usare pt100 con aduino

Sto provando ad usare una sonda PT100 con arduino, usando come convertitore un circuito fatto con un LM358N, Che mi da in uscita un segnale da 0V a 5V per misurare una temperatura che va da 10°C a 100°C circa.
Pero, anche se la tensine sull'ingresso A2 varia, sul display vedo sempre scitto 16°C, non so come fare a dire ad arduino di tradurre il segnale analogico in gradi.
Ho povato a fare una ricerca in rete mo non ho trovato un gran che, qesto è lo sketch che ho usato.
Grazie

#include <LiquidCrystal_I2C.h>




LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display
const int temperature = A2;

void setup() { lcd.init();                      // inizializza lcd
  lcd.backlight();

  lcd.begin(16, 2);// imposto il numer di righe e colonne del display
  //creo il carattere ‘°’ per poter scrivere °C dopo il valore della temperatura
  byte deg[8] =
  {
    0b00011,
    0b00011,
    0b00000,
    0b00000,
    0b00000,
    0b00000,
    0b00000,
    0b00000
  };
  lcd.createChar(4, deg);
  
Input = analogRead (temperature);



}

void loop() {
 //----- effettuo una media delle letture della PT100 -----
double sensorValue = 0;
int nLetture = 10;
for(int i = 0;i<nLetture;i++)
sensorValue += analogRead(temperature);

 sensorValue=sensorValue/nLetture;
lcd.setCursor(0,0);//metti il cursore sulla prima riga
  lcd.print("Temp:  ");
  if(isnan(temperature))lcd.print("Errore!");//se il valore di temperatura è NaN (Not a Number)
  else //altrimenti
  
    lcd.print(temperature);
    lcd.write(4); //scrivi il carattere ‘°’
    lcd.print("C");
}

Il Tuo sketch funziona perfettamente:

const int temperature = A2;  // A2 corrisponde al pin 16
... 
lcd.print(temperature);

Ciao Uwe

infatti :smiley:

sensorValue += analogRead(temperature);

tu hai memorizzato e poi diviso per il numero di letture eseguite il valore che ti da in risposta il sensore nella variabile sensorValue, che però è un numero che varia da 0 a 1023 in funzione della tensione (da 0 a 5V) che legge sul pin A2, ora devi trovare la formula che ti permetta di convertire detto valore in gradi e poi stamparlo

tu hai memorizzato e poi diviso per il numero di letture eseguite il valore che ti da in risposta il sensore nella variabile sensorValue, che però è un numero che varia da 0 a 1023 in funzione della tensione (da 0 a 5V) che legge sul pin A2, ora devi trovare la formula che ti permetta di convertire detto valore in gradi e poi stamparlo

Infatti é quello che non capito come si fa.

con :

lcd.print(sensorValue);

stampi il valore da 0 a 1023
:smiley:
poi ti serve sapere quanti mV per grado di temperatura da in uscita la tua pt100

in mancanza di meglio.... puoi sempre verificare a zero gradi e a 100 gradi i valori che ottieni e poi fare una proporzione