Just need to smooth out your analogRead() somehow.
void loop() // run over and over
{
static int lastRawA2D;
char Command[10]={0xAA,11,0x45,0xAF};
int RawA2D;
RawA2D=analogRead(AN0pin);
while(1){
if (analogRead(AN0pin) > lastRawA2D) {
RawA2D += 1;
} else if (analogRead(AN0pin) < lastRawA2D) {
RawA2D -= 1;
}
lastRawA2D = RawA2D;
Command[2]=0xC0 + ((char)RawA2D & 0x1F);
[...]