BCD Sketch

Cosa ha di sbagliato questo contatore bcd ?

void output(int d, int c, int b, int a)
{
   if (a == 1) digitalWrite(6, HIGH);
   else if (a == 0) digitalWrite(6, LOW); 
   if (b == 1) digitalWrite(5, HIGH);
   else if (b == 0) digitalWrite(5, LOW);
   if (c == 1) digitalWrite(4, HIGH);
   else if (c == 0) digitalWrite(4, LOW);
   if (d == 1) digitalWrite(3, HIGH);
   else if (d == 0) digitalWrite(3, LOW);
   delay(1000);
}

void setup()
{
}

void loop()
{
   output(0,0,0,0);
   output(0,0,0,1);
   output(0,0,1,0);
   output(0,0,1,1);
   output(0,1,0,0);
   output(0,1,0,1);
   output(0,1,1,0);
   output(0,1,1,1);
   output(1,0,0,0);
   output(1,0,0,1);
}

Ciao,
la prima cosa che mi salta agli occhi, è che nel setup() non hai inizializzato i pin come output.
Es:
pinMode(13, OUTPUT);

Grazie mille tutto ok, sono alle prime armi con il sw, per la cronaca ho usato questo sketch per accendere un display bcd degli anni 70, almeno la data riporta 74, che in un unico componente racchiude sia il decodificatore bcd che una matrice di led con relative resistenze.

Non so se esistono equivalenti attualmente che non siano lcd.

allego il mapping per chi se ne trovasse qualcuno nel cassetto

- Pin for 5082-7300 BCD Display by Testato

-BCD-   Display   Arduino
D (8)           3         3
C (4)           2         4
B (2)           1         5
A (1)           8         6
DP(.)           4        n.u. (Low active)
Latch en        5        High active
+5V             7        5V
GND             6        GND