4051 and pots

I have no idea if your code works or not but i was working on something similar a bit back. I don't know if it will solve your problem, i wont compile as it is but it worked for me. I've put your variables names in it but it might need a check.

int readings[8];      
int average[8]; 
#define Input   0
 

for (i=0; i<8; i++) {

  r0 = bitRead(i,0);    
  r1 = bitRead(i,1);    
  r2 = bitRead(i,2);    

  digitalWrite(2, r0);
  digitalWrite(3, r1);
  digitalWrite(4, r2);

  readings[i] = analogRead(Input); 

  average[i] = average[i] + ((readings  [i] - average[i])>> 2);

      Serial.print ("Pot number is: ");
      Serial.println (i+1, DEC);
      Serial.print("Value to send is: ");
      Serial.print(average[i]<<4);
      Serial.print("\n \n");

}