Allora brendolaccia facciamo un' attimo il punto della situazione:
tu hai un microcontrollore alimentato a 3,3V e tramite le sue uscite vuoi gestire direttamente i quattro bit d' ingresso del 4511. Con altre due uscite invece vuoi pilotare le basi dei transistor che si occuperanno dell' accensione-spegnimento dei display a sette segmenti.
La prima cosa che io verificherei è che il segnale in uscita dal micro sia di ampiezza sufficiente per poter pilotare il CD4511. Se guardi il
datasheet del 4511 si nota che:

- Caratteristiche.png (109.31 KiB) Osservato 13660 volte
per una tensione di alimentazione di 5V (alla temperatura di 25°C) il valore della tensione sui pin di ingresso deve essere minimo 3,5V perché il segnale possa essere riconosciuto come livello logico alto. Tu invece hai a disposizione soltanto 3,3V e quindi stai facendo lavorare il componente in quella zona di indeterminazione che sarebbe meglio evitare indipendentemente dal fatto che i display funzionino ugualmente. Per ovviare potresti ridurre la tensione di alimentazione del CD4511 portandola alla stessa alimentazione del microcontrollore, anche se poi scendere troppo con Vdd potrebbe comportare altri problemi.
Per quanto riguarda invece il pilotaggio dei BC337 bisogna dimensionare correttamente la resistenza di base per garantire la saturazione del transistor quando siano accesi il maggior numero di segmenti possibili. Tenendo in considerazione questo schema dobbiamo prima di tutto calcolare le resistenze in serie ai led del display:

- Schema pilotaggio display.png (4.59 KiB) Osservato 13658 volte
Come saprai la formula per calcolare R può essere scritta come :

Dove:

= tensione d' uscita CD4511 = per comodità ipotizziamo che sia 5V

= caduta di tensione su segmento led (dipende dal colore) = diciamo 1,8V

= corrente per ogni segmento led = io non supererei i 10mA
Quindi risulterà:

Avremo quindi che la corrente circolante per ogni segmento è di 10mA, nel caso in cui il display visualizzi il numero 8 avremo il massimo numero di segmenti accesi e quindi la massima corrente che percorrerà il collettore. Ovviamente se sono 10mA per segmento e i segmenti accesi sono sette avremo una corrente di collettore di 70mA .
A questo punto conosciamo:


non ci resta che calcolare (facendo ben attenzione ai dati riportati nel
datasheet del BC337) la resistenza di base.
Prova tu che vediamo dove ti blocchi

....