Estoy intentando obtener un CPS03631BR LED de 3 dígitos y 7 segmentos trabajar. Lo he conectado a mi Arduino UNO así:
Yestoyusandoestecódigo,quedeberíaencendertodoslosLEDsdígitopordígito,luegoencendertodo:
//Diagram:http://search.alkon.net/cgi-bin/pdf.pl?pdfname=13600.pdfconstintdigit[]={9,10,11};constintled[]={2,3,4,5,6,7,8,12};//abcdefgdpvoidsetup(){for(inti=0;i<3;i++){pinMode(digit[i],OUTPUT);}for(inti=0;i<8;i++){pinMode(led[i],OUTPUT);}}voidlights_off(){for(inti=0;i<3;i++){digitalWrite(digit[i],LOW);}for(intj=0;j<8;j++){digitalWrite(led[j],HIGH);}}voidlight_digit(intnumber){switch(number){case0:digitalWrite(digit[0],HIGH);digitalWrite(digit[1],LOW);digitalWrite(digit[2],LOW);break;case1:digitalWrite(digit[0],LOW);digitalWrite(digit[1],HIGH);digitalWrite(digit[2],LOW);break;case2:digitalWrite(digit[0],LOW);digitalWrite(digit[1],LOW);digitalWrite(digit[2],HIGH);break;}}voidlight_num(intnumber){switch(number){case0:digitalWrite(led[0],LOW);digitalWrite(led[1],LOW);digitalWrite(led[2],LOW);digitalWrite(led[3],LOW);digitalWrite(led[4],LOW);digitalWrite(led[5],LOW);digitalWrite(led[6],HIGH);digitalWrite(led[7],HIGH);break;case1:digitalWrite(led[0],HIGH);digitalWrite(led[1],LOW);digitalWrite(led[2],LOW);digitalWrite(led[3],HIGH);digitalWrite(led[4],HIGH);digitalWrite(led[5],HIGH);digitalWrite(led[6],HIGH);digitalWrite(led[7],HIGH);break;case2:digitalWrite(led[0],HIGH);digitalWrite(led[1],HIGH);digitalWrite(led[2],HIGH);digitalWrite(led[3],HIGH);digitalWrite(led[4],HIGH);digitalWrite(led[5],HIGH);digitalWrite(led[6],HIGH);digitalWrite(led[7],HIGH);break;}}voidloop(){digitalWrite(led[0],LOW);digitalWrite(led[1],LOW);digitalWrite(led[2],LOW);digitalWrite(led[3],LOW);digitalWrite(led[4],LOW);digitalWrite(led[5],LOW);digitalWrite(led[6],LOW);digitalWrite(led[7],LOW);digitalWrite(digit[0],HIGH);digitalWrite(digit[1],LOW);digitalWrite(digit[2],LOW);delay(500);digitalWrite(digit[0],LOW);digitalWrite(digit[1],HIGH);digitalWrite(digit[2],LOW);delay(500);digitalWrite(digit[0],LOW);digitalWrite(digit[1],LOW);digitalWrite(digit[2],HIGH);delay(500);digitalWrite(digit[0],HIGH);digitalWrite(digit[1],HIGH);digitalWrite(digit[2],HIGH);delay(500);}
Peroencambio,loqueestoyobteniendoesesto:
Cuando debería estar encendiendo todos los dígitos, está haciendo un 9 con un punto. Cuando llega al tercer dígito no pasa nada. Cuando todos los LED deben estar ENCENDIDOS, se muestra 33 y el tercer dígito está completamente APAGADO. He probado cada LED individualmente y todos funcionan.
¿Alguna idea?