Collegamento di LED ad arduino.

Ciao a tutti.
Vorrei realizzare alcuni pannelli contenenti switch e led, per cui utilizzerò diversi arduino.

I led andranno collegati direttamente sui pin di arduino, e per l’alimentazione mi affiderò ad un alimentatore esterno a 5V.

Sono indeciso se, per ogni spia di cui ho bisogno, utilizzare 1 o 2 led, ma in ogni caso non li lascerò alimentare da arduino, ma vorrei usare dei transistor (tipo BC547) e sfruttare un alimentatore esterno.

Ho fatto uno schema (molto pedestre) in cui ho calcolato il valore della resistenza da collegare ai led a seconda del numero. Ho considerato il voltaggio di 2V per ogni led (saranno sia rossi che gialli che verdi) ed un assorbimento medio di 20mA.
Per un led utilizzerei una resistenza da 220ohm, mentre per 2 led mi servirebbe da 50ohm (se ho letto bene le tabelle che ho, il valore commerciale standard più vicino è 56ohm - ma fritzing riporta il 68).

Ho fatto bene i calcoli o (come più possibile) ho sbagliato qualcosa? il transistor ha bisogno necessariamente della resistenza da 4.7Kohm (in tutti gli schemi in rete ce la vedo sempre)?

Grazie dei consigli
Andrea

Quello che vuoi fare é troppo complicato.
Soluzioni:

  • Se devono essere illuminati sempre poche LED alla volta -> Charlieplexing. Charlieplexing - Wikipedia
  • Multiplexing con LED array e MAX7219
  • LED con controller intergrati per esempio WS2812 o simili.

Ciao Uwe

Il fatto è che c'è la possibilità che tutti led siano accesi contemporaneamente (anche se per pochi secondi, durante la procedura di test - si tratta di circa un centinaio di led....)
In effetti l'uso dei max7219/7221 era una delle alternative valutate.

Il fatto di essere complicato deriva dal fatto di dover utilizzare troppi componenti o da altro?

jocman:
Il fatto di essere complicato deriva dal fatto di dover utilizzare troppi componenti o da altro?

Sí.
Se usi transistori serve per ogni LED (serie di LED) un transistore e 2 resistenze.
Se usi il MAX7219 basta un MAX
Se usi LED con controller tipo WS2812 non serve nulla ma un buon alimentatore.

Il controllo iniziale si puó fare anche dinamico che accendi e spegni i LED in fila.

Ciao Uwe

I WS2812 in effetti sarebbero molto più semplici, ma a parte il problema dell'alimentazione (ciucciano veramente tanto.....) almeno al momento non saprei come implementarli nel software.

Sto rivedendo l'impiego dei MAX.
Purtroppo il controllo dinamico sarebbe una soluzione, ma siccome il tutto deve essere gestito da un software già esistente, capisco anche perchè che l'impiego dei MAX era caldamente consigliato (ritengo per i discorsi di complessità HW - cioè proprio l'impiego dei transistor - anche se in effetti non si era mai fatta menzione di questa modalità di impiego. Credo forse di essere stato uno dei pochi pazzi - non credo l'unico - a valutarla)

Ne approfitterei per fare una domanda: volendo (semmai fosse possibile) collegare due LED ad ogni uscita dei MAX (cioè avere alla fine 128 LED invece di 64), è fattibile? Serie o parallelo? e c'è da modificare il valore della resistenza?

In serie é possibile se la loro tensione forward totale non supera i 4-4,5V. Vuol dire lED IR, rossi gialli o verdi; non bianchi blu o UV

paralello no.

Ciao Uwe

Lavorerò solo con rossi, gialli e verdi, quindi dovrei rientrare in quel range
Avevo immaginato una cosa del genere, ma è meglio sempre chiedere a chi ne sa di più.

Grazie mille.

Andrea