Tag

, , ,

Per un po’ di tempo ho cercato di realizzare uno studio su come utilizzare i led e i ricevitori ad infrarossi. Il problema era che, senza un oscilloscopio, risultava molto difficile capire se i componenti funzionasse e se lo schema dei circuiti fosse corretto.

Tuttavia, creare un sensore di prossimità che aumenti la luminosità di un led quando ci avviciniamo con un dito al sistema led+ricevitore a infrarossi, è piuttosto semplice! Vediamo come fare.

Arduino IR-proxy

Arduino IR-proxy

Perché un un led a infrarossi funzioni, occorre infatti farlo vibrare alla frequenza (più o meno) precisa di 38KHz. E un ricevitore, per poter ricevere il segnale emesso dal led, deve essere protetto dalla luce che non vogliamo che interferisca (luce d’ambiente e luce infrarossa riflessa).

Per testare il ricevitore, ci sono diversi tutorial piuttosto semplici, ad esempio sull’ottimo sito di Adafruit (http://learn.adafruit.com/ir-sensor/testing-an-ir-sensor), ma il test ha dato indicazioni un po’ complesse anche se dimostravano che il componente funzionava.

Per accendere il led alla frequenza corretta, ho trovato la semplice e potente libreria IRremote, gratuita e disponibile qui: http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html

La libreria contiene una semplice funzione che permette, senza procedure complicate, di accendere il led alla frequenza desiderata:

#include <IRremote.h>
IRsend irsend;
irsend.enableIROut(38);
irsend.mark(0);

In questo modo, abbiamo acceso correttamente il nostro led a infrarossi! Per fare in modo che la luce a infrarossi del led arrivi al ricevitore solo quando veramente serve, ho utilizzato un accorgimento che ho trovato leggendo un tutorial su http://www.instructables.com (e in effetti, molte cose di questo tutorial sono prese dal sito): ho tagliato un pezzetto di nastro isolante e l’ho usato per schermare il led. Niente di più facile!

Arduino IR proxy schema

Arduino IR proxy schema

A questo punto, siamo pronti per sistemare il nostro led a infrarossi e il ricevitore sulla breadbord e per collegarli al nostro Arduino. Il codice è molto semplice. Avvicinando un dito al led, noterete che la luce della spia sul pin 13 di Arduino aumenterà di intensità, mentre se allontanate il dito, finirà per spegnersi.

Download: IR-proxy.zip

NB: in realtà, credo che l’effetto di “affievolimento” del led che si ottiene allontanando il dito sia solo un disturbo nel passaggio della corrente. Il codice, semplicemente, attiva il led quando un oggetto si mette tra emittente e ricevitore.

PS: alcune vecchie porte USB potrebbero non erogare energia a sufficienza per far funzionare il led, se non succede niente, provate a collegare Arduino ad un alimentatore esterno.

PPS: per importare correttamente la libreria IRremote, scaricate la cartella zippata, scompattatela e poi andate a metterla dentro la cartella: Documenti > Arduino > Libraries (se non c’è, createla). Importate il tutto dall’IDE di Arduino, dovreste trovarla nel menu in alto: Sketch > Importa Libreria > IRremote.

Annunci