display a 7 segmenti

premetto ke ho appena preso l’arduino 2009 e di progrmmazione non me ne intendo molto…
ho trovato un display a 7 segmenti a anodo comune e vorrei controllarlo con un potenziometro
ho provato con il codice sotto ma i segmenti rimangono sempre tutti accesi e alcuni si accendono di più però non si leggono i numeri… potete aiutarmi?
il codice che uso è questo:

//define pattern
int all[8]={2,3,4,5,6,7,8,9};
int zero[6]={2,3,4,6,8,9};
int one[2]={4,6};
int two[5]={2,4,5,9,8};
int three[5]={2,4,5,6,8};
int four[4]={3,4,5,6};
int five[5]={2,3,5,6,8};
int six[6]={6,8,9,4,3,2};
int seven[3]={2,4,6};
int eight[7]={2,3,4,5,6,8,9};
int nine[6]={2,3,4,5,6,8};
int dot[1]={7};

int pot=0;

void setup(){
int i;
for(i=0;i<8;i++){
pinMode(all[i],OUTPUT);
}
Serial.begin(9600);
}

void loop(){
int potvalue=analogRead(pot);

int number=map(potvalue,0,1023,0,9);
switch (number){

case 0: lightOn(zero,6);break;
case 1: lightOn(one,2); break;
case 2: lightOn(two,5); break;
case 3: lightOn(three,5); break;
case 4: lightOn(four,4); break;
case 5: lightOn(five,5); break;
case 6: lightOn(six,6); break;
case 7: lightOn(seven,3); break;
case 8: lightOn(eight,7); break;
case 9: lightOn(nine,6); break;
}

}

void lightOn(int pattern[],int length){
int i;
//light off all leds
for(i=0;i<8;i++) //int type stores a 2 byte value
{
digitalWrite(all[i],LOW);
}

//light on pattern
for(i=0;i<length;i++) //int type stores a 2 byte value
{
digitalWrite(pattern[i],HIGH);
}
}

il codice è apposto, sicuro di aver collegato tutto per bene?

penso proprio di si... io ho seguito questo tutorial: http://www.stefanomanni.it/arduino/2009/01/26/control-an-7-segment-led-matrix-with-a-potentiometer/ ma non cambia niente se il display è a anodo o catodo comune?? perché la guida sarebbe per un display a catodo comune mentre il mio è anodo comune quindi io ho solo messo al posto del ground dello schema la 5v con la resisteza da 220...

quello è il mio tutorial :)

se il tuo display è ad anodo comune allora hai fatto bene a mettere 5v al posto del ground ma devi modificare il codice affichè il led si accenda. Cioè devi portare il pin (catodo) a zero e non a 1 come nel mio codice. Se non ti è chiaro posta ciao

ce l'ho fatta da solo grazie comunque... dovevo solo invertire "LOW" e "HIGH"...

edit: scusa nn avevo visto il tuo messaggio... grazie...