Newsgroup: it.hobby.elettronica.digitale
Titolo: Integrato per codici infrarossi

Ciao,
 
ho la necessità di clonare la funzione di alcuni tasti (5 / 6 max)  di telecomandi tv,
per poi utilizzarli in una applicazione che dovro' realizzare.
Conoscete qualche integrato che mi conseta di fare cio' ?
 
Claudio 
 
 


Normalmente si usa un microcontrollore seppur minimo ma occorre scrivere il firmware di emulazione.
Se può interessarti, in passato ho sviluppato su ATtiny2313 (trasportabilissimo però su altri micro AVR) proprio un emulatore di telecomando in remoto ma è possibile adattare ad hoc il software per la tua applicazione.
In particolare il mio sviluppo riceve il codice del tasto via radio (433.92 MHz) e simultaneamente emette il codice IR.
Nulla vieta di sostituire l'interfaccia RF con semplici input digitali o altro di più specifico.
Per grabbare i codici dei telecomandi è sufficiente la scheda sonora del PC, un minimo circuitino d'interfaccia, un oscilloscopio (per vedere la frequenza della portante IR che ouò variare dai 36KHz fino ai 40KHz e più) ed un software free di wave editing.
 
Piccio.

 Per grabbare i codici dei telecomandi è sufficiente la scheda sonora del PC, un minimo circuitino d'interfaccia, un oscilloscopio (per vedere la frequenza della portante IR che ouò variare dai 36KHz fino ai 40KHz e più) ed un software free di wave editing.
 
Potresti, per favore, dettagliare meglio ? Grazie.
 
 
 
-- 
Mai mettersi a discutere con un idiota:
- prima ti porta al suo livello e poi ti batte con l'esperienza;
- chi ascolta potrebbe non capire la differenza.
 

> Potresti, per favore, dettagliare meglio ? Grazie.
 
Di ricevitori IR analogico ne trovi a bizzeffe , poi lo attacchi alla porta mic del pc  e lanci audacity,
setti 192000 come campionamento (ormai lo supportano anche le pennette cinesi usb da 7 euro)  e ti spassi a vedere
la forma d'onda.
 
Non so se esistono software di post analisi via file wav ma il tutto e' abbastanza semplice,
anche perche' i telecomandi ir utilizzano microcontrollori loro stessi e quindi spesso hanno temporizzazioni che sono mutipli o frazioni
degli stessi numeri (8 4 2 Mhz diviso 8 16 32 ecc ecc).
 
 
Giulia
 
 

 Normalmente si usa un microcontrollore seppur minimo ma occorre scrivere il >firmware di emulazione.
 
In buona sostanza qualcosa di pronto non c'è ...
Io ho dato un occhiata in rete e nella migliore delle ipotesi, se qualcosa esce, è sempre vincolato ad una codifica, tipo  rc5/6 , nec, ecc. 
io invece cerco qualcosa che non sia legato al tipo di codice.
 
Comunque mi chiedevo:
nell'ipotesi che dovessi approdare al micro (altra odissea),
se ipotizzassi di campionare  3/400 mS di trasmissione ir
del tasto, andandomi a memorizzare i vari tempi dei vari bit,
per poi riprodurlo al bisogno, secondo te/voi funzionerebbe ?

>>>>>>> Lascia perdere i micro e' roba per esperti ...
Se devi clonare i tasti di un telecomando che usa il protocollo RC5  puoi 
usare il SAA3010
se invece devi clonare i tasti di un telecomando con protocollo NEC puoi 
usare il upd6120
saluti
 
 

 per poi riprodurlo al bisogno, secondo te/voi funzionerebbe ?
 
