I would like your suggestion regarding the data plotting
and playing it back
So at the X-axis it would be time and then the Y-axis shows the LDR reading values, and then the curve is saved.
I like the simplicity of the hardware involved but for the purposes of a demonstration it doesn't seem so good because the response time of the system is so fast compared to other typical PID demonstrations, such as a balance bot. I feel like this it would not be detectable to the human eye how good a job it was doing at avoiding overshoot because at worst it will still be able to hit the setpoint after a few tens of milliseconds of oscillation. I suppose the real demonstration will be from looking at the data after but that's not so dramatic as seeing the PID in action in real life.