Pilotare display a 7 segmenti con 7447

Salve a tutti,
da qualche giorno mi è presa la voglia di pilotare un 7 segmenti con Arduino. Ho realizzato il programma che mi permette di accendere un led con una uscita di Arduino e ci sono riuscito.

Tuttavia, usare una uscita per un led rappresenta un grosso spreco di uscite, di conseguenza ho voluto provare a diminuire le uscite utilizzate. Mi hanno indicato il 7447 come decoder BCD-7 segmenti. Di conseguenza io utilizzando Arduino ho realizzato un programma che mi produca un codice BCD da inviare all'integrato, ma non sono riuscito a farlo funzionare.

Il programma che ho utilizzato è il seguente:

void setup(){
pinMode(1, OUTPUT); //A
pinMode(2, OUTPUT); //B
pinMode(3, OUTPUT); //C
pinMode(4, OUTPUT); //D
}
void loop(){
//scrive 0 sul display
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
delay(1000);

//scrive 1 sul display
digitalWrite(1, HIGH);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
delay(1000);
}

NOTA: il programma procedeva fino a 9 ma dato che sto scrivendo dal telefono mi viene scomodo riportarlo tutto.

Per quanto riguarda il circuito vero e proprio era questo:
VCC - 5V di Arduino
GND - GND di Arduino
A - pin1 di Arduino
B - pin2 di Arduino
C - pin3 di Arduino
D - pin 4 di Arduino
LT - Non collegato*
RBI - Non collegato*
BI - Non collegato*
a - a del display
b - b del display
c - c del display
d - d del display
e - e del display
f - f del display
I comuni del display a massa (GND) e il punto del display non collegato.

*Questi pin non li ho collegati perché non ho ben capito la loro funzione. So che LT se messo a +5 accende tutti i led.
Per RBI e BI avevo guardato nel datasheet dell'integrato e avevo seguito la configurazione lì riportata, ma senza risultati.

NOTA: non allego schema elettrico e datasheet sempre perché sono da telefono. Il datasheet che ho consultato era sul sito della TexasInstruments.

Come mai non sono riuscito a farlo funzionare? Dove ho sbagliato? Potete aiutarmi?

Grazie anticipatamente. Saluti.

Non so se questo, ma MAI usare il pin 0 o 1 (se non per lo scopo a cui sono dedicati), perchè sono la seriale RX,TX e quindi la USB

pinMode(1, OUTPUT); //A  !! SERIALE !!!


Non sono un elettronico ma penso il display debba essere ad Anodo comune e non a Katodo comune (come quello che usi tu)
LT=light test solo per fare il test

nid69ita:
[...]
Non sono un elettronico ma penso il display debba essere ad Anodo comune e non a Katodo comune (come quello che usi tu) [...]

Scusate il ritardo nel rispondere, comunque alla fine il problema era proprio questo: il 7447 pilota display ad anodo comune.
Ora c'è un piccolo problema: io ho ritirato dei catodo comune! Con quale integrato potrei pilotarli? Vedevo qualcosa sui 7448 o 7449 ma trovo dove poterli ritirare...

Puoi provare con un banale shift register tipo il 595.

Se vuoi "giocare", va bene, il 7448 è ciò che ti serve. Ma se una uscita singola che pilota un LED singolo ti sembra uno spreco, lo è anche il pilotaggio BCD, per il quale ti servirebbero 4 uscire per ogni singolo display, questo a meno di non impegnarsi in complesse tecniche di multiplexer in software.

Ci sono singoli integrati di appoggio (es. MAX7219) che fanno tutto. Pilotato fon a 8 cifre consecutive, possono essere messi in cascata Daisy-chain e utilizzano solo i 3 o 4 pin della SPI.

SukkoPera:
Puoi provare con un banale shift register tipo il 595.

Ad ogni modo se puoi recuperare i 74hc595 è ancora più facile.
Io con due riesco a pilotare un 7 segmenti a 4 cifre

BaBBuino:
Se vuoi "giocare", va bene, il 7448 è ciò che ti serve. Ma se una uscita singola che pilota un LED singolo ti sembra uno spreco, lo è anche il pilotaggio BCD [...]

Hai detto bene, "giocare" è la parola giusta!

Blutz:
Ad ogni modo se puoi recuperare i 74hc595 è ancora più facile.
Io con due riesco a pilotare un 7 segmenti a 4 cifre

Ma il 74595 non è CMOS? Di conseguenza non funziona a 10 volt? Io volevo qualcosa da alimentare con i 5 volt di Arduino...

Il 595 puoi tranquillamente alimentarlo da Arduino, certo che è CMOS, ma questo non implica che vada necessariamente a 10v. Vedi ad esempio questo datasheet: http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf