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.