I have tried a correction. By means of a pushbutton you can tell the arduino to calibrate LDRs. You must be pointing to an even light (such as the white LCD area).
int average = (ldrU + ldrD + ldrL + ldrR) / 4;
coefUp = (float)(average) / (float)(ldrU);
coefDown = (float)(average) / (float)(ldrD);
coefLeft = (float)(average) / (float)(ldrL);
coefRight = (float)(average) / (float)(ldrR);
And then, measures are corrected by that factor:
ldrU *= coefUp;
ldrD *= coefDown;
ldrL *= coefLeft;
ldrR *= coefRight;
The problem is that this coefficients level measurings at one light level, but if afterwards I measure another even light weaker o brighter, readings are not leveled.
Can anybody suggest another correction method more advanced?