
Questo progetto principalmente è nato per accendere e spegnere dispositivi a distanza tramite un telecomando IR senza interagire direttamente con gli interrutturi dei dispositivi, ma può diventare qualcosa di più grande ed ampio se viene implementato nell’ambito della domotica. Così facendo si potrà restare tranquillamente seduti sul divano mentre si guarda la tv e poter spegnere una luce che è stata dimenticata accesa. Oppure può essere utilizzato per risparmiare sulla spesa della corrente elettrica. Infatti basta pensare all’angolo televisione per rendersi conto di quanti led luminosi ci siano accesi e talmente è la luce emessa, che per passare dalla stanza non c’è nemmeno bisogno di accendere la luce.
Un motivo che mi ha spinto a realizzare questo progetto è il bisogno di non di non dovere attaccare e staccare i dispositivi dalla presa di corrente ogni volta che ne ho bisogno e per non lasciare dei fili volanti dalla presa della scrivania e poter accendere e spegnere delle luci a distanza senza che si utilizzi lo smartphone come ho fatto qui.
Così facendo evito di tenere sempre con me il mio smartphone perchè non farebbe altro che male. Nulla vieta di implementare questo progetto in quello indicato in precedenza. Fondendo i due progetti si avrebbe una doppia possibilità: oltre a poter attivare e disattivare dei dispositivi da remoto tramite lo smartphone, quando si è a casa si potrebbe tenere con se un telecomando tramite il quale comandare i dispositivi collegati al sistema.
Questo progetto nel suo piccolo può essere quindi aggiunto per aumentare le capacità del piccolo sistema domotico.
Questa idea l'ho sviluppata e testata con l'ormai famosa piattaforma di sviluppo e prototipazione Arduino. E' un progetto davvero molto semplice e può essere creato da chiunque ne abbia bisogno e abbia un minimo di competenza, ma anche da coloro che ne hanno bisogno ma non hanno molta esperienza dato che tramite questo Blog è possibile accrescere il proprio sapere e ricevere l'aiuto necessario per realizzare qualunque cosa (se ci si impegna).
Ecco un elenco con indicato il necessario per realizzare questo progetto:
- Arduino (io ho utilizzato la board Arduino Uno, ma può essere utilizzata qulunque versione di arduino) ;
- Ricevitore IR Infrarossi TSOP4838 38Khz;
- Board 8 relè;
- Cavetteria varia;
- Se si vuole, anche se non è strettamentenecessario si può costruire la mia shield per arduino UNO tramite la quale è possibile effettuare i collegamenti della board dei relè ed il sensore IR ad arduino in maniera semplice e veloce senza utilizzare fili volanti. File Fidocad in allegato.
Riguardo al ricevitore infrarossi c'è davvero poco da dire, infatti è un comune ricevitore a 38 Khz. Invece per la board dei relè è possibile utilizzarne una con più o con meno relè.
Per quello che mi serve quella da 8 relè che posseggo è ottima. Però in base al numero di relè che si vorranno utilizzare bisogna considerare il tipo di alimentazione e la corrente necessaria per pilotare il circuito.
Naturalmente per comunicare quale relè voglio eccitare bisogna possedere almeno un telecomando…
In sua veste può essere utilizzato anche quello della tv, ma risulterebbe scomodo portare con se un telecomando non troppo compatto, perciò la migliore soluzione ricade sulla scelta di una soluzione più confacente a tali criteri che risulterà più semplice, per esempio, da portare in tasca. In commercio infatti esistono dei telecomandi generici molto compatti con diversi pulsanti numerati.
La libreria che serve per realizzare questo progetto è IR REMOTE che può essere trovata a questo indirizzo.
Prima di tutto bisogna effettuare il collegamento tra arduino, il sensore IR e la board dei relè nel seguente modo:
PIN 2 DI ARDUINO - PIN 1 INPUT SCHEDA RELE'
PIN 3 DI ARDUINO - PIN 2 INPUT SCHEDA RELE'
PIN 4 DI ARDUINO - PIN 3 INPUT SCHEDA RELE'
PIN 5 DI ARDUINO - PIN 4 INPUT SCHEDA RELE'
PIN 6 DI ARDUINO - PIN 5 INPUT SCHEDA RELE'
PIN 7 DI ARDUINO - PIN 6 INPUT SCHEDA RELE'
PIN 8 DI ARDUINO - PIN 7 INPUT SCHEDA RELE'
PIN 9 DI ARDUINO - PIN 8 INPUT SCHEDA RELE'
PIN 5V DI ARDUINO - PIN VCC SCHEDA RELE'
PIN GND DI ARDUINO - PIN GND SCHEDA RELE'
PIN 10 DI ARDUINO - PIN 1 SENSORE IR
PIN GND DI ARDUINO - PIN 2 SENSORE IR
PIN VCC DI ARDUINO - PIN 3 SENSORE IR
Non tutti i telecomandi sono programmati nello stesso modo e perciò se in un telecomando un tasto corrisponde ad un numero, molto probabilmente non sarà la stessa cosa in un altro.
Perciò bisogna configurare il sistema in maniera tale che se viene premuto un determinato tasto viene eccitato un relè prestabilito.
Per effettuare questa operazione bisogna scegliere quali tasti si vogliono utilizzare e "leggere" il valore che inviano quando vengono premuti.
Per vedere il codice dei tasti che sono stati scelti, la libreria IRREMOTE è perfetta in quanto tramite lo sketch seguente basta aprire il monitor seriale per leggere il codice esadecimale del tasto che viene premuto:
#include// inclusione della libreri IRREMOTE int receiver =10 ; // settaggio del pin 10 come pin di input del sensore IR IRrecv irrecv(receiver); // istanziamento un oggetto di tipo irrecv decode_results results; // istanziamento un oggetto di tipo decode_result void setup() { Serial.begin(9600); irrecv.enableIRIn(); // adesso siamo in attesa di ricevere un segnale } void loop() { if (irrecv.decode(&results)) { // se ho ricevuto un segnale Serial.println(results.value, HEX) // stampo sul monitor seriale il codice che ho ricevuto in esadecimale delay(500); irrecv.resume(); // ricevo il prossimo segnale } }
Perfetto... adesso non rimane che appuntare i codici esadecimali che vengono stampati sul monitor seriale così da poter andare avanti con l'ultima configurazione. Quello che adesso bisogna fare è configuarare Arduino in maniera tale che quando viene premuto un determinato tasto viene eccitato un determinato relè.
Ecco il codice base che bisogna caricare su arduino:
void setup() { Serial.begin(9600); irrecv.enableIRIn(); pinMode(3, OUTPUT); //pin dove è collegato il primo relè } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); } if ( results.value == 0x[CODICE 1 APPUNTATO IN PRECEDENZA] ) { // se viene schiacciato un tasto da me stabilito eccito il relè digitalWrite(3, HIGH); } if ( results.value == 0x[CODICE 2 APPUNTATO IN PRECEDENZA] ) { // se viene schiacciato un altro tasto da me stabilito diseccito il relè digitalWrite(3, LOW); } }
Come avete potuto vedere questo è un progetto davvero molto semplice da realizzare, ma allo stesso tempo molto utile ed ingegnoso; d'altronde le cose semplici sono le migliori.
Un aspetto importante è quello di inserire il circuito in un contenitore isolato in quanto i collegamenti tra i relè e i propri dispositivi da collegare al sistema sono stati effettuati con la rete elettrica e quindi collegati a 220v. Spero che questo progetto sia stato apprezato e resto in attesa di vostre opinioni.

Bene, dunque, il progetto sembra interessante e mi ha incuriosito.
Una buona lettura!
Se posso, però, mi sembra incompleto nella presentazione.
Come mai non ci sono immagini?
Ciao Giorgio.
Non c’è problema… ecco un immagine del progetto in fase di test:
http://img543.imageshack.us/img543/9656/8jlg.jpg
Ivan
In effetti questa è una buona segnalazione 🙂
Vale per il futuro: documentate con le immagini 🙂
Sicuramente!
Un articolo in cui compaiono anche delle immagini rende meglio l’idea di quello che è stato realizzato.
Ivan
Ciao, il tuo articolo è interessante, mi ha fatto venir voglia di lavorarci su per utilizzi simili. Mi associo a tutti gli altri, che dicono che mancano immagini: l’impressione è che l’articolo sia scarno, anche se comunque grande merito alla semplicità e alla chiarezza della descrizione.
Altra cosa meritevole è la semplicità del lavoro presentato, davvero realizzabile da tutti e che può tornare utile a tutti.
Ho comprato tempo fa un kit con telecomando a infrarossi e 3 prese “telecomandabili”, e devo dire che sono molto utili, con il difetto che sono davvero enormi!!! Tra l’altro posso comandare al massimo fino a 5 dispositivi, il telecomando non ne supporta di più.
Unico mio dubbio è: dato l’ingombro del sistema e le potenzialità di Arduino, non è riduttivo pensarlo solo per accendere e spegnere interruttori a distanza? Ad esempio, secondo me si potrebbe pensare tipo ad una sequenziazione del tipo: Se voglio accendere il lettore DVD, sicuramente mi interessa anche la TV, oppure se voglio accendere il DVD recorder, sicuramente mi interesserà accendere il decoder e la TV, quindi comandare l’accensione del primo provoca l’accensione degli altri in sequenza.
Ma questo è solo una piccola idea su cosa si possa fare, diciamo solo un pensiero per stimolare idee, sicuramente ci saranno proposte migliori…
Ciao,
grazie per l’interessamento.
Riguardo alla tua domanda:”dato l’ingombro del sistema e le potenzialità di Arduino, non è riduttivo pensarlo solo per accendere e spegnere interruttori a distanza?”
Sicuramente si!
Questo che ho presentato è voluto essere appositamente un progetto di base che proprio come ho scritto, può essere maggiormente sviluppato ed incluso in progetti molto più ampi, come la domotica.
L’accensione sequenziale può essere molto comoda, ma senza complicarsi la vita a scrivere altro codice basta collegare più dispositivi (Occhio alle correnti) ad un singolo relè.
Mi fà piacere che sono riuscito nell’intento di stimolare le idee 🙂
Riguardo alle immagini probabilmente avete ragione, ma visto che ho cercato di essere più chiaro possibile, non ho ritenuto necessario caricare nessun immagine.
Dopo la segnalazione di Giorgio ho provveduto subito a caricare una foto che ho scattato durante i test.
Riporto nuovamente il link della foto: http://img543.imageshack.us/img543/9656/8jlg.jpg
Saluti,
Ivan
Interessante. Ottimo articolo. Non molto tempo fa ho realizzato una cosa simile.
Da poco ho portato a termine una Tesi sulla domotica, e ho realizzato prototipi elettronici con relè e controlli via radio, non ho potuto fare a meno di leggere questo articolo. Nel progetto fatto (Chiamato Jarvis Domotica) ogni modulo sparso per casa gestiva via radio un solo relè di tipo SSR (allo stato solido), i relè che vedo in foto sembrano abbastanza piccoli, mi par di capire però che reggono tranquillamente carichi di 220V, sono meccanici dico bene?
Parte del progetto è visibile qua:
http://www.hackerstribe.com/2013/prolunga-rele-v2-0-python-atmega328p/
Scrivendo di domotica ho avuto modo di scoprire in giro per la rete, tanti simpatici progettini che ho cercato di convogliare nella mia tesi. Con lo scopo di realizzare un sistema domotico a basso costo e non invasivo per l’abitazione. Spero di pubblicare quanto prima la versione iniziale del progetto, che già comprende molte interfacce variegate, tra cui una smartphone vocale. Il lato software che gestisce il motore d’esecuzione, è in maniera centralizzata installato su un raspberry pi atto a pilotare tutti gli altri elettrodomestici con gli attuatori sparsi per casa, via radio. Una feature appena introdotta, è quella di poter comunicare con il Philips HUE, ovvero il sistema d’illuminazione wireless RGB introdotto da philips.
Se volete dare un’occhiata, una piccola video anteprima la trovate qui:
http://www.youtube.com/watch?v=gcpXrfHdgBk
😉
Ciao Rocco, mi fà piacere che tu abbia apprezzato il mio articolo.
Il modulo relè che hai visto è davvero ottimo in quanto oltre ad occupare pochissimo spazio visto che è molto compatto permette di gestire carichi fino a 250VAC 10A, cioè se non mi sbaglio circa 2500W.
Perciò può essere gestito qualunque carico.
Riguardo al tuo progetto:
Davvero molto, molto interessante: non posso che farti i miei Complimenti 🙂
Io sto realizzando la stessa cosa che ho fatto in quest’articolo tramite arduino in altre tre versioni:
– Tramite onde radio
– tramite bluettoth
– tramite Internet
Insomma, mi sbizzarrisco un pò cercando di fare qualcosa di utile.
Sarebbe bello unire tutto quanto.
Buona serata,
Ivan
Salve,
ho trovato questo progetto molto interessante e (subito) ho provato a realizzarlo 🙂
A lavoro ultimato ho però riscontrato un problema con la 220. Ovvero, collegando una lampada al relè (sempre comandato dall'IR), una volta accesa, è come se il ricevitore IR si inibisse, non riceve più segnali dal telecomando…e ovviamente mi impedisce di spegnerla.
Va da dire che questo problema mi capita solo con apparecchi collegati alla 220…ho provato a collegare circuiti alimentati da bassi voltaggi in continua e il tutto funziona perfettamente…
a qualcuno è capitato un problema simile?
Ciao, non so proprio cosa dirti…
Puoi effettuare una prova:
al sensore IR collega una resistenza ed un condensatore come ha fatto Adrirobot Quì
Fammi sapere 😉
collegato ma niente…
non so proprio da cosa possa dipendere…proverò col controllo blue 🙁
PROBLEMA RISOLTO!
il carico collegato al relè era una lampadina fluorescente posizionata sullo stesso piano del circuito e, emettendo un grande quantitativo di segnali nell'infrarosso, disturbava il ricevitore
grazie cmq! 😉
Ottimo! 🙂