In teoria sì ma dipende dal codice.
Alcuni codici vengono emessi finché si tiene premuto il tasto (volume, zoom, ecc) poiché devono incrementare/decrementare dei parametri.
Altri codici si limitano a 3-5 burst di codice anche se il tasto si tiene premuto (On/Off, cambio canale, REC, ecc).
Alcune codifiche emettono solo un codice seguito da un treno di impulsi di "mantenimento".
L'auto-learn per campionamento va curato tenendo conto di questi elementi e 400ms non sono tanti visto che tra due codici la pausa è sull'ordine dei 100ms.
Il software che ho sviluppato emula vari protocolli e si basa su tabelle e ogni tabella (che corrisponde ad un solo tasto) occupa 32 byte.
Inoltre ho la possibilità di emettere con diversi standard nella stessa sessione per comandare più di un oggetto (TV e DVD ad esempio).
Campionando alla bruta potresti necessitare di oltre 100 bytes per un singolo tasto: Panasonic usa 48 bit per le telecamere e ogni bit occupa 2 byte. Aggiungi header, start_bit, stop_bit, pausa intercarattere, numero di ripetizioni codice, frequenza portante e chi più ne ha più ne metta.
Minimo devi riservare 800-1000 byte di memoria per 6 tasti.
Col software in assembly te la cavi con altri 200-400 byte (senza funzioni particolari) quindi dovrai impiegare un micro con almeno 2K di FLASH ma mi sentirei più sicuro con 4K.
 
Piccio.

 se invece devi clonare i tasti di un telecomando con protocollo NEC puoi usare il upd6120
 
Grazie per il suggerimento,
ma sto cercando di puntare a qualcosa che mi
svincoli dal codice usato dal telecomando.
Cl@udio
 
 

 Il software che ho sviluppato emula vari protocolli e si basa
Il micro che tu hai programmato con che linguaggio lo hai fatto ?
Come hai gestito la parte input ? L'emulazione della pigiata tasto,
giusto per capirci, come gli arriva ?
 
Ti chiedo, inoltre,
in base alla tua esperienza, la durata massima (grosso modo) di un bit che tempi puo' avere ?
E' ragionevole ipotizzare tempi non superiori a 10mS ?
 
 
----------------------------------------------------------------
 
 
Ne approfitto per chiederti/vi un chiarimento:
leggendo qua e la, mi è sembrato di capire che, i codici trasmessi dal
tx al tv, vadano modulati, pertanto debbano viaggiare con una portante.
Ma a questo punto ho un dubbio: poniamo caso che debba trasmettere
i codici per un determinato tasto, come va  approntata la fase di trasmissione ?
 
Opzioni:
1) Inizio la tx con una portante (ad onda quadra), per interromperla nel
 momento in cui invio i codici.
Quindi avrei:  PORTANTE + CODICI + PORTANTE + CODICI  ...
 
oppure
 
2) Da un porta_1 del pic trasmetto la portante, mentre dalla porta_2 i codici,
quindi avrei:
porta_1  =>  PORTANTE (fissa)
porta-2  =>  CODICE
In questo caso ci sarebbe una doppia trasmissione in simultanea, giusto ?
 
Quale delle due opzioni è quella giusta ?
Oppure, non è nessuna delle due, perchè ne esiste
una terza, che non ho considerato.
Come funzionerebbe la trasmissione in questo caso ?
 
Grazie,
Claudio 
 
 

>>> trasmette in formato "Manchester"
saluti 
 
 

 una terza, che non ho considerato.
 
Io personalmente ho usato un timer del uC ad 8 bit per generare la portante.
Lo accendo e spengo in modo da ottenere la modulazione ed evito così l'AND esterno.
Alcuni uC hanno moduli preposti proprio per l'IR ma se ti avanza un timerino risolvi in modo brillante.
In una vecchia versione con 4 tasti generavo la portante e la modulazione interamente via software tramite ritardi calcolati in funzione del tempo di esecuzione delle istruzioni.
 
Comunque se non vuoi impazzire posso vedere di mettere insieme un uC in grado di fare ciò che ti serve ma naturalmente mi occorrono i campionamenti dei codici (44100 sample/sec, mono, 8 bit) ed altri dettagli sull'hardware.
Magari per quantità superiori a qualche decina però perché anche se si ha della pappa pronta occorrono sempre ore ed ore di art-attak per mettere insieme qualcosa di decoroso... ;)
Rigorosamente su uC AVR.
 
Piccio.

 Comunque se non vuoi impazzire posso vedere di mettere...
ti ringrazio per la disponibilità, ma per me vuole essere anche
occasione per arrivarci (se ci arrivero'), da solo ...
Quando affronto tematiche nuove, l'occasione è sempre gradita
per apprendere concetti che non conosco.
 
Cl@udio