Arduino e i led infrarosso

Per poter gestire le le pompe di calore da Arduino bisogna dotarlo di un led a infrarossi che, opportunamente pilotato, manda i comandi come se fosse il telecomando originale.

Ho letto un pò in giro per vedere il funzionamento dei telecomandi e come replicarli e ho visto che generalmente mandano un treno di impulsi che cambia in funzione dell’ordine da eseguire. I telecomandi delle pompe di calore sono più complessi rispetto a quelli dei televisori.

Iniziamo

Inizialmente ho pensato che la via più semplice fosse quella di clonare il segnale del telecomando originale utilizzando un sensore a infrarossi e un software su Arduino che memorizzasse le variazioni di livello ricevute per permettere di inviarle identiche tramite un led. Suppongo che si possa fare ma poichè ho trovato una libreria già pronta per il pilotaggio delle pompe di calore Daikin (naturalmente sono quelle in mio possesso) ho pensato di fare un collaudo e se tutto a posto usarla senza perdere altro tempo.

La libreria Daikin

La libreria la trovi qui, e trovi anche uno schema per il collegamento ad Arduino del led a infrarosso e degli esempi. Per scaricare la libreria ti basta cliccare sul bottone verde clone or download e poi importare la libreria come descritto qui. Per utilizzare la libreria devi presentarla utilizzando il comando #include e assegnarle un nome con il comando DYIRDaikin irdaikin; a questo punto nella sezione SETUP con il comando irdaikin.begin(3); si inizializza la libreria comunicando che il led infrarossi è sul piedino 3.

Per mandare un comando al climatizzatore bisogna prima impostare i vari parametri come temperatura, velocià ventola, acceso o spento e una volta predisposti eseguire l’invio. I comandi per i parametri sono tutti intuitivi: irdaikin.setSwing_off(); disattiva il movimento delle alette che deviano il vento mentre irdaikin.setSwing_on(); le attiva, irdaikin.setMode(1); imposta il modo di funzionamento dove 0=FAN, 1=COOL, 2=DRY, 3=HEAT;

Accendiamo la pompa di calore

Fra i parametri bisogna anche specificare l’accensione o spegnimento del climatizzatore con il comando irdaikin.on(); per accenderlo e irdaikin.off(); per spegnerlo. A questo punto con il comando irdaikin.sendCommand(); si inviano tutti i parametri al climatizzatore che esegue.


Il problema della distanza

Con questo piccolo sketch ho fatto le prove per vedere fino a che distanza potevo comandare il climatizzatore e le varie inclinazioni e se compatibile con i vari modelli che mi ritrovo in casa. Il programma ogni 10 secondi emette un comando di accensione alternato ad uno di spegnimento.

Una cosa che mi ha fatto perdere tempo è proprio la portata, intanto nelle prime prove avevo collegato il led e la resistenza direttamente al pin 3 di arduino, senza usare il transistore come nello schema, e questo limita molto la corrente che può attraversare il led e quindi la sua portata, circa 30 cm; per cui all’inizio pensavo non funzionasse finchè non mi è venuto in mente di avvicinare arduino (alimentato con una powerbank) al climatizzatore.

Pilotando il led tramite un transistore come da schema della libreria ho raggiunto la considerevole distanza di 70 cm e così ho scoperto che il led che avevo acquistato senza riflettere è sicuramente di piccolissima potenza. Oggi ho ordinato un pò di led infrarossi da 100 mw e appena arrivano dovrei raggiungere i 4/5 metri. Aggiorno l’articolo appena fatta la prova.

Lascia un commento