Leo non hai parlato delle resistenze per limitare la corrente dei LED. Quelli vanno tra catodo e il transistore o ULN2803.
Il ULN2803 puó essere pilotato da un altro shift register come il 74HC595. Il vantaggio del 74HC238 é che sempre solo una uscita é H e percui una sicurezza per non accendere piú file di catodi.
uwefed:
Leo non hai parlato delle resistenze per limitare la corrente dei LED. Quelli vanno tra catodo e il transistore o ULN2803.
Ho consigliato di metterle sulle uscite del 595, in ingresso agli anodi dei led.
Il ULN2803 puó essere pilotato da un altro shift register come il 74HC595 Il vantaggio del 74HC238 é che sempre solo una uscita é H e percui una sicurezza per non accendere piú file di catodi.
Esatto, così siamo sicuri di non avere mai più di 7 led accesi insieme neanche per sbaglio.
Ma questi shift register come funzionano? Io una volta ho usato un 4511 per un display 7 segmenti, è simile? cioè, ho quattro pin, se ne metto high il primo e il secondo e low il terzo mi si accendono determinati pin dell'integrato?
I 74595 sono shift register del tipo serial in/parallel out, cioè che ricevono i dati serialmente ed attivano le uscite in base allo stato del bit corrispondente al pin.
Quindi tu spedisci un byte, es. 0b10101010 e lui mette su HIGH i pin 7/5/3/1 mentre lascia su LOW i pin 6/4/2/0.
Se vuoi invece fare come dici tu, puoi usare un 7447 che è un driver BCD per display a segmenti. Quindi spedisci una tripletta di bit ed attivi il segmento corrispondente:
000->uscita 0; 001->uscita 1; 010->uscita 2 ecc..
Non usare il 74595 TTL che, oltre che non trovi piú in comercio, non é compatibile con Arduino a causa dei livelli H e L differenti, ma usa la serie HC dei TTL percui 74HC595.
Ciao Uwe
uwefed:
Non usare il 74595 TTL che, oltre che non trovi piú in comercio, non é compatibile con Arduino a causa dei livelli H e L differenti, ma usa la serie HC dei TTL percui 74HC595.
Scusa ancora... Figura merdæ una altra volta... Avanced I/o.Comunque se volessi farlo senza questa funzione ma utilizzando per esempio la funzione bitWrite sarebbe possibile?
Ma tu sai a cosa serve la bitWrite?
Serve a scrivere a 0 o ad 1 un determinato bit di una variabile passata come parametro, non serve a "scrivere" il bit su un pin.
Purtroppo il mio fornitore non ha questi integrati (anche se secondo me gli tirava cercarli). Mi sa che per il cubo led dovrò aspettare ancora un po...
NOOOOOOOOO!!! Mi è arrivata proprio ieri la merce da Gaetano!!!! Va bè al massimo faccio un altro ordine... Non è che hai da consigliarmi altri shift register, (che magari hanno in negozio da me)? Anche con più bit ba bene, anzi!!!