O circuito integrado SP4001 da Innotech Systems consiste num sistema de controle remoto universal que possibilita o controle de dispositivos a partir da porta serial de um computador. Veja neste artigo o que este novo componente faz e um circuito típico de aplicação.
O ISI SP4001 (Serial Port Universal Remote Integrated Circuit (IR Engine)) proporciona um meio conveniente de controlar dispositivos diversos como televisores, videocassetes, comutadores de cabos etc., a partir de um computador ou ainda de um microcontrolador.
O ISI Serial Port Universal Remote Integrated Circuit converte os dados de uma porta serial em sinais de controle infravermelhos excitando diretamente um LED emissor.
O SP4001 contém um conjunto de códigos de controle que podem ser utilizados para proporcionar o modo desejado de controle.
Na figura 1 temos a pinagem do SP4001.
![](/images/stories/componentes/com0412a_01.jpg)
Características:
* Solução totalmente integrado
* Controla eletrodomésticos e eletrônicos a partir de PC ou microcontrolador
* Usa interface serial via UART convencional
* Converte dados seriais em IR (infravermelho)
* Possui saída para LED indicador externo
PROGRAMANDO O SP4001
O SP4001 é controlado por uma interface serial bidirecional full-duplex com uma velocidade de 2400 baud e 8 bits de dados sem paridade.
Um computador mestre pode manipular o sistema escrevendo comandos que simulam o pressionamento de botões. O circuito responde a todos os comandos com uma indicação de seu estado.
Para manter a confiabilidade do sistema, o circuito não responde a nenhum comando até que o anterior seja executado.
O byte de comando consiste em 7 bits de varredura e um bit que indica o pressionamento do botão de comando.
De modo a se conseguir capacidade máxima de 128 botões, o bit de botão pressionado tem diversas finalidades:
* Proporciona um meio de se ter um botão pressionado por um tempo longo arbitrário.
* Proporciona um mecanismo de controle de fluxo entre dois processadores assíncronos. Alguns comandos são executados muito rapidamente (décimos de microssegundos) e alguns lentamente (centésimos de milissegundos).
* Proporciona um meio de distinguir quando dois botões forem pressionados simultaneamente.
Os comandos são enviados ao sistema IR na forma de códigos de varredura, de teclado virtuais. Os 7 bits menos significativos do comando são o código de varredura, o que proporciona ao sistema 128 botões que podem ser pressionados virtualmente.
O engenho de controle pode ser configurado de modo a transmitir comandos IR indefinidamente, ou ainda pode ser instruído de modo a transmitir uma mensagem um certo número de vezes e então parar.
Quando enviando um comando IR de comprimento indefinido, uma mensagem de status "transmitindo IR agora" é enviado no início do transmissão. Isso significa que deixando de pressionar o botão de comando, o sistema completa a transmissão e volta ao status inicial apropriado.
O sistema de envio de mensagens pode ser programados para que ela seja repetida de 1 a 8 vezes. Se o status 0 for programado neste código, o sistema envia a mensagem contínua, mesmo depois que o botão de comando deixe de ser pressionado.
Antes de enviar qualquer sinal IR, o circuito deve ser programado de acordo com o tipo de aplicação a ser controlada.
No datasheet disponível no site da Innotech Systems podem ser obtidas mais informações sobre este componente.
Na figura 2 temos um circuito de aplicação para o SP4001.
![](/images/stories/componentes/com0412a_02.jpg)
O transistor PN2222 é equivalente ao 2N2222. A velocidade de operação é determinada por um ressonador cerâmico ligado aos terminais de XTAL.