running 12 LEDS off 1 input

so im trying to write some code to turn on and off 12 LEDS as the potentiometer turns. I have it slightly working i just need the final push any help would be greatly appreciated thanks. ill paste my code below.

int ledArray[] = {13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2};
int potent = A5;
int potentNum = 0;
void setup() {
for (int i = 0; i < 20; i++)
pinMode(ledArray*, OUTPUT);*

  • Serial.begin(9600);*
  • pinMode(potent, INPUT);*
    }
    void loop() {
  • // put your main code here, to run repeatedly:*
  • potentNum = analogRead(potent);*
  • int num = map(potentNum, 0, 1023, 0, 16);*
  • Serial.println(potentNum);*
  • switch (num)*
  • {*
  • case 0:*
  • digitalWrite(ledArray[2], HIGH);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • break;*
  • case 1:*
  • digitalWrite(ledArray[3], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • break;*
  • case 2:*
  • digitalWrite(ledArray[4], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • break;*
  • case 3:*
  • digitalWrite(ledArray[5], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • break;*
  • case 4:*
  • digitalWrite(ledArray[6], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • break;*
  • case 5:*
  • digitalWrite(ledArray[7], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • case 6:*
  • digitalWrite(ledArray[8], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • case 7:*
  • digitalWrite(ledArray[9], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • case 8:*
  • digitalWrite(ledArray[10], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • case 9:*
  • digitalWrite(ledArray[11], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[12], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • case 10:*
  • digitalWrite(ledArray[12], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[13], LOW);*
  • case 11:*
  • digitalWrite(ledArray[13], HIGH);*
  • digitalWrite(ledArray[2], LOW);*
  • digitalWrite(ledArray[3], LOW);*
  • digitalWrite(ledArray[4], LOW);*
  • digitalWrite(ledArray[5], LOW);*
  • digitalWrite(ledArray[6], LOW);*
  • digitalWrite(ledArray[7], LOW);*
  • digitalWrite(ledArray[8], LOW);*
  • digitalWrite(ledArray[9], LOW);*
  • digitalWrite(ledArray[10], LOW);*
  • digitalWrite(ledArray[11], LOW);*
  • digitalWrite(ledArray[12], LOW); *
  • }*
  • delay(300);*
    }

Instead of a switch you can do:

digitalWrite(ledArray[2], num>5?HIGH:LOW);

for each led.

The 5 is the on-level, that could also be from an array and you could do all leds in a loop.
This also means you do not need the map, you can just use on-levels from 0 to 1023

thanks very much thats very helpful

as you haven't stated any question in your post, I just removed some code duplicates and took what HKJ suggested.

const int ledArray[] = {13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2};
const int potent = A5;

void setLeds(byte mycase)
{
for (byte i = 0; i < sizeof(ledArray) / sizeof(ledArray[0]); i++)
{
const byte offset = 2; // will be added to the LED-Index // if you adopt your map you could set the offset to 0 or even delete the offset
digitalWrite(ledArray[i + offset], mycase == i + offset ? HIGH : LOW);
}
}

void setup() {
for (byte i = 0; i < sizeof(ledArray) / sizeof(ledArray[0]); i++)
{
pinMode(ledArray*, OUTPUT);*

  • }*
  • Serial.begin(115200); // 9600 is from yesterday*
  • pinMode(potent, INPUT);*
    }
    void loop() {
  • // put your main code here, to run repeatedly:*
  • int potentNum = analogRead(potent);*
  • int num = map(potentNum, 0, 1023, 0, 16);*
  • Serial.print(potentNum);*
  • Serial.print(F("-->"));*
  • Serial.println(num);*
  • setLeds(num);*
  • delay(300);*
    }
    [/quote]
    by the way ... you have an array with 12 leds.
    that's not good:
    for (int i = 0; i < 20; i++)
    and
    digitalWrite(ledArray[12], HIGH);
    digitalWrite(ledArray[13], HIGH);
    remember:
    C++ starts counting with 0 - so your last led in the array will be indexed with
    digitalWrite(ledArray[11], HIGH);
    there is no ledArray[12] (or higher) available for you.

It was more something like this I was thing about:

const byte inputPin=A1;
const byte ledPins[]={2,3,4,5,6};
const int ledLevels[]={100,500,600,700,800};


void setup() {
  for (byte i=0;i<sizeof(ledPins);i++) {
    pinMode(ledPins[i],OUTPUT);
  }
}

void loop() {
  int v=analogRead(inputPin);
  for (byte i=0;i<sizeof(ledPins);i++) {
    digitalWrite(ledPins[i],v>ledLevels[i]?HIGH:LOW);
  }
}