char vuMeter[] = {0, 1, 3, 7, 15, 31, 63, 127, 255}; // bin. je to 00000000,00000001,00000011,00000111

void setup() {
  for (int x = 0; x < 8; x++) pinMode(x, OUTPUT);
}

void loop() {
  int pot = analogRead(A0);
  pot = map(pot, 0, 1023, 0, 8);
  int izpis = vuMeter[pot];

  for (int i = 0; i < 8; i++) {
    int k = izpis & 0x01;
    digitalWrite(i, k);
    izpis >>= 1;
  }

  delay(300);
}

/*
 char vuMeter[] = {0, 1, 3, 7, 15, 31, 63, 127, 255};
void setup() {
 DDRD = 0xFF;
}
void loop() {
  int pot = analogRead(A0);
  pot = map(pot, 0, 1023, 0, 8);
  PORTD = vuMeter[pot];
  delay(300);*/