sábado, 14 de janeiro de 2012

IR - Infrared no Arduino


Uma biblioteca sensacional do Arduino  é a <IRremote.h> para sinais Infra Red. Vou passar a dica geral para a transmissão e para recepção. Na transmissão, o código para envio é bem simples:


#include <IRremote.h>
IRsend irsend;

void setup()
{
  Serial.begin(9600);
}

void loop() {
  if (Serial.read() != -1) {
    for (int i = 0; i < 3; i++) {
      irsend.sendSony(0xa90, 12); // Sony TV power code
      delay(100);
    }
  }
}


Lógico, é necessário conectar o LED de transmissão.


Agora a parte da recepção do sinal. Para conectar o sensor de recebimento use o seguinte esquema:


Para o recebimento do sinal o código:


#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}


Agora a dica principal. Ao invés de construir um sistema de transmissão é possível usar qualquer tipo de controle remoto. Para isso é necessário saber que código o controle transmite. Agora o mais sensacional, pesquisando na internet encontrei um site onde é possível saber o código de transmissão de qualquer controle remoto e com isso montar um sistema de automação.

Os arquivos estão no site abaixo, sugiro o donwload antes que esses documentos saiam do ar! As pastas estão separadas por fabricante!
http://lirc.sourceforge.net/remotes/


Mais detalhes sobre a biblioteca IR
http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html


Mais sobre IR

http://rudrigolima.wordpress.com/2011/03/01/usando-controle-remoto-ir-para-acionamentos/

3 comentários:

  1. ola amigo...

    sabes onde posso arrumar a biblioteca ir compativel com atmega8??

    obrigado!

    luis_lpc@hotmail.com

    ResponderExcluir
  2. O Iremote.h tem que funcionar no ATMega8. Você precisa configurar a IDE jogando as libs lá dentro.

    ResponderExcluir
  3. Muito Legal...
    o controle da minha TV (philips) envia codigos muito aleatórios... se eu clicar varias vezes por ex. no botão power.. ele nunca sai o mesmo código... e qdo faz a leitura ele aparece q eh tipo unknown(desconhecido)

    vc sabe oq pode ser?

    ResponderExcluir