Home › Tag Archives › infravermelho

Receptores de controle remoto infravermelho – Cuidados com alimentação

Vários fabricantes de receptores IR recomendam em seus datasheets algo assim (exemplo do datasheet do Everlight IRM-8601):

InfraredReceiver_LowPassFilter_Example_automalabs.com.brNote o resistor de 47R e o capacitor de 47uF. Eles formam um filtro “passa-baixas”* cuja função é impedir que interferência de alta freqüência que venha pela alimentação chegue ao sensor. Essa interferência tanto pode ocorrer “naturalmente” pelo uso de uma fonte chaveada ruidosa quanto ser inserida pelo seu próprio projeto à medida que você insere componentes. Você pode até fazer o seu projeto funcionar normalmente em bancada sem o filtro, mas o risco de que ele acabe funcionando erraticamente depois não vale a economia dos componentes.

(*) Um filtro passa-baixas é o filtro que deixa passar todas as frequências abaixo da frequência de corte e atenua todas as frequências acima.

O filtro precisa estar tão perto do receptor IR quanto possível.

Já o resistor >10K entre VCC e a saída é opcional mesmo.

Este outro exemplo vem do datasheet do Vishay TSOP 1738:

InfraredReceiver_LowPassFilter_ExampleVishay_automalabs.com.br

Este outro do mesmo datasheet, em uma revisão mais recente (rev10):

InfraredReceiver_LowPassFilter_ExampleVishayTSOP17_rev10_automalabs.com.br

E este outro é do Vishay TSOP582:

InfraredReceiver_LowPassFilter_ExampleVishayTSOP582_automalabs.com.br

Valores de resistor e capacitor são diferentes, mas o resultado da maioria é equivalente. Se você usar um calculador de filtro passa baixas verá que o primeiro exemplo (do IRM) tem uma frequência de corte de 72.05Hz, o segundo de 102.61Hz e o terceiro de 338.63Hz. A diferença entre eles é irrelevante porque estão bem abaixo dos vários kHz que seriam um problema. Já o quarto exemplo dá uma frequência de corte (“typical values”) de 15915.49HZ, o que parece estranho. Meu conselho é que siga a recomendação do datasheet do seu receptor específico ou, na falta de um, use um dos três primeiros exemplos.

Sensor infravermelho refletivo

  • Alimentação 5V;
  • Corrente 100mA (especificado pelo fabricante);
  • Lógica negativa – Saída 0V quando o sensor está atuado (a indústria chama de “sensor NPN”);
  • LED indicador de atuação;
  • Alcance ajustável de 3 a 50cm por trimpot;
  • Razoavelmente direcional. Colocado sobre uma mesa, não detecta a mesa mesmo com o ajuste  para cerca de 30cm. Para distâncias maiores ele começa a “ver” a mesa. 

Este sensor não requer arduino ou outro microcontrolador para ser usado. Por exemplo, ele pode ser conectado diretamente a qualquer uma das entradas dos módulos de relês que ofereço. Mas é claro que se algum condicionamento do sinal for necessário (um retardo, por exemplo), o arduino torna-se util.

Kit de controle remoto infravermelho

infrared_remote_kit_IMG_1083_automalabs.com.br

Atenção

Ao trabalhar com o receptor IR, dois cuidados precisam ser tomados:

  • Providencie alimentação extra para o Arduino. Apenas alimentá-lo pela USB pode não ser suficiente;
  • Abrigue o receptor da luz ambiente. Faça com que ele fique “na sombra”. Iluminação fluorescente, principalmente eletrônica, pode interferir com o funcionamento do receptor. Perceba que em quase todo aparelho que usa IR o receptor fica oculto atrás de um “filtro” escuro e muitas vezes recuado. Isso é para evitar que ele veja a luz ambiente.

Nos dois casos acima, o sintoma de problemas é que o comando falha 50% das vezes ou mais.

Seu transmissor pode eventualmente ser entregue ainda com o isolador no compartimento de bateria. É uma pequena lâmina de plástico que fica saliente. Retire totalmente (pode jogar fora) para que a bateria faça contato. Isso é colocado na fábrica para evitar que a bateria descarregue se um botão ficar pressionado durante o transporte.

Para testar o transmissor, use uma câmera digital qualquer. Aponte o controle para a câmera e veja se o LED está acendendo quando você aperta um botão.

Tabela de códigos do transmissor (códigos NEC de 32 bits compatíveis com a biblioteca IRremote):

  • FFA25D = Power
  • FF629D = Mode
  • FFE21D = Mute
  • FF22DD = Play/Pause
  • FF02FD = Previous
  • FFC23D = Next
  • FFE01F = EQ
  • FFA857 = “-“
  • FF906F = “+”
  • FF6897 = 0
  • FF9867 = Repeat
  • FFB04F = USB/SD
  • FF30CF = 1
  • FF18E7 = 2
  • FF7A85 = 3
  • FF10EF = 4
  • FF38C7 = 5
  • FF5AA5 = 6
  • FF42BD = 7
  • FF4AB5 = 8
  • FF52AD = 9

O transmissor usa “repeat codes”. Para que o Arduino detecte que botão você apertou e segurou é necessário que seu sketch tenha decodificado com sucesso a primeira transmissão e ao receber os repeat codes “enxergue-os” como o código anterior. Sketches que não sabem lidar com repeat codes dirão que o código recebido é “FFFFFF”.

Explicando de outra forma:

Quando você aperta e segura um botão do remoto, ele transmite uma vez o código correspondente à tecla e depois fica transmitindo o “repeat code” até você soltar o botão. Se o arduino perder essa primeira transmissão, não há como ele identificar que botão você está segurando, por mais que você aponte para o receptor.

O que estou explicando aqui aplica-se ao transmissor fornecido no kit, que usa um protocolo parecido com JVC e NEC.

Datasheet do receptor IRM8601

IRM8601 - Infrared Remote Control Receiver
IRM8601 - Infrared Remote Control Receiver
IRM8601 - Infrared remote control receiver.pdf
242.4 KiB
835 Downloads
Detalhes...