Buonasera a tutti, vorrei comandare l’accensione e lo spegnimento di 12 led con due pulsanti (nel caso è possibile va bene anche uno solo), avendo 12 led ho tutti i pin (dal 2 al 13) occupati.
Essendo alle prime armi non ho proprio idea di come possa farlo.
Grazie mille a chiunque risponde.
Di che Arduino stai parlando ? Perché sugli AVR (UNO, Leonardo; MEGA, ecc.) i pin analogici sono prima di tutto pin digitali e poi fanno anche le funzioni di ingressi analogici
Guglielmo
Si...
E poi aggiungo
Comandati come?
Uno per volta? Tutti assieme?
Usando ad esempio un multiplex te la cavi con 7 pin
E con 11 aggiungi anche 12 pulsanti
Cerca...
Che trovi...
@Standardoil Tutti assieme li vorrei comandare, ho dimenticato di scriverlo prima.
@gpb01 sto parlando di arduino UNO.
Cioè accendi uno accendi tutti?
Un po' come un lampadario a 12 lampade ma un solo interruttore?
Si esatto, con un interruttore/pulsante voglio accendere e spegnere tutti i led
Beh, allora usa un piccolo MOSFET, collegali tutti, con la loro resistenza, in parallelo ed usi UN SOLO pin
Guglielmo
Scusa l’ignoranza, il MOSFET è un modulo esterno giusto? Quindi non c’è alcun modo di fare il tutto con la sola scheda.
Il MOSFET è come un transistor, ma con caratteristiche differenti.
Il problema è che l'assorbimento totale di tutti i LED è troppo per il collegamento diretto con un solo pin di Arduino, quindi, o sprechi 12 pin e li comandi tutti ON, tutti OFF (ed è uno spreco di pin) o usi un piccolo MOSFET e con un pin fai tutto ... a te la scelta.
Guglielmo
Sarebbe inutile e pericoloso
Se è vero che un singolo led non carica eccessivamente l'uscita di Arduino
12 rischiano di caricare troppo 'l'ingresso ' che alimenta le uscite
@Standardoil non capisco bene il tuo consiglio perché io ho capito che collegandoli tutti a una sola uscita sovraccaricano l’ingresso (quindi mi sconsigli il MOSFET). O sbaglio?
Sbagli ... NON ti consiglia di collegarli tutti e 12 direttamente ad Arduino ...
Guglielmo
Va bene, grazie.
Devi sempre tenere presente che ogni pin di Arduino può dare al massimo, a Vcc, 40 mA (... ma quello è veramente un limite, nel normale funzionamento occorre stare al 60-70% di detto valore) ed inoltre la somma di tutti i pin e dell'assorbimento del chip, non deve superare al massimo i 200 mA (... e anche qui massimo va considerato come valore limite, ma nel normale funzionamento occorre stare al 60-70% di detto valore). Assorbimenti oltre detti limiti possono danneggiare irrimediabilmente il chip.
Guglielmo
Capito questo ... se tu colleghi i 12 LED ad Arduino, DEVI limitare la corrente di ciascun LED ad un massimo di circa 10mA così la somma fa 120 mA e stai abbastanza lontano dai 200 mA massimi ... anche se già ... praticamente al limite !
Guglielmo
Si stavo pensando di mettere delle resistenze per ciascun led, perché adesso ho utilizzato solo 3 resistenze per ogni 4 led, però rimane sempre il problema di come collegare il pulsante per gestire l’accensione e lo spegnimento di tutti i led.
E perché? T'ho già detto che i pin che tu pensi siano analogici (A0 .. A5) in realtà sono prima di tutto DIGITALI e poi possono funzionare anche come ingressi analogici, quindi ... usi uno di quelli !
Guglielmo
P.S. comunque è la strada peggiore; quandi si hanno carichi non pilotabili da un singolo pin si usano i mosfet.
Ah perfetto, mi ero concentrato sui MOSFET e ho “tralasciato” tutto il resto. Allora domani proverò a mettere una resistenza per led e a collegare il pulsante per vedere come risponde la scheda.
Immagino che sia la strada peggiore, però per il momento è una cosa provvisoria solo per vedere come il funzionamento, nel caso vedo che il risultato soddisfa le esigenze procedo con i MOSFET e a saldare il tutto così da renderlo definitivo.
Ancora grazie mille!
Buongiorno, sono riuscito a collegare i pulsanti (uno per l'accensione e uno per lo spegnimento) con l'uso di due IF. I led fanno un gioco di luci quindi mi serve che la condizione dell'if dell'accensione deve essere eseguita in loop (e spegnere il tutto quando voglio). C'è un modo per farlo?
Descrivi il 'gioco di luci' che vuoi far fare ai 12 led.
Ti faccio un esempio: 0 = led spento; 1 = led acceso
All'inizio
0 0 0 0 0 0 0 0 0 0 0 0
Alla pressione del pulsante 'accensione'
1 0 0 0 0 0 0 0 0 0 0 0
Alla successiva pressione
0 1 0 0 0 0 0 0 0 0 0 0
... e così via
0 0 1 0 0 0 0 0 0 0 0 0
Alla pressione del pulsante 'spegnimento' in qualunque situazione
0 0 0 0 0 0 0 0 0 0 0 0
Oppure
All'inizio
0 0 0 0 0 0 0 0 0 0 0 0
Alla pressione del pulsante 'accensione'
1 0 0 0 0 0 0 0 0 0 0 0
Alla successiva pressione
1 1 0 0 0 0 0 0 0 0 0 0
... e così via
1 1 1 0 0 0 0 0 0 0 0 0
Alla pressione del pulsante 'spegnimento' in qualunque situazione
0 0 0 0 0 0 0 0 0 0 0 0
Ciao,
P.