The "Light = Data[0] + Data[1] + etc." line seems ugly, is there a better way?
A "for" loop and "Light += Data ;".
In fact, you've already got such a loop.
> The first time the FOR loop runs the data it spits out is dubious at best, is there any way around this
Then don't divide by such big numbers, or don't spit out values until the numbers have stabilised.
> It (the compiler) won't let me remove the setup section despite it being empty, why?
Because "setup" is called inside the, to you invisible "main".
It has to be there, even if it is empty.