Arduino uno giving weird analogWrite output

Grumpy_Mike:

red = analogRead(A0) >> 2;

Which basically divides the reading by four.

ie. You can't put 10 bits into 8. You have to throw 2 of them away.