Ho solo 2 pin (a 3 stati) disponibili su un microcontrollore e ho bisogno di controllare 3 LED rossi, uC funziona a 5V. Posso usare solo componenti passivi in aggiunta.
Ho solo 2 pin (a 3 stati) disponibili su un microcontrollore e ho bisogno di controllare 3 LED rossi, uC funziona a 5V. Posso usare solo componenti passivi in aggiunta.
Risposte:
Per controllare quattro LED:

simula questo circuito - Schema creato usando CircuitLab
Per accendere entrambi i LED su un determinato pin, attivare il pin a poche centinaia di Hz.
Questa configurazione richiede che la tensione diretta dei LED sia inferiore a Vcc / 2.
Si noti inoltre che i resistori consumano sempre energia, non solo quando i LED sono accesi.
Questa soluzione dipende dal fatto che 5V non accenderà i tre LED in serie. Se necessario, è possibile aggiungere un diodo al silicio in serie con uno o più LED per aumentare la caduta di tensione diretta totale.

simula questo circuito - Schema creato usando CircuitLab
Per avere più di un LED alla volta, è necessario multiplexare: accenderli uno alla volta, abbastanza rapidamente da farli accendere in modo continuo.
Con due pin puoi effettivamente controllare quattro LED. Per controllare due LED inserire un resistore dal pin MCU per limitare la corrente e collegarlo a due LED: il catodo di un LED e l'anodo dell'altro LED. L'estremità anodica libera del primo LED viene collegata al VCC della scheda MCU tramite un'altra resistenza. L'estremità libera del catodo del secondo LED viene collegata a GND (tramite un altro resistore). Ora i LED si accenderanno alternativamente quando il pin MCU è impostato su alto o basso. Collega il secondo pin MCU allo stesso modo e ora hai il controllo di un totale di quattro LED.
Per dare l'apparenza di un controllo indipendente di ciascun LED nella coppia rispetto a uno dei pin della porta è necessario un piccolo lavoro software come segue.
Se LED1 è quello con l'anodo sul pin della porta e LED2 è quello con il catodo sul pin della porta, procedere come segue per stabilire i quattro stati per due LED.
LED2 LED1 Action
OFF OFF Set the port pin to tristate level.
OFF ON Set the port pin low.
ON OFF Set the port pin high.
ON ON Toggle the port pin high and low at a frequency over about 120 Hz.
Ripeti le stesse azioni per l'altro pin della porta e sembrerai di avere quattro LED indipendenti su due pin della porta.
Questo schema funziona bene per i LED che hanno una caduta di tensione diretta superiore alla metà del livello VCC. I LED rossi con 2.1 VF non funzioneranno così bene se ad esempio il VCC è 5V. D'altra parte un LED verde con un VF da 2,5 V funzionerà perfettamente su un sistema con un VCC da 3,3 V.

Quindi in questo modo nessuna corrente fluisce quando sono spenti e puoi pilotare tutta la / piccola tensione diretta di cui hai bisogno
EDN ha pubblicato alcune idee relative al design qui
Eccone uno: -
Per valori tipici con D1 un LED giallo (2,2 V acceso), D2 un LED rosso (1,9 V acceso) e tensioni di spegnimento rispettivamente di 1,2 V e 1,1 V e correnti di 8 mA ciascuna, Vcc = 5,0 V, il valore ottimale i valori sono
R1 = 300 ohm R2 = 330 ohm R3 = 1,2 K ohm
La corrente di riposo è di 2,7 mA. Per far apparire illuminati entrambi i LED, attivare o disattivare il pin di uscita a 100Hz o superiore.
Ho usato il solutore Excel nell'articolo originale, il codice potrebbe essere ancora disponibile da EDN.
L' ulteriore grado di libertà offerto dalla resistenza R3 può evitare i limiti dei circuiti di Dave Tweed e Michael Karas, sebbene per il caso specifico di 2 LED rossi che funzionano da un'alimentazione a 5 V, il circuito di Dave Tweed è probabilmente accettabile, ma controlla il Vf attenzione, non va bene per alcuni LED rossi e può essere marginale per altri se il pin della porta non si abbassa completamente.