Utilizzare 16 led con unico output

Salve ragazzi, ho la necessità di collegare 16 led ad un unico pin output. Seguendo uno schema online, ecco il risultato che ho ottenuto:

Vi do le altre info:
a) Le resistenze collegate ai led sono di 220Ohm.
b) La resistenza collegata alla base del transistor è di 1KOhm (può essere anche di 2,2KOhm)
c) Il transistor è il Transistor Bipolare NPN.

Adesso devo chiedervi delle cose:

  1. Si brucia qualcosa, rischio di bruciare arduino, led o il transistor?
  2. E' un circuito che garantisce stabilità?
  3. Potete spiegarmi come accendere da codice i led con il transistor? Ovvero, l'accensione dei led da codice con il transistor in figura, come avviene?

Dato che sono nuovo non spiegatevi con termini veneristici dato che sono appena entrato nel mondo di Arduino e dell'elettronica in generale. Grazie in anticipo =D

Con che tensione alimenti il circuito? Quali sono le specifiche dei led che userai?
Un consiglio: usa un diodo sul pin Vin. Se sbagli a collegare l'alimentazione ed inverti i fili, bruci il regolatore di tensione dell'Arduino!

L'alimentazione sarà di 9V credo, collegherò una batteria al connettore fornito dal pack di Arduino (spero sia chiaro :expressionless: ), i diodi saranno da 5mm, quelli forniti dal pack di Arduino, non posso dire di più...

Cos'è un segreto di stato? :smiley:
Di che colore sono? A seconda del colore hanno diversi voltaggi. Cmq prendiamo per buono che abbiano una tensione di alimentazione di 2V circa (anche se quelli rossi sono da 1,8V), con una R da 220 hai circa 13 mA per led, circa 220 mA per tutto il progetto (l'Arduino può erogare 500 mA max, quindi ci rientri).

Il transistor che modello è? Regge una Ic (corrente sul collettore) di 220 mA? Se hai un BC337 ce la dovrebbe fare.
Per la R da usare sulla base del transistor sarebbe bene sapere che guadagno ha (sapendo il modello si saprebbe tutto)

Non posso dare di più non perchè non voglio, ma perchè non so come darvi quelle informazioni =D

Dunque, il colore dei led è bianco, per il transistor non so cosa dirvi -> comprerò uno a basso costo, ma se me ne consigliate uno è meglio, così mi togliete un grande dubbio =D

Inoltre non avete risposto ad una domanda che è importante, l'accensione dei led (in presenza del transistor) avviene come l'accensione di un solo led (senza transistor), da codice, come devo fare?

Vi ringrazio per tutto =D

Per "accendere" un LED devi semplicemente porre su HIGH un'uscita, ossia un pin dell'Arduino.
Scrivendo
digitalWrite(NUMERO_PIN, HIGH);
sul pin indicato il microcontrollore fornirà in uscita una tensione di 5V (con una corrente max di 40 mA). Quindi per accendere un led, basta collegarlo (con una R) al pin e scrivere quanto sopra, dopo aver dichiarato il pin come uscita.
Comunque se guardi i tutorial (sez. Learning del Main Site) ti spiegano tutti i primi passi.
Blink ti spiega come usare appunto un led.

PS:
per i transistor compra un BC337

PPS:
i led bianchi hanno tensioni e correnti superiori a quelle dei led normali. Ci vorrebbe una resistenza maggiore, 470/680 ohm.

Quando metti un H sull'uscita il transistore conduce e i LED si accendono.
Prendi come transistore un BC337-40. Comunque qualsiasi transistore npn che regge 300mA e ha un guadagno di almeno 100 va bene.
Con i LED bianchi la corrente sará piú piccola visto che hanno un Uf maggiore.
Ciao Uwe

leo72:
PPS:
i led bianchi hanno tensioni e correnti superiori a quelle dei led normali. Ci vorrebbe una resistenza maggiore, 470/680 ohm.

ciao Leo mi hai preceduto di 24 secondi =(

Comunque Ti devo correggere con tensioni forvard piú grandi e per correnti maggiori a paritá di tensione di alimentazione servono resistenze piú piccole.
Ciao Uwe

Hai ragione, perché la differenza fra la tensione fornita dal pin e quella del led è inferiore a quella di un comune led colorato :slight_smile:

Scusatemi, ma il transistor NPN BC547B che è incluso va bene o no?

Inoltre, se le resistenze non bastassero per i led bianchi, potrei separare i led bianchi in 2 in modo da dividerli in 8 e 8 e utilizzare 2 output, mi accontento.

Così facendo ho ancora bisogno di un altro transistor, o potrei utilizzare già quello che ho io?

Se invece non bastassero, sostituirò i led mettendo 18 led -> 16 rossi e 2 gialli.

Insomma ecco le alternative:
1- 16 led rossi e 2 gialli da 5mm
2- 8 led bianchi in un output e altri 8 in un altro output
3- Utilizzare uno ShiftOut ma non ne sono sicuro

Qual è la soluzione meno invasiva per questo circuito (non ci sono problemi a sostituire i led bianchi?

Ah, non ho ancora detto il perchè: dovrei fare una specie di fari giusto per segnalare il robot che sto progettando...

no, il BC547 non va bene; regge solo 100mA.
Un shift-register, tipo il 74HC595, Ti serve se non hai abbastanza pin liberi. Ti servono 3 Pin per pilotarlo; e puoi avere 8, 16,24 uscite. Il numero dipende dal numero di Shift register che metti in serie.
Se hai 3 gruppi di LED da pilotare separatamente non ha senso mettere un 595.
Attenzione per la corrente totale; con 32 Led Ti serve un alimentatore estero per i LED. Basta collegare la massa del alimentatore alla massa di Arduino e il positivo ai anodi dei LED.
Ciao Uwe

uwefed:
no, il BC547 non va bene; regge solo 100mA.
Un shift-register, tipo il 74HC595, Ti serve se non hai abbastanza pin liberi. Ti servono 3 Pin per pilotarlo; e puoi avere 8, 16,24 uscite. Il numero dipende dal numero di Shift register che metti in serie.
Se hai 3 gruppi di LED da pilotare separatamente non ha senso mettere un 595.
Attenzione per la corrente totale; con 32 Led Ti serve un alimentatore estero per i LED. Basta collegare la massa del alimentatore alla massa di Arduino e il positivo ai anodi dei LED.
Ciao Uwe

Non devo alimentare 32 xD sarebbero 16 in tutto =D
Se non brucio nulla opto per 16 rossi e 2 gialli, Il transistor comunque sarebbe quello che forniscono nello starter kit... Ma prenderò il BC337-40, consigliato da voi. Fatto questo per quanto riguarda questa parte di circuiteria quindi sarei a posto se usassi 16 led rossi, 2 gialli (sempre da 5mm), con un transistor BC337-40 e collegati come nel circuito (naturalmente ci sono da aggiungere 2 led gialli =D)???

Saresti a posto.

Quindi posso andare sul sicuro se l'alimentazione è di 9 volt o devo avere 3 volt?