Sharp sensore IR restituisce valori instabili

Salve a tutti! Ho un problema con il mio sensore ir sharp GP2Y0A21YK. Utilizzo questo sensore con una scheda Arduino UNO e quando guardo i valori di distanza che mi restituisce dal monitor seriale, non ottengo un dato univoco. L'ho provato in quasi tutte le condizioni d'illuminazione (dal buoi pesto alla luce del giorno) e continua a restituirmi alcuni valori random dopo magari quattro, cinque letture uguali. Vi posto anche il codice che ho utilizzato per calcolare la distanza degli oggetti che si trovano davanti al sensore:

int const sensor=A0;
int sensorValue;
void setup() {
 Serial.begin(9600);
}

void loop() {
  delay(1000);
  sensorValue = analogRead(sensor);
  sensorValue = 4800/(sensorValue - 20);
  Serial.println(sensorValue);
}

Un grazie anticipato a tutti gli utenti del Forum Arduino. XD

cambia la int di sensorValue con float

E forza le costanti ad essere float:

sensorValue = 4800.0/(sensorValue - 20.0);

Tutto a posto imakkie ?

Scusate la lunga assenza. Ho provato a cambiare la variabile in float ma continua a restituirmi valori di distanza falsati e instabili... A questo punto temo sia difettoso il sensore. Grazie lo stesso per i consigli! XD

A mio modesto parere il sensore va bene, è qualche disturbo ti fa quello scherzo; vanno bene anche i suggerimenti che ti hanno dato ma devi aggiungere un piccolo "trucchetto", quello della media delle letture. In ptratica con un ciclo for esegui 10 volte (il numero lo decidi tu fino ad ottenere la migliore risposta possibile) di seguito la lettura del sensore, poi sommi queste letture ed il totale finale lo dividi per 10.0 (numero come prima); in questo modo la falsa lettura viene assorbita dalla media e vedrai sempre valori stabili; eventuali differenze fisse in più o in meno le potrai sempre compensare manualmente, ma non ce ne sarà bisogno.

Il tuo sensore dà in uscita una tensione, se hai un oscilloscopio fuoi facilmente controllare se la tensione cambia in modo anomalo