You need to check your grounding paths. If this circuit is built on a breadboard, it may not be easy to resolve this. Ground loops are a concern in most ADC problems. Try to get your ground routed like this
Input -> 7805 -> Output transistor -> Microcontroller.

Any changes in this sequence can contribute to the problem.

Another possible problem is the rate at which you read the ADC. Do you filter the readings you get ??