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/