Help: indirizzare uscita di un pin a più led IR

Mi rendo conto che il titolo è molto sibillino, mi spiego meglio qua:

Dopo aver codificato i segnali del mio sistema di climatizzazione (4 split), con la libreria IRremote riesco a controllare e a comandare correttamente lo split che utilizzo per il test.
Ora, dovendo gestire 4 split in modo autonomo, devo portare ad ognuno di questi un led IR (gli split ovviamente sono in locali differenti). La libreiria IRremote utilizza il pin3 per pilotare il led IR.

Il mio scopo è quello di abilitare uno o più led IR e poi inviare il segnale proveniente dal pin3 in modo da comandare un singolo split oppure più split in contemporanea.
A disposizione ho in abbondanza dei fotoaccoppiatori e uln2803.

Io avevo pensato di utilizzare altri pin settati come uscite per comandare dei microrelè (che non ho) oppure dei transistor. In pratica butto dentro il segnale dal pin3 e viene smistato su una o più uscite. Ci sarebbe una soluzione più elegante?

Il ULN2803 non é un fotoacoppiatore ma un Transistor Array.

Puoi pilotare i LED IR pilotandoli con un transistore NPN o con il ULN2803. Il ULN2803 puoi (devi) usare anche per i relé visto che non li puoi pilotare dai pin di Arduino.

Vedo problematico che porti in giro il LED con dei cavi lunghi. Potrebbe dare luogo a dei problemi.

Ciao Uwe

uwefed:
Il ULN2803 non é un fotoacoppiatore ma un Transistor Array.

Puoi pilotare i LED IR pilotandoli con un transistore NPN o con il ULN2803. Il ULN2803 puoi (devi) usare anche per i relé visto che non li puoi pilotare dai pin di Arduino.

Vedo problematico che porti in giro il LED con dei cavi lunghi. Potrebbe dare luogo a dei problemi.

Ciao Uwe

Ciao Uwe,
lo so benissimo che gli uln2803 non sono fotoaccopiattori, ho scritto che a disposizione avevo in abbondanza uln oppure (o) i fotoaccoppiatori (4N35).

Probabilmente però non ho formulato bene la mia richiesta: vorrei poter splittare il segnale del pin3 su 4 led IR e poterli comandare singolarmente o in gruppo. Ad esempio, sul pin3 con IRremote invio il comando "ACCENDI SPLIT RAFFRESCAMENTO", se tutti i 4 led sono attivi accenderò tutto gli split, se è attivo solo il led della camera, accenderà solo quello split.

Per la lunghezza dei cavi non mi ero posto alcun problema ma come dici tu, conviene che faccia una prova.

Grazie!

Cristian

Potresti mandare il segnale di uscita di arduino ai K dei fotoaccoppiatori (collegati in parallelo, 10mA ciascuno)
Gli anodi li alimenti con gli altri 4 pin di arduino e decideranno quale fotoaccoppiatore manderà in conduzione il fotoransistor di uscita.
Sempre che non sia possibile inviare il codice IR direttamente al pin desiderato (non so proprio....)
Ma... non puoi inviare il comando temaite CAN? Se non erro dovresti essere pratico....

Stefano

Ciao Stefano, prova effettuata utilizzando il tuo suggerimento (grazie!) ma con una variante:
Il segnale in uscita dal pin3 (IRremote) l’ho mandato all’anodo mediante resistenza da 330ohm per limitare la corrente a circa 10mA, il catodo nel primo test l’ho messo a massa. In uscita al fototransistor ho collegato il led IR con relativa resistenza per limitare la corrente a circa 40mA. 5V presi da arduino. Funziona. (vedi immagine “provo ir1”)

Secondo test (da effettuare): Tutto come prima ma anziché mettere il catodo del led fotoaccoppiatore a gnd lo collego ad un pin out di arduino. Stessa cosa pre gli altri 3 led ir comandati da altrettanti pin out. (vedi immagine “provo ir2”). I pin out di comando (D4, D5, D6, D7) verranno messi HIGH. Per pilotare uno o più led ir, le relative uscite verranno messe a LOW (gnd) e poi trasmetterò le informazioni dal pin3.

Può essere corretto o mi sto perdendo qualcosa?

