controllo temperatura fumi caldaia con arduino

allora riesumo la mia discussione, ho iniziato a lavorare su arduino e per adesso ho montato solo lcd e ad595 su arduino.
per lo sketch ho preso spunto sul progetto del lm35 con display che c'è su adrirobot. L'ho modificato solo per i pin digitali del lcd e il pin analogico per ad595. ho usato questo sketch perchè ad595 e LM35 danno in entrambi in uscita 10mV/C° ma se uso quello sketch posso misurare solo 110C° e per andare oltre ho dovuto modificare float vref, passandolo da 1.1 a 5 e analogReference da INTERNAL a DEFAULT e così riesco a leggere fino a 500 C°che mi bastano. Ora il mio pensiero è, queste modifiche possono portare danni all'integrato di arduino??
Posto lo sketch ancora provvisorio.

#include <LiquidCrystal.h>

/* Corrispondenza pin LCD <-> pin digitali di Arduino */

#define RS  12
#define EN  11
#define D7  2  
#define D6  3
#define D5  4
#define D4  5

/* Numero del pin analogico sul quale è collegato l'AD595  */
#define AD595_pin 5

/* Definizioni globali */
float vref = 5.0;	                     // Vref dell'ADC (quell'interno è di 1,1V)
LiquidCrystal lcd( RS, EN, D4, D5, D6, D7 ); // 'lcd' è una variabile di tipo LiquidCrystal */


/* Impostazione dell'hardware */

void setup() 
{
  analogReference( DEFAULT );  // per l'ADC usiamo il Vref interno da 1,1V (migliore precisione)
  analogRead( AD595_pin );       // Prima lettura "a vuoto" (serve per l'assestamento dell'ADC)
  lcd.begin( 4, 16 );           // Impostazione per l' LCD (4x16)
}

void loop()
{
  float temp = readTemp();  // legge il valore della temperatura e la memorizza nella var. temp.
  sendTempToLCD( temp );    // invia il valore al LCD
}

/* Legge la temperatura */
float readTemp()
{
  float temp = 0.0;       // valore convertito in temperatura (°C)
  int val = 0;            // valore quantizzato dall'ADC [0..1023]
  int nread = 5;          // numero di letture (da 5 a 8)
  float somma = 0.0;      // somma delle letture
  for (int i=0; i<nread; i++)
  {
    val = analogRead( AD595_pin );              // legge il dato della tensione sul pin 'LM35_pin' 
    temp = ( 100.0 *  vref * val ) / 1024.0;   // lo converte in °C
    somma += temp;                             // aggiunge alla somma delle temperature lette   
  }   
  return ( somma / nread );                     // ne calvola il valore medio 
}

/* Invia la temperatura su un LCD (modo 4bit) */
void sendTempToLCD( float temp )
{
  lcd.clear();               // Pulisce lo schermo 
  lcd.setCursor( 0, 0 );     // Va in posizione di home: colonna 1, riga 1
  lcd.print( "Temperatura FUMI");
  lcd.setCursor( 0, 1 );     // Va in posizione di home: colonna 1, riga 2
  lcd.print( temp );         // Stampa solo la parte intera della temp.
  lcd.print( ' ' );          // Stampa uno spazio
  lcd.print( (char) 223 );   // Stampa '°'
  lcd.print( 'C' );
  delay( 1000 );
}