Finally, as I'm sure you are aware, the response of an LDR to light intensity is approximately logarithmic (unlike a photodiode).
I wouldn't know the LDR response is logarithmic. In that case, how do I calibrate the Arduino?
Also, with no DC decoupling and a filter DC gain of 3.3, your output must be getting very close to 5V under high ambient light conditions.
My intention is measure very low light power with the LDR. That is the reason I need to add some gain to active filter.
This might be unrelated to your noise problem but I believe you should have a much lower impedance signal into your active filter. A good rule of thumb is 10% of the input impedance of the filter which would be around 2.2k or less. A simple emitter follower transistor should do fine. NPN Base to the junction of R1 R2, collector to 5V and emitter to the junction of the filter input and a 2.2K resistor to gnd.
I don't understand your point.
That may be caused by ground noise. What is the Arduino connected to, other than the battery and the op amp circuit? Have you connected your op amp ground to Arduino ground using one of the Arduino's ground pins, and your 12V battery and output devices to Arduino ground using a different ground pin? If not, then you need to.
What happen if all grounds of devices are connected at the same ground pin?