Ciao, prego.... contento che il concetto ti sia piaciuto :slight_smile:
....a parte la tristezza che con 321 post non usi eagle :wink:
Domanda banale (e la risposta potrebbe essere "per protezione di Arduino") perchè usi fotoaccoppiatori?
Sennò l'out IR potrebbe andare ad un transistor iemettitore comune che pilota i K dei led IR e sugli A i pin di controllo + le resistenze

Stefano

Al posto di Transistori puoi usare il ULN2803, ma lo avoevo giá detto.

Ciao Uwe

Rieccomi, scusate ma il lavoro a volte mi allontana per qualche tempo.
Riporto gli avanzamenti nei test effettuati, primo tra tutti la tenuta sulla lunghezza dei cavi.
Ho collegato l'uscita del pin3 di arduino (quella che irremote utilizza come out per il segnale) ad un cavo schermato (avevo quello a disposizione). All'altro capo ci ho messo la resistenza di limitazione corrente ed il led ir. Nonostante la lunghezza del cavo, circa di 15 - 20 metri, non ho avuto problemi nel comandare lo split.

Ora viene appunto il bello: abilitare uno o più led ir per comandare i singoli split.

Stavo cercando di buttar giù uno schemino utilizzando gli array Darlingoton (uln2403 che ho in casa in abbondanza) ma vado in confusione.

In pratica, io ho il mio segnale proveniente dal pin3. Lo devo portare a 4 led IR dove però devo avere la possibilità di abilitare uno o più led IR mediante 4 pin di arduino...

uwefed dimmi se sbaglio: il pin3 lo collego a 4ingressi dell'array darlington, ma poi come posso abilitare il funzionamento del led che mi interessa? L'uscita del uln2403 va a gnd quando in ingresso ho un segnalo HIGH. con l'uln risolverei il problema della erogazione della corrente del pin3 di arduino ma dovrei trovare il modo di mettere a gnd, quando mi interessa farlo funzionare, il catodo del led ir.
Poi butto giù uno schemino...

Te l’ha detto @cam9500 come fare

Ok, ma così facendo, ipotizzando di voler accendere 3 led in contemporanea, non vado ad assorbire troppa corrente dal pin3 (quello che nello schema hai chiamato "Pin"? Attualmente sono già al limite, il led IR assorbe 40mA.

Puoi sempre inserire un Bjt, anche se mica sei obbligato a pilotarne piu' di uno per volta

In oltre se devi comandare dei condizionatori puoi anche pilotarli non simultaneamente, a livello di codice non hai grosse differenze.....

Per cosa serve quel transistor? non basta collegare i LED a +5V e pilotarli attraverso il ULN2803?
Ciao Uwe

uwefed:
Per cosa serve quel transistor? non basta collegare i LED a +5V e pilotarli attraverso il ULN2803?
Ciao Uwe

Ciao Uwe, il segnale per comandare il condizionatore ce l'ho solo sul pin3, con gli altri pin abilitavo o meno i led che mi interessavano (in modo da gestire lo/gli split che voglio).

In ogni caso, sono davvero un pollo perché io mi sono limitato a pensare solo ed esclusivamente al comando di uno o più split in contemporanea andando a complicare esageratamente il tutto.
Proprio come dice anche cam9500, posso accendere i miei split in sequenza utilizzando con estrema semplicità lo schema di Brunello al post #8.

Valido anche lo schema nel post #10 ma mi troverei in difficoltà nel calcolare correttamente le resistenze in quanto per comodità lavorerei a questo punto con i 12V che ho già disponibili sugli uln2803 che ho sulla board (ho ancora un bel po di pin liberi) e la corrente è variabile in base al numero di led che voglio pilotare in contemporanea. Ipotizzando una corrente di 40mA per ogni led, avrei un range in cui lavorare che va da 40 a 160mA (da uno a 4 led accesi). Questa sarebbe una mia curiosità, se qualcuno mi aiutasse a capire come polarizzare correttamente il transistor...
Ancora grazie! Questo forum, grazie a voi, è un pozzo di sapere.

Ad occhio metterei una resistenza da 47k tra base ed emettitore (giusto per tenere il transistor OFF quando non c'è la massa in ingresso)
La resistenza di base è= hfe(12-0.6)/0.16 =3560 -> 3.3K
hfe=guadagno del transistor (o beta)
12-0.6= volt sulla resistenza di base
0.16= massimo assorbimento dei led IR
Se dico che consumo 0.16A come Ic allora serve una Ibase pari a Icollettore/hfe quindi la resistenza è pari alla tensione resistenza/corrente resistenza