Arduino e condizionatore

Ciao a tutti, ho un piccolo progetto di domotica in mente: controllare un condizionatore d'aria da uno smartphone (con android) collegato a internet e tramite arduino!

Il condizionatore ha un telecomando IR, e io vorrei copiare i codici che vengono inviati e riprodurli tramite un led ir collegato ad arduino... per la connessione seriale e per la programmazione del pc / smartphone non dovrei avere problemi.. ma avrei invece alcune domande sul funzionamento del telecomando.

Intanto, va bene un qualsiasi led IR? O devo capire qual è quello utilizzato dal telecomando? E poi.. tempo fà avevo un programma per smartphone che prendeva i codici dei telecomandi e permetteva di utilizzarli con i televisori. Con tutte le tv ha sempre fatto il suo lavoro, ma con il condizionatore non funzionava.. o meglio, sentivo un beep del condizionatore, ma il segnale non veniva interpretato correttamente. A cosa può essere dovuto?

Ciao e grazie a tutti per l'attenzione!

sperimenta un po con la libreria http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html e vedi se sopport il protocollo che usa il telecomando del Condizionatore. Ciao Uwe

Come sospettavo è un segnale diverso da quello dei televisori.. ho seguito il tuo consiglio e sono riuscito a leggere i segnali di un telecomando per tv, ma con quello del condizionatore leggo solo degli 0.. che posso fare?

smontare il telecomando ecollegare i pulsanto tramite optoisolatori ad arduino

supergiox: Come sospettavo è un segnale diverso da quello dei televisori.. ho seguito il tuo consiglio e sono riuscito a leggere i segnali di un telecomando per tv, ma con quello del condizionatore leggo solo degli 0.. che posso fare?

potrei dire una grandissima stupidaggine... quindi prendi quello che ti dico con le molle...

Da quello che ho capito la maggior parte dei telecomandi dei televisori usa una portante a 38Khz, quindi per arduino devi usare un ricevitore IR a 38Khz...

Se il telecomando del condizionatore avesse una portante a frequenza diversa??? Forse per questo decodifica 0, non riconoscendo iul tipo di telecomando o il tipo di portante... Ti servirebbe un ricevitore che funziona con un'altra portante compatibile con il telecomando...

Queste sono solo mie congetture, senza fondamento.. ma potresti indagare in questo senso :)

il metodo garinus funziona ma è "sporco", e supporto l'idea di dr4gone. Apri il telecomando/leggi il manuale, cerca di scoprire la frequenza del telecomando... potresti persino chiamare l'assistenza dicendogli che vuoi un altro telecomando ma non conosci la frequenza, se gentilmente te la possono fornire... inzomma usa un poco di ingegno. Poi prosegui esattamente come hai fatto con il telecomando. Intercetti i segnali dei pulsanti e poi fai in modo che arduino li trasmetta quando vuoi tu :)

vai in un negozio di condizionatori, avranno quei telecomandi da 5 euro programmabili? lo programmi e poi gli metti gli opto, così ti rimane il telecomando originale intero (anche io non l'avrei smontato avessi solo quello)

approfondendo la cosa... dato che in questi giorni sto smanettando anche io con gli infrarossi, credo di aver capito leggendo qui http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html che con questa libreria sono compresi solo i telecomandi (o meglio i protocolli) della NEC, SONY , SIRC, Philips RC5, Philips RC6, e il protocollo raw ( che non so cosa sia)

A sostegno di questa tesi, ho provato ad utilizzare dei telecomandi di 2 TV panasonic, e infatti non funzionano, danno sempre 0... Ci sarebbe il modo di aggiungere anche il protocollo della panasonic e di altri, bisogna invluderli nella libreria, io ho cercato di farlo, ma senza successo, ma sul blog di ken shirrif dov'è postata la libreria ci sono riusciti, sembra, e non capisco bene come.

Quindi per il tuo problema le cose sono 2, o fai come ha detto garinus, oppure vedi di che marca è il tuo telecomando, cerchi il protocollo relativo a quella marca e provi a implementarlo nella libreria ...

Grazie a tutti per i consigli molto validi! per quanto riguarda il metodo dell'optoisolatore al momento preferirei non usarlo perchè dispongo solo del telecomando originale.. ma è da tenere in considerazione nel caso trovassi un telecomando compatibile. Ho smontato il mio telecomando e mi aspettavo di trovare qualche integrato, visto che è presente un display e si possono regolare un pò di opzioni.. e invece ecco come è fatto: Ho provato a cercare qualcosa su internet ma al momento non ho trovato niente.. quindi mi sa che appena possibile contatterò l'assistenza.. Ah, nel caso non l'avessi detto, la marca del condizionatore è Sekom

EDIT: Una domanda da ignorante, cos'è quella cosa nera rotonda?

dr4gone, raw non è un protocolla, ma la sua assenza, tradotto letteramlmente infatti vuol dire "grezzo", quindi dovrebbe funzionare con qualsiasi telecomando

supergiox quella roba nera e tondo continene un integrato, ma non chiederemi perchè abbia quella forma :)

duque, i led infrarosso di solito son viola, il tuo mi pare blu, non è che è ultravioletto?

è blu.. ma sono blu anche quelli che ho comprato l'altro giorno in un negozio di elettronica nella mia città. In ogni caso con la fotocamera del mio cellulare riesco a vedere il led che si accende quando premo un tasto (però non so se i raggi UV si vedrebbero).

Una domanda da ignorante, cos'è quella cosa nera rotonda?

