Tutorial : Descodificando Controles Remotos - infravermelho

Sempre me interessei por controles remotos. Os mais usados em aparelhos eletrônicos(TVs, sons, etc) são os que usam a luz infravermelha para transmitir comandos. Tem um alcance de alguns metros, são imunes à interferências e são direcionais. 

O transmissor modula pulsos digitais com uma frequência específica. A frequência mais comum é de 38Khz, mas podem ser usadas também 36KHz, 40KHz e outras. O receptor amplifica os sinais, filtra a faixa de frequência desejada e separa o sinal digital.

Nesse tutorial usei o controle remoto da TV Digital da marca LG:

(ele esta desmontado para verem o interior dele - teclado, LED infravermelho e o chip ADAM 2420PG.

Vejam o data sheet do chip: 24P20%20LG%20remote%20control.pdf

Para melhor entender como funciona o Controle remoto da LG :

São enviados 32 bits de informação:  os primeiro dois Bytes (16 bits) identificam o fabricante LG e o aparelho (por exemplo TV). Os terceiro Byte é o comando e o quarto byte é o mesmo comando, mas com os bits invertidos para conferência.

LG%20IR%20code%20list.pdf

Usei o circuito com o descodificador de Infravermelho e acrescentei um transistor para inverter o pulso.

Decoder IR : 

Exibições: 41462

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Johnny Guedes Servilo em 28 fevereiro 2014 às 11:57

Exatamente, porém se realmente só puder utilizar a porta 13 não tem como eu separar os comandos dados ao LED's e por outro lado se puder utilizar outra porta vou acabar destinando muitas delas para esse fim. 

Comentário de José Gustavo Abreu Murta em 28 fevereiro 2014 às 10:59

Ou então coloca um led infravermelho na frente de cada uma. Acionando cada led poderá controlar as TVs separadamente, desde que um LED IR não interfira no outro.

Comentário de José Gustavo Abreu Murta em 28 fevereiro 2014 às 10:57

Não tem jeito. Se tiver duas TVs LG na mesma sala e usar o botão de ligar no controle remoto, todas duas irão ligar.

O sinal enviado pelo controle remoto tem um campo de registro para o tipo de aparelho e não um ID para cada aparelho.

Comentário de Johnny Guedes Servilo em 28 fevereiro 2014 às 8:43

José Gustavo, pelo que eu tenho pesquisado e até no teste que eu fiz parece que a emissão de comando só dá certo utilizando a porta 13. O meu problema é o seguinte se eu fizer com que todos os aparelhos recebem comandos desta porta pode acontecer de dois ou mais aparelhos receberem o código certo. Exemplo: Duas tvs com da mesma marca. Como posso filtrar isso?

Comentário de José Gustavo Abreu Murta em 27 fevereiro 2014 às 19:07

Johnny, não entendi bem a sua pergunta.

Você quer controlar varios dispositivos usando uma porta (por exemplo porta 13). 

É só emitir cada código para cada aparelho. 

Comentário de Johnny Guedes Servilo em 27 fevereiro 2014 às 11:52

Ótimo tutorial, estou fazendo um projeto de automação onde usarei a decodificação de alguns controles para controlar alguns dispositivos. Estou usando o arduino Mega e só consigo mandar os comandos para o emissor IR pela porta 13, você sabe como posso controlar vários dispositivos utilizando só essa porta? 

Comentário de José Gustavo Abreu Murta em 24 janeiro 2014 às 13:09

Para facilitar a compreensão do crircuito da foto:

- fios vermelhos conectam ao +5V

- fios pretos para o terra (GND) 

- Fio verde conecta o coletor do  transistor à entrada digital 2 (pino 2)  do Arduino 2009.

- Resistor 10K conecta a siada do  sensor IR à base do transistor.

- Resistor 4,7K conecta o coletor do transistor ao +5V.

Pinagem do transistor BC548:

Comentário de José Gustavo Abreu Murta em 29 dezembro 2013 às 8:36

Para que estiver interessado em outros comandos da TV LG .

Esse manual tem referência também pela interface RS232 da TV LG.

Muito bom !

http://www.proaudioinc.com/Dealer_Area/RS232.pdf

Veja alguns comandos decodificados em hexadecimal:

A LG usa o formato da NEC. 

Comentário de José Gustavo Abreu Murta em 26 dezembro 2013 às 7:49
Comentário de Carlos Victor em 25 dezembro 2013 às 22:04

Amigo, como faço para ler os dados recebidos no arduino e executar uma função para cada um comando ?

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço