In questo articolo vediamo come sviluppare in Arduino Uno un ricevitore IR/RF che permetta di catturare i dati inviati da un telecomando che utilizza una delle due tecnologie di comunicazione.
IR e RF: Breve Panoramica
Le tecnologie principalmente utilizzate a livello commerciale per sviluppare dispositivi a controllo remoto sono 2: RF anche conosciuta come “frequenze radio” e IR ovvero “infrarosso“.
Entrambe hanno vantaggi e svantaggi.
IR è veloce, efficiente e offre l’abilità di comunicare un’ampia varietà di comandi. Il rovescio della medaglia è il range di funzionamento, affidabile sulla corta distanza e senza alcun oggetto che si interponga tra il trasmettitore e il ricevitore.
Dall’altro lato RF, opera a distanze decisamente più lunghe ed è robusto anche di fronte ad ostacoli da dover oltrepassare ma risulta povero in termini di complessità di comandi.
Per entrambe le tecnologie esistono trasmettitori e ricevitori acquistabili online e interfacciabili con Arduino Uno.
Per quanto riguarda IR, ti consiglio questo prodotto:
mentre per RF ho utilizzato quest’altra coppia di moduli il cui ricevitore è il seguente:
Il Circuito
Come puoi vedere il circuito finale è tutt’altro che complicato, oltre ai 2 ricevitori che abbiamo appena presentanto, è sufficiente avere una scheda Arduino Uno e qualche cavetto di connessione.
Tenendo di riferimento questa immagine, il sensore infrarosso è quello posto in alto a destra della breadboard mentre quello RF è posto in alto a sinistra.
Per quanto riguarda il primo, andiamo collegare il pin OUT, ovvero l’ultimo pin a destra, con il pin 4 della nostra scheda Arduino Uno (cavo rosso) mentre i pin GND e VCC vengono collegati rispettivamente alle colonne – (cavo bianco) e + (cavo marrone) della breadboard.
Similmente a quanto appena fatto, colleghiamo anche i pin del sensore RF. In questo caso abbiamo che il primo e ultimo pin corrispondono rispettivamente al + (cavo marrone) e al – (cavo bianco) della breadboard; si utilizza infine solo il penultimo pin per il segnale analogico che andiamo quindi a collegare nel pin 2 della scheda Arduino Uno (cavo verde).
Per terminare non ci resta che alimentare la nostra breaboard, per far ciò colleghiamo il pin GND di Arduino alla colonna – della bread (cavo giallo) e il pin 5V di Arduino alla colonna + (cavo giallo).
Lo Sketch
Bene, adesso siamo pronti a caricare su Arduino il nostro sketch per poter interagire con i sensori appena collegati.
Puoi scaricare il codice completo da questo repository.
Apri Arduino IDE e, dopo aver collegato la tua scheda tramite l’apposito cavo in dotazione, clicca su Strumenti -> Scheda -> Arduino Uno.
Controlla inoltre che sia selezionata la porta di comunicazione corretta sempre da Strumenti -> Porta -> COM3 (nel mio caso specifico).
Se non ancora installate, è necessario procedere a scaricare le librerie IRremote e RCSwitch.
Per far ciò vai su Strumenti -> Gestione librerie e dalla finestra che si apre cerca le librerie ed installale.
Bene, adesso diamo un rapido sguardo allo sketch:
Dopo aver inlcuso le librerie che hai appena installato, definiamo i PIN per la ricezione dei dati da parte del ricevitore IR (pin numero 4) e RF (pin numero 2), insieme agli oggetti che gestiscono la logica di interfacciamento con i sensori (irrecv e mySwitch).
Nella funzione di setup, inizializziamo il baud rate per la comunicazione seriale a 9600 e specifichiamo le informazioni necessarie al corretto funzionamento degli oggetti irrecv e mySwitch.
Infine nella funzione di loop controlliamo iterativamente l’arrivo di nuovi dati dai sensori e in caso affermativo li stampiamo a schermo.
Nel caso di dati in arrivo dal sensore RF, si fa uso di una libreria di formattazione (output) che è presente sempre nel progetto scaricabile dal repository.
Conclusioni
Perfetto, adesso dal nostro IDE procediamo con il caricare lo sketch sulla scheda Arduino e poi clicchiamo su Strumenti -> Monitor Seriale.
La finestra che si apre mostra in basso a destra una listbox da cui è possibile selezionare il baudrate corretto, schegli 9600.
A questo punto, avvicina un qualsiasi telecomando che hai a casa e premi un pulsante, se la tecnologia utilizzata rientra tra quelle compatibili con i sensori che abbiamo montato, dovresti poter vedere delle stringhe stampate a schermo come le seguenti.
Scrivi un commento