E' un chip coperto di resina, se non sbaglio la tecnologia si chiama die-attachment. Si vede che da bambino non smontavi mai i giocattoli :stuck_out_tongue_closed_eyes:

duque, i led infrarosso di solito son viola, il tuo mi pare blu, non è che è ultravioletto?

Possono essere anche blu, il package non c'entra e non credo esistano telecomandi (e ricevitori) uv.

Secondo me non dovrebbero normalmente esserci problemi nel rilevare il codice del telecomando, prova a riguardare le connessioni. Se hai un fototransistor o fotodiodo, scriviti uno sketchino che ti dica a che frequenza lavora. In genere vanno dai 36 KHz ai 40 KHz, che io sappia. Potresti fare di piu': smontare il ricevitore e collegare il tester tra il pin output del sensore e massa e misurare la tensione; con un 555 ben progettato, in modo da coprire il range (o con lo stesso arduino), alimenti un led ir variando la frequenza e tenendolo puntato verso il sensore; appena vedi che il sensore restituisce uscita alta, ti fermi e vedi con che frequenza stavi polarizzando il led; hai ottenuto la frequenza di lavoro del sensore.

EDIT: La circuiteria circostante non dovrebbe essere un problema. Il problema e' che non so che sensore c'e' nel ricevitore. Io parlo di sensori a tre terminali come quelli di cui si parla qui e poi non ricordo se funzionano a logica negata. Comunque dovresti capirlo facilmente.

Ciao superkulak, grazie per la risposta! :) Da piccolo smontavo tutto, e non ho detto di non averlo mai visto :P solo non ho mai capito a cosa servisse!

Comunque l'idea di misurare la tensione sul ricevitore mi sembra buona, il problema è smontare il condizionatore... dovrei spostare diversi mobili e preferirei evitare se possibile.. e per lo stesso motivo al momento non posso sapere quale sensore è montato.

Invece mi interesserebbe capire la frequenza di lavoro leggendo i segnali del telecomando. come posso fare? Io ho comprato questo sensore, ma da quello che ho capito funziona solo a 38khz.. quindi non credo che possa servirmi..

Hai detto che le possibili frequenze in genere variano tra 36khz e 40khz, ma sono multipli interi di 1khz? oppure assumono valori tipo 37.5khz?

supergiox: ... EDIT: Una domanda da ignorante, cos'è quella cosa nera rotonda?

È un modo economico per mettere il chip di silicio direttamente sulla scheda e collegarlo (bonding) con fili finnissimi tra chip e la scheda. Poi viene messo sopra una goccia di resina epossidrica nera per proteggere il tutto.

La tecnica si chiama chip on board (COB) http://www.empf.org/empfasis/dec04/improve1204.htm

Questa tecnica la vedi su dispositivi elettronici di basso prezzo che vengono prodotti in grande serie. Come anche i moduli display LCD.

Ciao Uwe

Penso che dipenda da chi produce il sensore. Posso dirti che i Vishay che conosco, vanno da 30 KHz a 56 KHz, ricordavo male il range che e' [u]centrato[/u] sui 40 KHz. Le frequenze disponibili, per questi sensori, non so per altri, sono:

  • 30
  • 33
  • 36
  • 36.7
  • 38
  • 40
  • 56

(KHz)

Uwe sei meglio di wikipedia :P Allora ecco da dove viene tutta la logica del telecomando!

In teoria, avendo a disposizione un bel pò di sensori che lavorano a frequenze diverse potrei procedere a tentativi... ma pensandoci forse è più semplice spostare l'armadio e smontare il condizionatore!

Non esiste un ricevitore "universale"? Intanto ho inviato un'email alla Sekom, ma ho i miei dubbi che rispondano...

ciao supergiox

Non mi ricordo piú dove l' ho letto ma credo che il telecomando spedisca non ogni tasto premuto ma ogni volta tutti i parametri al condizionatore.

ciao Uwe

uwefed: ciao supergiox

Non mi ricordo piú dove l' ho letto ma credo che il telecomando spedisca non ogni tasto premuto ma ogni volta tutti i parametri al condizionatore.

ciao Uwe

Sisi questa cosa anche a me non mi suona nuova, e la capisci da una semplice cosa:

Sul telecomando di un condizionatore spesso/sempre hai delle freccette che ti permettono di alzare abbassare la temperatura. Supponiamo ora di stare a 20ºC e premere due volte la freccetta SU , arriveremo a 22ºC ( se hai puntato il telecomando al ricevitore). Se poi premi altre 2 volte SU senza puntare il telecomando al ricevitore, sul display del telecomando la temperatura cambia, ma il condizionatore non rileva il cambiamento a 24º C . Se ora punti il telecomando e premi 2 volte SU la temperatura, se il condizionatore leggesse solo i singoli input, andrebbe a 24º C , invece (per quello che diceva uwe, ovvero che i telecomandi mandano ogni volta tutti i parametri, sicuramente i condizionatori di ultima generazione) la temperatura del condizionatore sarà impostata magicamente a 26ºC!!!

Spero di non averti confuso ... Ciao! :)

Stavo facendo proprio queste prove, però con la velocità della ventola che è più facile da "misurare" e (purtroppo) ho capito che vengono inviati i parametri impostati... quindi la situazione è più complessa del previsto! Dopo che avrò risolto il primo problema proverò a fare un pò di reverse engineering :S

Esistono i "ricevitori universali" e si chiamano fotodiodi o fototransistor. Ci sono anche specifici per l'ir, ma ti sconsiglio vivamente questa via.