De una "pasada" rápida al programa te puedo decir que responseDelay está al final del loop principal.. le da un "descanso" de 5 ms para iniciar el siguiente ciclo.
Sobre range, checa la linea que dice reading = map(reading, 0, 1023, 0, range);.. map "convierte" un valor de una escala a otra. Por...